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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C++课设.docx

1、C+课设 课程设计报告一、需求分析 二、概要设计 三、详细设计 四、调试分析 五、用户手册 六、测试数据 七、附录 设计题目:企业人事管理系统:人事工资管理职工主要属性如下:基本工资,岗位工资,奖金,应发工资,医疗住房基金,税金,实发工资;应发工资=基本工资+岗位工资,实发工资=应发工资-税金-住房医疗基金!利用文本文件存储职工工资信息;实现工资的录入,统计(统计整个工资的平均工资,最高和最低工资,工资均方差等信息;各部门的平均工资,最高最低工资,工资均方差等信息),查询(根据员工的姓名查询),修改,删除等功能。要求:1.源文件采用多文件的工程结构 2.数据存储采用文件形式 3.标准的C+输入

2、和输出 4.功能完善,适当的注视 5.关于文件的内容需要自学 6.原则上不允许只涉及一个类,应有多个类 7.应用面向对象的封装,继承,多态技术)一需求分析 (1)任务:使员工可以查到自己的工资信息; (2)规定:程序必须用C+,不能只用一个类 (3)输入和输出范围:字符和双精度数字; (4)输出形式:双精度型数字型输出; (5)程序所能达到的功能:录入,查询,修改,统计以及删除员工的工资信息; (6)测试数据:二设计概要见图Class 3 设备处Public:继承worker类,主要的统计功能Class 4 人事处Public:继承worker类,主要的统计功能Clss 5 学工处Public

3、:继承worker类,主要的统计功能Class 6 软件学院Public:继承worker类,主要的统计功能Class 1 xinxipublic: double jiben;(基本工资) double gangwei;(岗位工资 double shuijin;(税金) double yiliao;(医疗住房基金) double jiangjin;(奖金) double sum;(实发工资) double sum1;(应发工资) double avarage;(平均工资) class xinxi *next(定义链表,主要实现信息查询,统计,修改,删除,等功能!Class 2 worker:p

4、ublic:calss xinxiPublic:string name;(员工姓名) string ID;(员工工号) double sum;(实发工资) double avarage;(平均工资) xinxi sc1;(定义一个广义对象) class worker *next;(定义头指针)void luru(worker *head);(录入功能)void search1(worker *head);(按姓名查找功能)void search2(worker *head);(按工号查找)void xianshi(worker *head);(信息显示)void xiugai(worker *

5、head);(修改)void chazhao(worker *head);(查找)void shanchu(worker *head);(删除)void tianjia(worker *head);(添加)void tongji(worker *head);(统计)void display();(界面显示)void read(worker *head);(读取)void dakai(worker *head);(打开员工信息)三详细设计1.头文件使用:#include#include#include:此为利用文本文档存信息时所需头文件!#include:控制输入输出流的头文件2.主函数:实现系

6、统界面设计int main()system(color ff);int x;worker *head=new worker;运用链表head-next=NULL; while(1) display();cinx; if(x=1) cout*现在进行职工数据的录入*n; luru(head); cout输入的职工信息为:n; xianshi(head); display(); /break; else if(x=2) cout*现在进行职工数据的修改*n; xiugai(head); display(); /break; /按姓名修改 else if(x=3) cout*现在进行所有职工信息的显

7、示*n; xianshi(head); display(); /break; /显示数据 else if(x=4) char z; cout*现在进行所有职工信息查找*n; cout请选择查询方式n; coutz; while(z!=1&z!=2) cout*指令错误*n; coutz; switch(z) case 1: search1(head);break;/按姓名查询 case 2: search2(head);break;/按学号查询 display(); / break; else if(x=5) cout*现在进行指定的职工信息的删除*n; shanchu(head); xian

8、shi(head); display(); /break; /删除 else if(x=6) cout*现在进行指定的职工信息的添加*n; tianjia(head); xianshi(head); display(); break;/添加 else if(x=7) cout*现在进行指定的职工信息的统计*n; tongji(head); display(); / break; else if(x=8) cout*现在进行指定的职工信息的保存*n; read(head); display(); / break; else if(x=9) cout*现在进行指定的职工信息的打开*n; dakai

9、(head); display(); / break; else cout n; cout 您已退出职工管理系统, 谢谢您的使用! n; cout n; coutnext; cout | name | ID |基本工资|岗位工资|税金|医疗保险|奖金金|应发工资|实发工资|平均工资|endl;while(work!=NULL)cout | setw(4)(*work).name; 此处的setw(数字)为一种输出流,有点类似cout | setw(4)(*work).ID; C语言里的输入格式化cout | setw(4)(*work).sc1.jiben;cout | setw(4)(*wo

10、rk).sc1.gangwei;cout | setw(4)(*work).sc1.shuijin;cout | setw(4)(*work).sc1.yiliao;cout | setw(4)(*work).sc1.jiangjin;cout | setw(4)(*work).sc1.sum1;cout | setw(4)(*work).sc1.sum;cout | setw(4)(*work).sc1.avarage;cout | next;system(pause);运用的头文件(ioainp.h)中可调用的函数2.利用文本文档存储信息void read(worker *head) ch

11、ar a; worker *work=head-next; couta; ofstream outfile(D:职工管理系统职工信息.txt,ios:out); if(! outfile) cout!打开文件错误!n; cout!要保存数据请先建立好指定文件:D:职工管理系统职工信息.txt!n; exit(0); while(a!=n) while(work!=NULL) outfile*第amount个职工的数据:*n; outfile | name | ID |基本工资|岗位工资|税金|医疗保险|奖金|应发工资|实发工资|平均工资|endl; outfile 职工信息: n | setw

12、(4)(*work).name | setw(4)(*work).ID | setw(4)(*work).sc1.jiben | setw(4)(*work).sc1.gangwei | setw(4)(*work).sc1.shuijin |setw(4)(*work).sc1.yiliao | setw(4)(*work).sc1.jiangjin |setw(4)(*work).sc1.sum1|setw(4)(*work).sc1.sum|setw(4)(*work).sc1.avaragenext; break;cout.成功将学生数据保存到中! ; outfile.close();

13、 3.打开存储信息函数void dakai(worker *head) worker *work=head-next; ofstream ofile(D:职工管理系统职工信息.txt,ios:out); work=work-next;void luru(worker *head) char c; int j=0; worker *p=head; filej=new ofstream(D:职工管理系统职工信息.txt,ios:app); do worker *work=new worker; cout请输入姓名:(*work).name; cout请输入ID:(*work).ID; cout请输

14、入基本工资:(*work).sc1.jiben; cout请输入岗位工资:(*work).sc1.gangwei; cout请输入税金:(*work).sc1.shuijin; cout请输入医疗保险:(*work).sc1.yiliao; cout请输入奖金:(*work).sc1.jiangjin; (*work).sc1.sum=(*work).sc1.gangwei+(*work).sc1.jiben; (*work).sc1.avarage=(*work).sc1.gangwei+(*work).sc1.jiangjin+(*work).sc1.yiliao+(*work).sc1.

15、shuijin+(*work).sc1.jiben)/5; (*work).sc1.sum1=(*work).sc1.gangwei+(*work).sc1.jiben-(*work).sc1.shuijin-(*work).sc1.yiliao; if(*work).sc1.sum=2000) ab+; if(*work).sc1.sum=1500&(*work).sc1.sum=1000&(*work).sc1.sumnext=p-next; p-next=work; amount+;coutc; p=p-next; while(c!=y&c!=n) cout!指令错误!endl; cou

