ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:37.77KB ,
资源ID:27470446      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27470446.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(职工档案管理系统c++设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

职工档案管理系统c++设计.docx

1、职工档案管理系统c+设计中南大学高级程序设计实践(C+)课程设计报告设计题目 职工档案管理系统 指导老师 设计者 专业班级 设计日期 一、本次课题的基本内容和要求二、软件设计整体规划及方案三、程序功能简介四、主体内容:1、设计分析与程序结构2、相关模块源程序功能及程序说明 3、操作方法(流程)4、试验结果5、设计体会6、参考文献一、本次课题的基本内容和要求1、基本要求:为方便管理某单位职工档案信息,编写一个职工档案管理系统软件。系统记录必须包括职工的ID号、姓名以及性别、出生年月、职称、工资、所在单位、在岗情况等。2、基本管理功能:(1)添加:增加一名职工的档案信息到管理系统中。(2)查询:可

2、以根据职工姓名或ID号查找某人的相关信息,若找到则显示其信息。(3)修改:在管理系统中修改一名职工的记录。(4)保存:将所有职工档案信息保存在一个文件中(数据库文件或普通的文本文件)。(5)读取:从文件中读取已保存了数据。(6)删除:从管理系统中删除一条记录。(7)恢复:能恢复被删除的记录。(8)统计:(A)计算平均工资及总工资,(B)统计男/女职工各占总职工的人数的百分比、统计职工平均年龄和单位在岗职工人数占总职工人数的百分比、统计副高以上职工人数占总职工人数的百分比。(C)以表格形式打印全部职工档案信息表。二、软件设计整体规划及方案1、自顶向下、逐步细化、逐步求精所谓“自顶向下,逐步细化、

3、逐步求精”就是在对于给定问题进行透彻的了解和详细的分析的基础上,把问题分解成若干个按顺序执行的逻辑部分,称为“模块”。每个子任务如果仍很复杂,还可以再分解为若干个子任务。如此逐层分解,对于每个模块的设计都采用这种“自顶向下、逐步细化”的方法,将它们分解成为基本结构为止,就如同写文章先拟出题目和中心内容,再确定分为几大部分,每一大部分又分哪几节,每一节分为几段,每一段包括哪几个意思,这就是“自顶向下,逐步细化”的方法。2、菜单技术当一个程序的规模比较庞大,层次和模块比较多时,不要每次都将所有模块按顺序执行一遍,最好在每一层,至少在最高几层都设一个“菜单”。为方便用户操作,“菜单”技术已广泛使用在

4、计算机的系统软件中,具体做法是:程序首先把各功能说明及相应代号以菜单形式显示在屏幕上,然后由用户在键盘上输入所选的功能代号,程序自动转去调用相应的功能模块进行处理。3、时间安排1、阅读设计题目、任务内容,规划设计进度,并进行软件的各相关功能模块的规划设计(1天)。2、在C+环境下,用结构化程序设计思想进行C+语言程序设计、功能模块调试(7-9天)。3、进行课程设计报告编写与整理(2天)。4、课程设计结束时,进行设计成果演示;对相关电子文档进行整理上交(包括:程序文件、帮助说明文档);交课程设计报告一份。三、程序功能简介1、数据文件管理功能:创建新文件、打开老文件。2、输入添加/插入记录:能够完

5、成对任意一条记录输入、添加或插入数据表中,并保存到数据文件中。3、显示、查询记录:能够打开已存在的数据表文件,根据用户要求按所给记录关键字显示、查询一个或多个相关联记录的各项信息。4、修改记录:能够打开已存在的数据表文件,并对确定的任意记录进行修改,在修改过程中,应显示记录信息,给出确认提示,并对更新的记录信息进行文件保存。5、删除记录:能够打开已存在的数据表文件,可以删除数据表中的任一记录,要求具备逻辑删除(具有恢复功能),并对新的数据表信息进行文件保存。6、统计功能:能够打开已存在的数据表文件,对数据表中与某关键字匹配的相关记录进行数据统计(包括:总数、平均值、分段信息)。7、恢复记录:恢

6、复已删除的数据并进行保存。四、主体内容:1、设计分析与程序结构2、相关模块源程序功能及程序说明#include#include#include#include#includeusing namespace std;class Workerpublic: Worker() /*构造函数初始化*/ num0=0; name0=0;float salary=0;float age=0;sex0=0;address0=0;zhicheng0=0; char num20; char name20; float salary; float age; char sex20; char address20;

7、char zhicheng20;class functionprivate: Worker wor100; /*Worker类中的对象数组*/public: void add(char num20,char name20,float salary,float age,char sex5,char address20,char zhicheng20);/*添加职工信息*/ void del(char name20); /*删除*/ void search_num(char num10); /*按职工号查找*/ void search_name(char name20); /*按姓名查找*/ vo

8、id modify(char name20); /*修改*/ void save(); /*保存*/ void read(); /*读取*/ void recover(); /*恢复*/ void statistics(); /*统计*/ void display(); /*显示*/;float m=0; void function:add(char num20,char name20,float salary,float age,char sex5,char address20,char zhicheng20)/*添加职工信息*/ int x=1; for(int i=0;i100;i+)

9、if(!strcmp(wori.name,0) /第i个对象姓名为空字符 strcpy(wori.num,num); strcpy(wori.name,name); wori.salary=salary; wori.age=age; strcpy(wori.sex,sex); strcpy(wori.address,address); strcpy(wori.zhicheng,zhicheng); x=0; if(x=0) cout添加成功!endl; m+; break; ;void function:display() /*显示*/ cout所有信息如下:(单位:元)endl; for(i

10、nt i=0;i100;i+) if(!strcmp(wori.name,0); else cout编号:wori.numendl; cout姓名:wori.nameendl; cout工资:wori.salaryendl; cout年龄:wori.ageendl; cout性别:wori.sexendl; cout单位:wori.addressendl; cout职称:wori.zhichengendlendl; void function:search_num(char num20) /*按职工号查找*/ int x,y=1,z=1; for(int i=0;i100;i+) if(!st

11、rcmp(wori.num,num) x=i; z=0; y=1; cout编号:wori.numendl; cout姓名:wori.nameendl; cout工资:wori.salaryendl; cout年龄:wori.ageendl; cout性别:wori.sexendl; cout单位:wori.addressendl; cout职称:wori.zhichengendlendlendl; else y=0; if(z=0) break; if(y=0) cout 输入的编号查找不到endl;void function:search_name(char name20) /*按姓名查找

12、*/ int x,y=1,z=1; for(int i=0;i100;i+) if(!strcmp(wori.name,name) x=i; z=0; y=1; cout编号:wori.numendl; cout姓名:wori.nameendl; cout工资:wori.salaryendl; cout年龄:wori.ageendl; cout性别:wori.sexendl; cout单位:wori.addressendl; cout职称:wori.zhichengendlendl; else y=0; if(z=0) break; if(y=0) cout 输入的姓名查找不到endl;voi

13、d function:modify(char name20) /*修改*/ int x; for(int i=0;i100;i+) if(!strcmp(wori.name,name) x=i; char t; cout (1)修改编号:endlendl; cout (2)修改姓名:endlendl; cout (3)修改工资:endlendl; cout (4)修改年龄:endlendl; cout (5)修改性别:endlendl; cout (6)修改单位:endlendl; cout (7)修改职称:endlendl; coutt; switch(t) case 1:coutnum1;

14、 strcpy(worx.num,num1); cout 修改成功!endl; break; case 2:coutname1; strcpy(worx.name,name1); cout 修改成功!endl; break; case 3:coutsalary1; worx.salary=salary1; cout 修改成功!endl; break; case 4:coutage1; worx.age=age1; cout 修改成功!endl; break; case 5:coutsex1; strcpy(worx.sex,sex1); case 6:coutaddress1; strcpy(

15、worx.address,address1); cout 修改成功!endl; break; case 7:coutzhicheng1; strcpy(worx.zhicheng,zhicheng1); cout 修改成功!endl; break; void function:save() /*保存*/ char name20; coutname; strcat(name,.txt); ofstream save(name); for(int i=0;i100;i+) if(strcmp(wori.name,0) save编号:wori.numendl; save姓名:wori.nameend

16、l; save工资:wori.salaryendl; save年龄:wori.ageendl; save性别;wori.sexendl; save单位:wori.addressendl; save职称:wori.zhichengendlendlendl; save.close();void function:read() /*读取*/ char name20; coutname; strcat(name,.txt); ifstream open(name); char ch; while(!open.eof() open.get(ch); coutch; open.close(); void

17、function:del(char name20) /*删除*/ int x=1,y=1; for(int i=0;i100;i+) if(!strcmp(wori.name,name) ofstream recover(recover.txt,ios:app); recoverwori.num wori.name wori.salary wori.age wori.sex wori.address wori.zhichengendl; recover.close(); strcpy(wori.num,0); strcpy(wori.name,0); wori.salary=0; wori.a

18、ge=0; strcpy(wori.sex,0); strcpy(wori.address,0); strcpy(wori.zhicheng,0); x=0; y=0; if(x=0) cout删除成功endl; m-; break; if(y=1) cout删除失败;void function:recover() /*恢复*/ ifstream recover(recover.txt); for(int i=0;iwori.numwori.namewori.salarywori.agewori.sexwori.addresswori.zhicheng; recover.close(); co

19、ut您所删除的记录已恢复; m+; ofstream clean(recover.txt); clean0; clean.close();void function:statistics() /*统计*/ float all=0,allage=0,fnum=0; float w1,w2,w3 ; cout统计信息如下:(单位:元)endl; for(int i=0;i100;i+) if(!strcmp(wori.name,0); else cout编号:wori.numendl; cout姓名:wori.nameendl; cout工资:wori.salaryendl; cout年龄:wor

20、i.ageendl; cout性别:wori.sexendl; cout单位:wori.addressendl; cout职称:wori.zhichengendlendl; all=all+wori.salary; w1=all/m; allage=allage+wori.age; w2=allage/m; if(!strcmp(wori.sex,f) fnum=fnum+1; w3=fnum/m; coutendlendl统计表格如下:endl; coutsetiosflags(ios:left); cout _endl; coutsetw(7)编 号setw(7) 姓 名setw(7)工

21、资setw(7)年 龄setw(7)性 别setw(7)岗 位setw(7)职 称setw(7)endl; cout _endl; for(i=0;i100;i+) if(!strcmp(wori.name,0); else coutsetw(7)wori.numsetw(7)wori.namesetw(7)wori.salarysetw(7)wori.agesetw(7)wori.sex setw(7)wori.addresssetw(7)wori.zhichengendl; cout_endlendlendl; cout _endl; coutsetw(7)总职工数setw(7)总的工资s

22、etw(7)平均工资setw(7)平均年龄setw(7)女职工数setw(7)女职工比例endl; cout _endl; coutsetw(7)m setw(7)all setw(7)w1 setw(7)w2 setw(7)fnum setw(7)w3 endl; cout _endl; ;int main() coutendlendlendlendlendl*职工档案管理系统*endl; coutendl* 系统开发设计者:甘一帆 *endl; coutendl* 专业班级:电气工程1303班 *endl; coutendl*endl; coutendl请按任意键开始; getchar(); system(cls); function c1; int select; int k=1,e=1,j=1; wh

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1