




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络,如有侵权,请联系网站删除目录1 绪 论12 系统分析12.1 设计目的12.2选择开发工具13学生管理系统设计231需求分析23.2 系统功能分析24学生管理系统功能实现24.1.功能设计34.2 系统实现(程序代码)34.2.1主菜单34.2.2登陆口令功能44.2.3创建职工信息功能54.2.4查询功能64.2.5修改功能94.2.6调整工资功能114.2.7删除功能134.2.8添加功能164.2.9保存文件功能174.2.10读取文件功能184.2.11输出功能204.2.12退出功能205系统应用21总结22致 谢23参考文献241 绪 论 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。公司最重要的就是对职工信息进行操作化管理,职工信息是一种比较复杂、繁琐的管理系统,对于复杂的信息管理,计算机能够充分发挥它的优越性。数据处理手工操作,工作量大,出错率高,出错后不易更改。公司学校采取手工方式对职工信息的查询、储存、添加、修改、删除情况进行人工管理,由于信息比较多,职工信息的管理工作混乱而又复杂,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。基于此问题,本次实训设计选择建立一个职工信息管理系统,使职工信息系统规范化,系统化,程序化,避免职工管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询职工情况。2 系统分析2.1 设计目的本软件是为职工信息开发的职工信息管理系统软件。该软件结合当前的工作流程,职工信息管理、查询、修改、添加、删除等方面提供完全的计算机职工信息化管理。手工的记录与查询,是一项非常繁重而枯燥的劳动,耗费许多人力和物力,而且会因人的情绪烦躁而出现失误,因此在计算机飞速发展的今天,应用计算机技术实现学生信息的计算机管理是可行而必要的工作 。本系统设计旨在对公司信息实现计算机管理,提高工作效率,提高管理水平。2.2选择开发工具本系统采用开发环境和工具:Microsoft Visual C+ 6.0编程设计语言。 原因在于:1 C是结构式语言(1)结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。数据结构丰富(2)C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。3学生管理系统设计31需求分析根据题目需要,由于职工信息需要存放在文件中,所以应提供文件输入、输出等操作。应提供查找、修改、删除、添加、调整工资管理等功能。职工信息管系统需要满足三方面需求,这三个方面分别是职工信息查询、修改、添加、删除管理员管理和系统管理。职工信息查询者的需求是查询系统所存的信息、个人信息情况及个人信息的修改;信息管理员对职工信息查询和修改要求进行操作,系统管理人员的功能最为复杂,包括对工资调整、信息更新、查询、添加等进行系统状态的查看、维护。3.2 系统功能分析经过实际考察与分析,典型的职工信息管理系统主要应具有以下功能: 创建职工信息功能:包括职工姓名、年龄、工龄、性别、婚姻状况、是否在职的录入功能。 查询功能:按姓名、工龄、级别进行查询职工基本信息。 修改功能:按姓名、工龄、级别进行职工个人信息的修改。 添加功能:成功添加新进员工的个人信息。 删除功能:按姓名、工龄、级别将离职员工的个人信息删除 调整工资功能:按员工级别进行工资调整。 保存文件功能:将职工信息保存。 读取文件功能:读取职工信息。 输出功能:将更新的职工信息打印。 退出功能:退出程序.4学生管理系统功能实现在实现过程中,首先根据系统功能分析设计出需要的程序代码。再实现各个功能模块时,也采用先模块后系统集成的方式,再实现各个系统功能模块分别独立设计和调试,在创建系统主窗体时才将各个功能模块通过主窗体的菜单系统集成到一起,最后进行系统整体设计和调试。4.1.功能设计 创建职工信息功能:职工基本信息的录入。 登陆口令功能:用户输入口令后,程序对其进行检查。 查询功能:按姓名、工龄、级别查询职工基本信息察看是否正确。 修改功能:按姓名、工龄、级别修改职工个人信息的。 添加功能:成功添加新进员工的个人信息。 删除功能:按姓名、工龄、级别将离职员工的个人信息删除 调整工资功能:按员工级别进行工资调整。 保存文件功能:将已有职工信息进行文件保存便于下次使用。 读取文件功能:直接调用已有的职工信息。 输出功能:将更新的职工信息打印。 退出功能:退出程序.4.2 系统实现(程序代码) 4.2.1主菜单编程实现系统初始界面程序代码:int xitongjiemian() int n; cout *endl; cout * *endl; cout * 欢迎使用本职工信息管理系统*endl; cout * 1.创建职工信息 2.查询职工信息 *endl; cout * 3.修改职工信息 4.添加职工信息 *endl;cout * 5.删除职工信息 6.调整工资 *endl;cout * 7.保存职工信息 8.读取职工信息 *endl; cout * 9.打印职工信息 10.退出 *endl;cout * *endl; cout * 请输入相应编号: *endl; cout * *endl; cout *endl;coutn;return n;运行结果图4主菜单功能图4.2.2登陆口令功能 登陆口令功能:用户输入口令后,程序对其进行检查。功能分析:提示用户输入口令,用户输入口令后,程序对其进行检查,用户的口令输入次数有限制,连续输入错误口令超过三次就自动关闭程序。程序代码:int password() char p20; int n=0; cout请输入登录口令:p; if(strcmp(p,abcd)=0) cout输入口令正确!endl;return 1; else cout输入口令有误,请重新输入!endl;n+;if(n=3) cout已输入3次,您无权进行操作!endl; exit(1); 运行结果: 图4-2-2登陆口令功能图4.2.3创建职工信息功能 创建职工信息功能:职工基本信息的录入。功能分析:职工信息包括姓名(name)、年龄(age)、工龄(worktime)、性别(sex)和婚姻状况(marrige)、级别(grade:1-5级)、工资(wage)、是否在职(tired)等信息。程序代码:worker *chuangjian(worker *ww,int n)int m; for(m=0;mn;m+) cout 姓名 年龄 工龄 性别 婚姻状况 级别 工资 是否在职 ; cinwwm.age; cinwwm.worktime; cinwwm.sex; cinwwm.marrige; cinwwm.grade; cinwwm.wage; cinwwm.tired;运行结果图3创建职工信息功能图4.2.4查询功能 查询功能:按姓名、工龄、级别查询职工基本信息察看是否正确。在此代码中出现的问题:只能查询第一位职工信息。功能选择字符于宗职工人数n 矛盾,解决方法,重新定义一个功能字符:“int m”。程序代码:void chaxun(worker *ww,int n)int m; cout *endl; cout * *endl; cout * 1.按姓名查询 2.按工龄查询 *endl; cout * 3.按级别查询 4. 退出 *endl; cout * *endl; cout * 请输入相应编号: *endl; cout * *endl; cout *endl; coutm; int i,flag=0; char name20; int worktime; int grade; switch(m) case 1: coutname;for(i=0;in;i+)if(strcmp(,name)=0) cout第i+1个职工信息:endl; cout姓名:endl; cout年龄:wwi.ageendl; cout工龄:wwi.worktimeendl; cout性别:; if(wwi.sex=x) cout男endl; else cout女endl; cout婚姻状况:; if(wwi.marrige=1) cout已婚endl; else cout未婚endl; cout级别:wwi.gradeendl; cout工资:wwi.wageendl; cout是否在职:; if(wwi.tired=1) cout在职endl; else cout离职endl; flag=1;if(flag=0)cout不存在符合条件的职工信息!endl;break; case 2: /按工龄查询,实现代码略,与按姓名查询类似 case 3: /按级别查询,实现代码略,与按姓名查询类似 case 4: return; default:cout输入有误,请重新进行选择!wwn+;解决方法:;程序代码:void xiugai(worker *ww,int n) int m; cout *endl; cout * *endl; cout * 1.按姓名修改 2.按工龄修改 *endl; cout * 3.按级别修改 4. 退出 *endl; cout * *endl; cout * 请输入相应编号: *endl; cout * *endl; cout *endl; coutm; int i,flag=0; char name20; char x; int worktime; int grade; switch(m) case 1: coutname;for(i=0;in;i+)if(strcmp(,name)=0) cout 姓名 年龄 工龄 性别 婚姻状况 级别 工资 是否在职endl; coutsetw(5); coutsetw(5)wwi.age; coutsetw(5)wwi.worktime; coutsetw(5)wwi.sex; coutsetw(5)wwi.marrige; coutsetw(5)wwi.grade; coutsetw(5)wwi.wage; coutsetw(5)wwi.tiredendl; coutx; if(x=y|x=Y) cout请输入修改信息:endl; cout 姓名 年龄 工龄 性别 婚姻状况 级别 工资 是否在职 ; cinwwi.age; cinwwi.worktime; cinwwi.sex; cinwwi.marrige; cinwwi.grade; cinwwi.wage; cinwwi.tired; flag=1; if(flag=0)cout不存在符合条件的职工信息!endl;break; case 2:/按工龄修改 ,实现代码略,与按姓名修改类似case 3:. /按级别修改 ,实现代码略,与按姓名修改类似 case 4: return ; default:cout输入有误,请重新进行选择!endl; 运行结果图5修改功能图4.2.6调整工资功能 调整工资功能:按员工级别进行工资调整。 功能分析:对职工工资进行调整的程序规定如下:退休职工增加工资50元,在职职工1-5级的工资分别增加20,40,60,80,100。程序代码:void gongzitiaozheng(worker *ww,int n) int i; for(i=0;in;i+) if(wwi.tired=0) wwi.wage+=50; else switch(wwi.grade) case 1: wwi.wage+=20; break; case 2: wwi.wage+=40; break; case 3: wwi.wage+=60; break; case 4: wwi.wage+=80; break; case 5: wwi.wage+=100; break; 运行结果 图6调整工资功能图4.2.7删除功能 删除功能:按姓名、工龄、级别将离职员工的个人信息删除程序代码:在此代码中出现的问题:删除信息后无法显示更新后的信息表。问题原因:worker *Delete(worker *ww,int n)解决方法:worker *Delete(worker *ww,int &n)程序代码:worker *Deletename(worker *ww,int &n) char name10; int i,k,flag=0; char x; coutname; i=0; while(in) if(strcmp(,name)=0) cout姓名:endl; cout年龄:wwi.ageendl; cout工龄:wwi.worktimeendl; cout性别:; if(wwi.sex=x) cout男endl; else cout女endl; cout婚姻状况:; if(wwi.marrige=1) cout已婚endl; else cout未婚endl; cout级别:wwi.gradeendl; cout工资:wwi.wageendl; cout是否在职:; if(wwi.tired=1) cout在职endl; else cout离职endl; coutx; if(x=y|x=Y) for(k=i+1;kn;k+)wwk-1=wwk;n-; flag=1; i+; if(flag=0)cout不存在符合条件的职工信息!endl; return ww;worker *Deletejibie(worker *ww,int &n)/按级别删除,实现代码略,与按姓名删除类似worker *Deletegongling(worker *ww,int &n) /按工龄删除,实现代码略,与按姓名删除类似worker *Delete(worker *ww,int &n) int m; cout *endl; cout * *endl; cout * 1.按姓名删除 2.按工龄删除 *endl; cout * 3.按级别删除 4. 退出 *endl; cout * *endl; cout * 请输入相应编号: *endl; cout * *endl; cout *endl; coutm; switch(m) case 1: ww=Deletename(ww,n); break; case 2: ww=Deletegongling(ww,n); break; case 3: ww=Deletejibie(ww,n); break; case 4: return ww; default:cout输入有误,请重新进行选择!endl; return ww;运行结果图7删除功能图4.2.8添加功能 添加功能:成功添加新进员工的个人信息。在此代码中遇到的问题:无法显示添加后信息。问题原因: worker *insert(worker *ww,int n) 解决方法:worker *insert(worker *ww,int *n) for循环外加“*n=*n+m;”语句。程序代码:worker *insert(worker *ww,int *n)int i,m;coutm; for(i=0;im;i+) cout 姓名 年龄 工龄 性别 婚姻状况 级别 工资 是否在职 ww*n+; cinww*n+i.age; cinww*n+i.worktime; cinww*n+i.sex; cinww*n+i.marrige; cinww*n+i.grade; cinww*n+i.wage; cinww*n+i.tired; *n=*n+m; return ww;运行结果图8添加功能图4.2.9保存文件功能 保存文件功能:将已有职工信息进行文件保存便于下次使用。 程序代码:void save(worker *ww,int n)fstream output(d:wei.txt,ios:out|ios:binary);if(output.fail() cerr你不能打开此文件:endl; abort();for(int i=0;in;i+) output.write(char*)&wwi,sizeof(worker);output.close();运行结果 图4-2-9保存文件功能图4.2.10读取文件功能 读取文件功能:直接调用已有的职工信息。在此代码中遇到的问题:出现死循环。问题原因:循环语句错误。解决方法:int i=0,n;long int size; input.seekg(0l,ios:end); size=input.tellg();n=size/sizeof(worker);input.seekg(0l,ios:beg);for(i=0;in;i+)input.read(char*)&wwi,sizeof(worker);程序代码:int read(worker *ww)fstream input(d:wei.txt,ios:in|ios:binary);if(input.fail() cerr你不能打开此文件:endl; abort();int i=0,n;long int size; input.seekg(0l,ios:end); size=input.tellg();n=size/sizeof(worker);input.seekg(0l,ios:beg);for(i=0;in;i+)input.read(char*)&wwi,sizeof(worker);input.close();return n;运行结果: 图4-2-10读取职工信息功能图4.2.11输出功能 输出功能:将更新的职工信息打印程序代码:void print(worker *ww,int n) int i; for(i=0;in;i+) cout 姓名 年龄 工龄 性别 婚姻状况 级别 工资 是否在职endl; coutsetw(5); coutsetw(5)wwi.age; coutsetw(5)wwi.worktime; coutsetw(5)wwi.sex; coutsetw(5)wwi.marrige; coutsetw(5)wwi.grade; coutsetw(5)wwi.wage; coutsetw(5)wwi.tiredendl; 运行结果:图4-2-11打印功能图4.2.12退出功能 退出功能:退出程序程序代码:case 10: exit(0); default:cout输入有误,请重新进行选择!endl;运行结果:图4-2-12退出功能图5系统应用职工信息管理系统经过一段时间的测试,应用情况比较理想,主要体现在以下几个方面:(1)提高了职工信息管理水平和工作效率。职工资料实现了计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工离职终止协议模板
- 2025年宁波市江北区中医院、江北区文教街道社区卫生服务中心公开招聘4人备考考试题库附答案解析
- 房地产合作办学合同条款详解
- 农业资源优化配置与流转合同
- 企业IT服务支持与技术保障合同
- 农民农产品线上销售与服务平台合同
- 农产品种植收购及供应协议
- 商业综合体开发合作协议
- 农民林业合作种植技术协议书
- 医院物资采购与配送协议
- 2025年智能楼宇管理师(中级)考试试卷:绿色建筑与能源管理
- 2026版《三维设计》高三一轮复习物理第八章 机械振动和机械波
- 2025届湖南中考化学真题试卷【含答案】
- 安全教育培训记录表
- 并购绩效论文
- 文物保护工程进度及工期保证措施
- 设备泄露分级管理制度
- 2025年湖北省中考生物、地理合卷试卷真题(含答案)
- 智慧校园建设“十五五”发展规划
- 电厂检修项目风险评估报告
- 2025至2030年中国智能炒菜机(炒菜机器人)行业市场现状调查及前景战略研判报告
评论
0/150
提交评论