16、tc; while(c=y); j+; cout输入了 amount个职工的信息.next; bool flag=0; coutname; do if(work!=NULL&name=(*work).name) flag=1; cout | name | ID |基本工资|岗位工资|税金|医疗保险|奖金|应发工资|实发工资|平均工资|endl; cout | setw(4)(*work).name; cout | setw(4)(*work).ID; cout | setw(4)(*work).sc1.jiben; cout | setw(4)(*work).sc1.gangwei; cout

17、 | setw(4)(*work).sc1.shuijin; cout | setw(4)(*work).sc1.yiliao; cout | setw(4)(*work).sc1.jiangjin; cout | setw(4)(*work).sc1.sum1; cout | setw(4)(*work).sc1.sum; cout | setw(4)(*work).sc1.avarage; cout | next; while(work!=NULL); if(flag=0)cout!对不起!您要查询的职工不存在!endl; coutc; while(c!=y&c!=n) cout!指令错误

18、!endl; coutc; while(c=y);void search2(worker *head) char c; string ID; do worker *work=head-next; int flag=0; coutID;do if(work!=NULL&ID=(*work).ID) flag=1; cout你要查询的学生是nameendl; cout | name | ID |基本工资|岗位工资|税金|医疗保险|奖金|应发工资|实发工资|平均工资|endl; cout | setw(4)(*work).name; cout | setw(4)(*work).ID; cout |

19、setw(4)(*work).sc1.jiben; cout | setw(4)(*work).sc1.gangwei; cout | setw(4)(*work).sc1.shuijin; cout | setw(4)(*work).sc1.yiliao; cout | setw(4)(*work).sc1.jiangjin; cout | setw(4)(*work).sc1.sum1; cout | setw(4)(*work).sc1.sum; cout | setw(4)(*work).sc1.avarage; cout | next; while(work!=NULL);if(fl

20、ag=0)cout!对不起!您要查询的职工不存在!endl; coutc; while(c!=y&c!=n) cout!指令错误!endl; cout您想继续查询吗?(y/n)c; while(c=y);5.修改信息void xiugai(worker *head) string name; char c; do bool flag2=0;worker *work=head-next;xinxi sc1;coutname;do if(name=(*work).name) flag2=1; coutsc1.jiben; coutsc1.gangwei; coutsc1.shuijin; cout

21、sc1.yiliao; coutsc1.jiangjin; (*work).sc1.jiben=sc1.jiben; (*work).sc1.gangwei=sc1.gangwei; (*work).sc1.shuijin=sc1.shuijin; (*work).sc1.sum=(*work).sc1.gangwei+(*work).sc1.jiben-(*work).sc1.yiliao-(*work).sc1.shuijin; (*work).sc1.avarage=(*work).sc1.gangwei+(*work).sc1.jiangjin+(*work).sc1.jiben+(*

22、work).sc1.yiliao+(*work).sc1.shuijin)/5; cout | name | ID |基本工资|岗位工资|税金|医疗保险|奖金|应发工资|实发工资|平均工资|endl; cout | setw(4)(*work).name; cout | setw(4)(*work).ID; cout | setw(4)(*work).sc1.jiben; cout | setw(4)(*work).sc1.gangwei; cout | setw(4)(*work).sc1.shuijin; cout | setw(4)(*work).sc1.yiliao; cout | setw(4)(*work).sc1.jiangjin; cout | setw(4)(*work).sc1.sum1; cout | setw(4)(*work).sc1.sum; cout |

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

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