C++ 工资管理系统 源代码.doc_第1页
C++ 工资管理系统 源代码.doc_第2页
C++ 工资管理系统 源代码.doc_第3页
C++ 工资管理系统 源代码.doc_第4页
C++ 工资管理系统 源代码.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include#include#includeusing namespace std;double sum,avarage;int amount=0;int ab=0,cd=0,ef=0;ofstream *file50;struct xinxidouble jiben;double zhiwu;double gangwei;double yiliao;double gongji;double sum;double sum1;double avarage;struct xinxi *next;class workerpublic: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 *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);int main()system(color ff);int x;/bool flag2=0;/*dodocinx;if(x=0&x=10)flag2=1;elsecout指令错误!endl;cout请选择相应数字进行操作next=NULL;while(1)display();cinx; if(x=1) cout*现在进行职工数据的录入*n; luru(head); cout输入的职工信息为:n; xianshi(head); display(); /break; elseif(x=2) cout*现在进行职工数据的修改*n; xiugai(head); display(); /break; /按姓名修改 else if(x=3)cout*现在进行所有职工信息的显示*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); xianshi(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(head); display();/ break; else cout n; cout 您已退出职工管理系统, 谢谢您的使用! n; cout n; coutendl; exit(0); break; return 0;void display() cout endl; cout 职工管理系统 endl;cout endl;cout endl; cout (1)职工数据的录入 endl; cout (2)职工数据的修改 endl;cout (3)显示职工信息 endl; cout (4)查询职工信息 endl;cout -(1)按姓名查询 endl;cout -(2)按ID查询 endl; cout -统计总成绩和平均成绩 endl; cout (5)职工信息的删除 endl;cout (6)职工信息的添加 endl;cout (7)职工信息的统计 endl;cout (8)保存职工信息 endl;cout (9)打开职工信息 endl; cout 退出程序 endl;cout endl; cout endl;cout 注:请输入相应括号里的阿拉伯数字来执行相关操作! endl;cout 要保存数据请先建立好指定文件: endl;cout (D:职工管理系统职工信息.txt) endl;cout -endl;cout =谢谢您的使用=endl; cout endl; cout 请选择相应的数字进行操作: next; cout | name | ID |基本工资|职务工资|岗位津贴|医疗保险|公积金|总工资|平均工资|endl;while(work!=NULL)cout | setw(4)(*work).name;cout | setw(4)(*work).ID;cout | setw(4)(*work).sc1.jiben;cout | setw(4)(*work).sc1.zhiwu;cout | setw(4)(*work).sc1.gangwei;cout | setw(4)(*work).sc1.yiliao;cout | setw(4)(*work).sc1.gongji;cout | setw(4)(*work).sc1.sum;cout | setw(4)(*work).sc1.avarage;cout | next;system(pause);void read(worker *head)char 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(4)(*work).name | setw(4)(*work).ID | setw(4)(*work).sc1.jiben | setw(4)(*work).sc1.zhiwu | setw(4)(*work).sc1.gangwei |setw(4)(*work).sc1.yiliao | setw(4)(*work).sc1.gongji |setw(4)(*work).sc1.sum|setw(4)(*work).sc1.avarage|next; break;cout.成功将学生数据保存到中! ; outfile.close(); 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请输入基本工资:(*work).sc1.jiben; cout请输入职务工资:(*work).sc1.zhiwu; cout请输入岗位津贴:(*work).sc1.gangwei; cout请输入医疗保险:(*work).sc1.yiliao; cout请输入公积金:(*work).sc1.gongji; (*work).sc1.sum=(*work).sc1.gangwei+(*work).sc1.gongji+(*work).sc1.yiliao+(*work).sc1.zhiwu+(*work).sc1.jiben; (*work).sc1.avarage=(*work).sc1.gangwei+(*work).sc1.gongji+(*work).sc1.yiliao+(*work).sc1.zhiwu+(*work).sc1.jiben)/5; (*work).sc1.sum1=(*work).sc1.gangwei+(*work).sc1.zhiwu+(*work).sc1.jiben; if(*work).sc1.sum1=2000) ab+; if(*work).sc1.sum1=1500&(*work).sc1.sum1=1000&(*work).sc1.sum1next=p-next; p-next=work; amount+;coutc; p=p-next; while(c!=y&c!=n) cout!指令错误!endl; coutc; while(c=y); j+; cout输入了 amount个职工的信息.next;bool flag=0;coutname;doif(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.zhiwu; cout | setw(4)(*work).sc1.gangwei; cout | setw(4)(*work).sc1.yiliao; cout | setw(4)(*work).sc1.gongji;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!指令错误!endl; coutc; while(c=y);void search2(worker *head)char c;string ID;doworker *work=head-next;int flag=0; coutID;doif(work!=NULL&ID=(*work).ID)flag=1;cout你要查询的学生是nameendl; 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.zhiwu; cout | setw(4)(*work).sc1.gangwei; cout | setw(4)(*work).sc1.yiliao; cout | setw(4)(*work).sc1.gongji; 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!指令错误!endl; cout您想继续查询吗?(y/n)c; while(c=y);void xiugai(worker *head)string name;char c;dobool flag2=0;worker *work=head-next;xinxi sc1;coutname;doif(name=(*work).name)flag2=1;coutsc1.jiben;coutsc1.zhiwu;coutsc1.gangwei;coutsc1.yiliao;coutsc1.gongji;(*work).sc1.jiben=sc1.jiben;(*work).sc1.zhiwu=sc1.zhiwu;(*work).sc1.gangwei=sc1.gangwei;(*work).sc1.sum=(*work).sc1.gangwei+(*work).sc1.gongji+(*work).sc1.jiben+(*work).sc1.yiliao+(*work).sc1.zhiwu;(*work).sc1.avarage=(*work).sc1.gangwei+(*work).sc1.gongji+(*work).sc1.jiben+(*work).sc1.yiliao+(*work).sc1.zhiwu)/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.zhiwu; cout | setw(4)(*work).sc1.gangwei; cout | setw(4)(*work).sc1.yiliao; cout | setw(4)(*work).sc1.gongji; cout | setw(4)(*work).sc1.sum; cout | setw(4)(*work).sc1.avarage; cout | endl; coutnext;while(work!=NULL);if(flag2=0)cout!对不起!您要修改的职工不存在!请检查重新输入!endl; coutc; if(c!=y&c!=n) cout!指令错误!请重新输入!; cinc; while(c=y);void shanchu(worker *head)char c;string no;doint flag=0;coutno;worker *p,*q;q=head;while(q-next!=NULL&q-next-ID!=no)q=q-next;if(q-next!=NULL) flag=1; p=q-next; q-next=q-next-next; amount-; free(p); cout.成功删除! ; if(flag=0) cout!对不起!您要删除的职工不存在!endl; coutc; while(c!=y&c!=n) cout!指令错误!endl; coutc; while(c=y); void tongji(worker *head)char c;string name;doworker *work=head-next;bool flag=0;cout-总工资和平均工资的计算-endl;coutname;doif(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.zhiwu; cout | setw(4)(*work).sc1.gangwei; cout | setw(4)(*work).sc1.yiliao; cout | setw(4)(*work).sc1.gongji; cout | setw(4)(*work).sc1.sum; cout | setw(4)(*work).sc1.avarage; cout | endl; cout超过2000的百分比:endl; cout(ab*100)/amount%endl; cout小于2000,大于等于1500endl; cout(cd*100)/amount%endl; cout小于1500,大于等于1000endl; cout(ef*100)/amount%next;while(work!=NULL); if(flag=0) cout!对不起!您要查询的职工不存在!endl; coutc; while(c!=y&c!=n) cout!指令错误!endl; coutc; while(c=y); void tianjia(worker *head)char c;int j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论