职工信息管理系统外加课程设计报告(共26页).doc

上传人:飞****2 文档编号:19381382 上传时间:2022-06-06 格式:DOC 页数:26 大小:339.50KB
返回 下载 相关 举报
职工信息管理系统外加课程设计报告(共26页).doc_第1页
第1页 / 共26页
职工信息管理系统外加课程设计报告(共26页).doc_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《职工信息管理系统外加课程设计报告(共26页).doc》由会员分享,可在线阅读,更多相关《职工信息管理系统外加课程设计报告(共26页).doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上/*职工信息管理系统建立一个职工信息管理系统,对于普通员工只能查询和修改自己的详细信息和查询其他员工的简单信息,对于人事部门人员可以查询、修改、增加所有职工的详细信息(但不包含修改工资),对于财务部门人员可以查询所有职工的详细信息,和修改职工的工资。(1) 进入系统需要密码验证(2) 具有简单的菜单功能。(不同类型的员工的菜单形式不同)(3)能够按要求完成职工信息的增加,删除,查询和更新相关信息(4)对程序源代码要给出各部分的详细注释。(5)雇员信息以文件的形式存储。(6)自己根据能力及需要添加相应功能模块,增强模拟系统功能。*/#include#include/因为

2、要用到控制符,所以添加其定义#include/输入输出文件流类#include#define SIZE 100using namespace std; class infomation/定义包含需要处理信息的类 public:char name10;/姓名 char num10;/工号char sex3;/性别int age;/年龄int department ;/部门 1普通职工 2人事部门人员 3财务部门人员char address10;/地址float salary;/工资char date12;/出生日期 char pswd10;/密码 ;infomation stuSIZE;/每个元

3、素对应一条信息int len;/总数int ID;/登录者的索引class person/定义普通职工类public: person();person();void load();/读取信息void save();/保存信息int menu();/菜单void modify();/修改信息 void search(); / 信息查询int check(char s,int i);/检查是否有信息重复;class renshi : public person/定义人事部门类public: void input();/录入信息void del();/删除信息;class caiwu : publi

4、c person/定义财务部门类public: void modify_salary();/修改工资;char filename=person.txt;person:person()person:person() void caiwu:modify_salary() char s20; system(cls);/清屏couts;for(int i=0;ilen;i+)/查找所有信息,查询是否存在输入的信息if(strcmp(stui.num,s)=0)break;/存在 if(i=len)/相等,说明输入信息不存在 cout对不起!没有你输入工号的相关信息。endl; system(pause

5、);/任意键继续 return; coutstui.salary; save();/保存 cout工资修改成功!stui.name stui.numstui.sexstui.agestui.departmentstui.addressstui.salarystui.datestui.pswd ;/读取文件 if(!file.eof()i+; file.close();/关闭文件elsestrcpy(stu0.name,管理员);strcpy(stu0.num,0);/初始登录工号strcpy(stu0.pswd,0);/初始登录密码stu0.department=2;/为人事部门人员strcp

6、y(stu0.sex,男);strcpy(stu0.address,北京);strcpy(stu0.date,2010-10-01);stu0.age=22;stu0.salary=2000; i=1;len=i;void person:save()/保存录入职工信息fstream file(filename,ios:out | ios:trunc);if(file.is_open() for(int i=0;ilen;i+) file stui.namet stui.numt stui.sext stui.aget stui.departmentt stui.addresst stui.sa

7、laryt stui.datet stui.pswdt endl;/写入文件 file.close();/关闭文件int person:check(char s,int i)/检查是否重复 int g=0; for(;glen;g+) if(strcmp(stug.num,s)=0 & i!=g)/比较是不是一样 , 一样就说明重复了 return 1;/表示重复了 return 0;/查找了整个数组都没发现重复的 表示没有重复void renshi:input()/录入信息 char ch; system(cls);/清屏 for(int i=len;iSIZE;i+) coutstui.n

8、ame; coutstui.num;while(check(stui.num,i)=1)coutstui.num; coutch; if(ch=1 | ch=2) break; else cout输入错误请重新输入:; if(ch=1 ) strcpy(stui.sex,男); else strcpy(stui.sex,女); coutstui.age; coutstui.department; if(stui.department=1 | stui.department=2 | stui.department=3) break; else cout输入错误请重新输入:; coutstui.a

9、ddress; coutstui.salary; coutstui.date; coutstui.pswd; len+;/个数加1 coutch; if(ch=y | ch=Y | ch=n | ch=N) break; else cout输入错误请重新输入:; if(ch=n | ch=N) break; save();/保存 void renshi:del()/删除信息char s20; system(cls);/清屏 couts; for(int i=0;ilen;i+)/遍历所有信息,查询是否存在输入的信息if(strcmp(stui.num,s)=0)break;/存在 结束循环if

10、(i=len)/这二者相等说明查找完所有信息也没找到输入信息,说明输入信息不存在 cout对不起!没有你输入工号的相关信息。n; system(pause);/任意键继续 return; stui=stulen-1;/用最后一条信息覆盖要删除的信息len-;/信息条数减一 save();/保存 cout删除成功!endl;system(pause);/任意键继续void person:modify()/修改信息int i;char s20,ch; system(cls);/清屏if(stuID.department=1)/是普通职工i=ID;elsecouts;for(i=0;ilen;i+)

11、/查找了所有信息,查询是否存在输入的信息if(strcmp(stui.num,s)=0)break;/存在 结束循环if(i=len)/相等,说明输入信息不存在 cout对不起!没有你输入工号的相关信息。n; system(pause);/任意键继续 return; coutstui.name; coutstui.num;while(check(stui.num,i)=1)coutstui.num; coutch; if(ch=1 | ch=2) break; else cout输入错误请重新输入:;if(ch=1 )strcpy(stui.sex,男);else strcpy(stui.se

12、x,女); coutstui.age; coutstui.department; if(stui.department=1 | stui.department=2 | stui.department=3) break; else cout输入错误请重新输入:; coutstui.address; coutstui.date; coutstui.pswd; save();/保存 cout修改成功!endl;system(pause);/任意键继续 void person:search() /职工信息查询 char s20; system(cls);/清屏 couts; for(int i=0;i

13、len;i+)/查找了所有信息,查询是否存在输入的信息if(strcmp(stui.num,s)=0)break;/存在if(i=len)/相等,说明输入信息不存在 cout对不起!没有你输入工号的相关信息。n; system(pause);/任意键继续 return;cout 查询结果如下:endl;cout*1)/是自己 或不是普通职工cout姓名 工号 性别 年龄 部门 地址 工资 出生日期 endlendl; cout.setf(ios:left);/设置左对齐coutsetiosflags(ios:fixed)setprecision(2)/设置保留小数,其用法见书上228页的格式输

14、出 setw(10)stui.name setw(10)stui.num setw(6)stui.sex setw(6)stui.age setw(6)stui.department setw(10)stui.address setw(10)stui.salary setw(12)stui.date endl;elsecout姓名: 工号: 性别: 年龄: 部门: 出生日期: endlendl; cout.setf(ios:left);/设置左对齐coutsetiosflags(ios:fixed)setprecision(2)/设置保留小数,其用法见书上228页的格式输出 setw(10)s

15、tui.name setw(10)stui.num setw(6)stui.sex setw(6)stui.age setw(6)stui.department setw(12)stui.date endl ;cout*endl;cout备注:1、普通职工 2、人事部门人员 3、财务部门人员endl;system(pause);/任意键继续void login()/实现职工登录char num10,pswd10; system(cls);/清屏cout*endl;cout 人事部门初始工号:0 密码:0 endl;cout*endl;coutnum; for(int i=0;ilen;i+)/

16、查找所有信息,看是否存在输入的信息if(strcmp(stui.num,num)=0)break;/存在 if(i=len)/相等,说明输入信息不存在 cout 对不起!没有你输入工号的相关信息。; system(pause);/任意键继续 exit(0);coutpswd;if(strcmp(pswd,stui.pswd)!=0)/匹配密码 cout 对不起!密码错误,登录失败。; system(pause);/任意键继续 return;elseID=i;/登录者索引 cout 登录成功。; system(pause);/任意键继续 int person:menu()/总的功能菜单int c

17、; system(cls);/清屏if(stuID.department=1)cout *endl; cout 1、修改职工信息 endl;cout *endl;cout 2、查询职工信息 endl;cout *endl;cout 3、返回登录 endl; cout *endl;else if(stuID.department=2)cout *endl;cout 1、增加职工信息 endl; cout *endl;cout 2、修改职工信息 endl;cout *endl;cout 3、查询职工信息 endl;cout *endl;cout 4、删除职工信息 endl;cout *endl;c

18、out 5、返回登录 endl; cout *endl;else if(stuID.department=3)cout *endl;cout 1、修改职工工资 endl; cout *endl;cout 2、查询职工信息 endl;cout *endl;cout 3、返回登录 endl; cout *endl;coutc; return c; /以下是对普通员工、人事部门、财务部门权限的分类 int person1()/普通员工所具有的权限设置 person stud; stud.load();/读取文件信息while(1)int sel=stud.menu();/获取选择switch(sel

19、) case 1: stud.modify(); break;/ 修改case 2: stud.search(); break;/ 查询case 3: return 0;/返回登录 return 0;int renshi1()/人事部门的功能 renshi stud; stud.load();/读取文件信息while(1)int sel=stud.menu();/获取选择switch(sel)case 1: stud.input(); break;case 2: stud.modify(); break;case 3: stud.search(); break;case 4: stud.del

20、(); break;/ case 5: return 0;/返回登录 return 0;int caiwu1()/财务部门所具有的功能 caiwu stud;stud.load();while(1)int sel=stud.menu();/获取选择菜单switch(sel)case 1: stud.modify_salary(); break;case 2: stud.search(); break;case 3: return 0;/返回登录 return 0;/以下用以实现所有操作int main() person stud;stud.load();/读取文件的相关信息while(1)lo

21、gin();/登录管理系统switch(stuID.department)case 1: person1(); break;/普通职工登录case 2: renshi1(); break;/人事部门职工登录case 3: caiwu1(); break;/财务部门职工登录case 4: exit(0);/退出 return 0;课 程 设 计 报 告课程设计名称: C+程序设计系 别: 三系 学生姓名: 陶韦韦 班 级: 11软件(2) 学 号: 成 绩: 指导教师: 郑 步 芹 开课时间: 2011-2012 学年 二 学期职工信息管理系统一、课程设计目的: 本课程设计是在学习面向对象基本理

22、论之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方面得到锻炼:(1)能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。(2)提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。二、课程设计内容及要求: 建立一个职工信息管理系统,对于普通员工只能查询和修改自己的详细信息和查询

23、其他员工的简单信息,对于人事部门人员可以查询、修改、增加所有职工的详细信息(但不包含修改工资),对于财务部门人员可以查询所有职工的详细信息,和修改职工的工资。(1) 进入系统需要密码验证(2) 具有简单的菜单功能。(不同类型的员工的菜单形式不同)(3)能够按要求完成职工信息的增加,删除,查询和更新相关信息(4)对程序源代码要给出各部分的详细注释。(5)雇员信息以文件的形式存储。(6)自己根据能力及需要添加相应功能模块,增强模拟系统功能。三、职工信息管理系统概要设计1首先将需要的头文件进行开头的声明2.定义一个信息类:infomation,将职工的简单信息与详细信息进行整体定义,信息包括:名字n

24、ame,工号num,性别sex,年龄age,部门department,地址address,工资salary,出生日期date,个人密码pasd3.接下来对每个不同属性的员工所具有功能进行定义具有不同功能的类普通员工特有功能: person();/构造函数 person();/析构函数 void load();/读取信息函数 void save();/保存信息函数 int menu();/菜单函数 void modify();/修改信息函数 void search(); / 信息查询函数 int check(char s,int i);/检查信息重复函数人事部门员工特有功能:void input

25、();/录入信息函数 void del();/删除信息 函数财务部门员工特有功能:void modify_salary();/修改工资函数4.在定义完上面类之后,在类外对其函数进行功能的实现,5.由于三种员工所具有的权限不一样,如果在一个主函数中进行操作比较麻烦,所一我采取定义三个类特有的功能函数,方便在主函数中进行调用,三个函数为: int person1(); int renshi1(); int caiwu1();6.最后在所有基本操作完成之后,进行主函数的实现int main()四、职工信息系统详细设计与实现1.登录界面密码验证:专心-专注-专业void login()/实现职工登录char num10,pswd10; system(cls);/清屏cout*endl;cout 人事部门初始工号:888 密码:888endl;cout*endl;coutnum; for(int i=0;ilen;i+)/查找所有信息,看是否存在输入的信息if(strcmp(stui.num,num)=0)break;/存在 if(i=len)/相等,说明输入信息不存在cout 对不起!没有你输入工号的相关信息。; system(pause);/任意键继续 exit(0);coutpswd;if(strcmp(pswd,stui.pswd

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