




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计报告(2023/2023学年第1学期)题目:模拟工资管理系统专业:计算机科学与技术学生姓名:班级学号:指导教师:指导单位:南京邮电大学通达学院日期:2023年12月9日评分细则评分项优秀良好中档差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真限度内容详实限度文字表达纯熟限度回答问题准确度简短评语教师署名:年月日评分等级备注评分等级有五种:优秀、良好、中档、及格、不及格模拟工资管理系统一课题内容和规定工资管理系统是一个单位最基本的一项财务管理,该系统规定实现查找,修改,删除,记录,排序等。所以帐务数据都要运用文献系统保存,以备系统下次运营时使用。通过此课题,纯熟掌握文献,数组,指针的各项操作,以及一些基本算法思想的应用。基本规定:管理员:以密码系统登录录入员工信息具体工资,计算相应的税金(计算规则参见最新公布的政策)查询并显示所有员工具体信息显示记录信息:员工数目,工资总数和税金总数按照指定条件查询增减具体员工记录税金政策基本是不同收入等级的工资使用不同的比例收取税金。类似于下表:工资税金0~15000%(超过部分)1500~250010%(超过部分)2500~350015%(超过部分)3500~500020%(超过部分)5000~1000030%(超过部分)10000~40%(超过部分)员工:以工号为登录ID,密码自己设定;可以查询本人的相关信息;系统提供指定期间间隔的查询功能。二需求分析工资管理系统的功能框架图如图1所示。添加添加查找修改删除显示排序显示退出工资管理系统保存图一(功能框架图)根据工资管理系统的规定,设计合适的数据结构。选择文献存储格式(文本或是二进制)和文献名。采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。对于每项操作,设计一个函数(方法、子模块)进行实现,要明拟定义函数类型。根据设计结果分布开发实现各模块,最后进行总体集成。三、概要设计1重要结构体classworker{public: worker() { } voidshow();//职工信息显示 ~worker() { } doubleGetTax();//获取缴税doubleGetAccumPay();//获取实发工资 friendclassWorkerList;private: stringnum,name,sex,edu,address,tel;//姓名,性别,教育限度,住址,电话 intage,salary,A;//年龄,薪水,税金};classWorkerList{private: workerw[N]; intNUM;//用来计算职工数目intcount;//用来暂时记录当前操作第几个职工public: voidadd();//职工信息录入 voidsort();//职工信息排序 voidsearch();//职工信息查找 voiddele();//职工信息删除 voidmodify();//职工信息修改voidsave();//职工信息以文献形式保存 voidshowworker();//显示职工信息在屏幕上 voidread(); WorkerList() { NUM=0; count=0; }};2重要函数流程图(1)登录函数(如图二所示)开始开始 管理员用户管理员用户请输入密码请输入密码请输入密码请输入密码NYYN能否登录能否登录能否登录能否登录进入系统进入系统图二(登录函数图)(2)职工信息录入如图三所示学历添加新员工信息学历添加新员工信息请输入要添加的员工人数姓名工号年龄工资电话地址性别图三(录入函数)(3)职工信息查找(如图四所示)查询员工查询员工请选择查询方式请选择查询方式学历工资姓名工号学历工资姓名工号请输入待查询的员工的工资请输入待查询的员工的姓名请输入待查询的员工的学历请输入待查询的员工的工号请输入待查询的员工的工资请输入待查询的员工的姓名请输入待查询的员工的学历请输入待查询的员工的工号所查询的员工信息所查询的员工信息按任意键返回按任意键返回图四(查找函数)(4)职工信息记录(如图五所示)打印员工信息打印员工信息所以员工信息列表按任意键返回图五(记录函数)(5)职工信息修改(如图六所示)请输入数字2请输入数字21学历2电话3姓名4工号5工资6年龄7地址8性别输入您要修改的学历输入您要修改的的电话输入您要修改的姓名输入您要修改的工号输入您要修改的工资输入您要修改的年龄输入您要修改的地址输入您要修改的性别修改信息已保存现返回主菜单图六(修改函数)(6)职工信息删除(如图七所示)请输入要删除职工的工号请输入数字3显示所删除职工信息确认请输入Y请输入要删除职工的工号请输入数字3显示所删除职工信息确认请输入Y返回菜单请输入N请输入数字编号职工信息保存(7)职工信息保存(如图八所示)请输入数字编号职工信息保存文献正在保存。。请稍候文献正在保存。。请稍候数据保存成功系统返回主菜单 图八(8)职工信息排序(如图九所示)职工信息排序按工号排序(升序)按工号排序(升序)按工号排序(升序)按工号排序(升序)按工号排序(升序)按工号排序(升序)按工号排序(升序)职工信息排序按工号排序(升序)按工号排序(升序)按工号排序(升序)按工号排序(升序)按工号排序(升序)按工号排序(升序)按工号排序(升序)请选择数字编号请选择数字编号 图九四.源代码#include<iostream>#include<string>#include<fstream>#include<stdlib.h>#include<cstdlib>#include"conio.h"usingnamespacestd;#defineN100//N作为最大职工总数intf=0;//f作为开关stringp;//p作为接受菜单选项的字符串interror=0;voidmenu();//显示菜单classworker{public: worker() { } voidshow();//职工信息显示 ~worker() { } doubleGetTax();//获取缴税doubleGetAccumPay();//获取实发工资 friendclassWorkerList;private: stringnum,name,sex,edu,address,tel;//姓名,性别,教育限度,住址,电话 intage,salary,A;//年龄,薪水,税金};classWorkerList{private: workerw[N]; intNUM;//用来计算职工数目intcount;//用来暂时记录当前操作第几个职工public: voidadd();//职工信息录入 voidsort();//职工信息排序 voidsearch();//职工信息查找 voiddele();//职工信息删除 voidmodify();//职工信息修改voidsave();//职工信息以文献形式保存 voidshowworker();//显示职工信息在屏幕上 voidread(); WorkerList() { NUM=0; count=0; }};doubleworker::GetTax()//缴税{if(salary<=1500){returnA==0;}else if(salary<=2500){returnA=(salary-1500)*10/100;}else if(salary<=3500){returnA=(salary-2500)*15/100+100;}else if(salary<=5000){returnA=(salary-3500)*20/100+100+150;}else if(salary<=10000){returnA=(salary-5000)*30/100+100+150+300;}else if(salary>10000){returnA=(salary-10000)*40/100+100+150+300+1500;}}doubleworker::GetAccumPay(){ returnsalary-A;}//登陆函数voidlogin(){system("cls");cout<<"\n\n*************************************************"<<endl;cout<<"**请选择您所需要的模式**"<<endl;cout<<"**1.管理员模式**"<<endl;cout<<"**2.用户模式**"<<endl;cout<<"*************************************************"<<endl;}voidmenu() { cout<<endl; cout<<"**************************************************************"<<endl; cout<<"****"<<endl; cout<<"**===欢迎使用南京邮电大学职工工资管理系统===**"<<endl; cout<<"****"<<endl; cout<<"**1.职工信息添加**"<<endl; cout<<"**2.职工信息修改**"<<endl; cout<<"**3.职工信息删除**"<<endl; cout<<"**4.职工信息排序**"<<endl; cout<<"**5.职工信息查找**"<<endl; cout<<"**6.职工信息显示**"<<endl; cout<<"**7.职工信息保存**"<<endl;cout<<"**8.职工信息查看**"<<endl; cout<<"**0.退出**"<<endl; cout<<"****"<<endl; cout<<"**************************************************************"<<endl; cout<<endl;}voidmenu1() { cout<<endl; cout<<"**************************************************************"<<endl; cout<<"****"<<endl; cout<<"**===欢迎使用南京邮电大学职工工资管理系统===**"<<endl; cout<<"****"<<endl; cout<<"**1.职工信息查找**"<<endl; cout<<"**0.退出**"<<endl; cout<<"****"<<endl; cout<<"**************************************************************"<<endl; cout<<endl;}voiddomain()//主菜单函数实现{ charpa[20]; intabcd; charbefore; WorkerListwl; inta; cout<<"请输入选择:"; cin>>a; switch(a) { case1: cout<<"请输入密码:"; intj; for(j=0;j<10;j++) { before=getch(); if(before==13) { pa[j]='\0'; break; } if(before==8) { before=getchar(); } else { pa[j]=before; cout<<'*'; }}if(strcmp(pa,"123")==0||strcmp(pa,"456")==0){cout<<"\n登录成功,祝您工作顺利,心情快乐!"<<endl;}else{do { error++; if(error==3) { cout<<endl; cout<<"\n**************************************************"<<endl; cout<<"**密码错误,系统自动退出,请稍后重新登录**"<<endl;cout<<"**************************************************"<<endl; for(abcd=1;abcd<=;abcd++) { } exit(1); } cout<<"\n密码错误!请重新输入"<<endl; for(abcd=1;abcd<=;abcd++) { } login(); } while(error<3); } while(1) { system("cls"); menu(); cout<<"请选择数字编号0~8"<<endl; inti1; cin>>i1; while(!(i1>=0&&i1<=8)) { cout<<"输入有误,请重新输入:"<<endl; cin>>i1; } switch(i1) { case1: wl.add();//添加 break; case2: wl.modify();//修改 break; case3: wl.dele();//删除 break; case4: wl.sort();//排序 break; case5: wl.search();//查找 break;case6: wl.showworker();//显示 break; case7: wl.save();//保存 break; case8: wl.read();//查看 break; case0: exit(0); cout<<"系统退出!!"<<endl; exit(0); default: break; } cout<<"是否返回主菜单?Y/N"<<endl; cin>>p; if(p=="n"||p=="N") { cout<<"系统退出!!"<<endl; exit(0); } getchar(); } case2: cout<<"请输入密码:"; intb;for(b=0;b<10;b++){ before=getch(); if(before==13) { pa[b]='\0'; break; } if(before==8) { before=getchar(); } else { pa[b]=before; cout<<'*'; }}if(strcmp(pa,"123")==0||strcmp(pa,"456")==0){cout<<"\n登录成功,祝您工作顺利,心情快乐!"<<endl;}else{do { error++; if(error==3) { cout<<endl; cout<<"\n**************************************************"<<endl; cout<<"**密码错误,系统自动退出,请稍后重新登录**"<<endl;cout<<"**************************************************"<<endl; for(abcd=1;abcd<=;abcd++) { } exit(1); } cout<<"\n密码错误!请重新输入"<<endl; for(abcd=1;abcd<=;abcd++) { } login(); } while(error<3); } while(1) { system("cls"); menu1(); cout<<"请选择数字编号0~1"<<endl; inti1; cin>>i1; while(!(i1>=0&&i1<=7)) { cout<<"输入有误,请重新输入:"<<endl; cin>>i1; } switch(i1) { case1: wl.search();//查找 break; case0: exit(0); cout<<"系统退出!!"<<endl; exit(0); default: break; } cout<<"是否返回主菜单?Y/N"<<endl; cin>>p; if(p=="n"||p=="N") { cout<<"系统退出!!"<<endl; exit(0); } getchar(); } }}voidWorkerList::add()//职工信息添加函数实现{ cout<<"请输入职工信息:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; stringnum; cin>>num; for(inti=0;i<NUM;i++) while(num==w[i].num) { cout<<"此职工编号已存在,请重新输入:"<<endl; cin>>num; } w[NUM].num=num; cin>>w[NUM].name>>w[NUM].sex>>w[NUM].edu>>w[NUM].age>>w[NUM].salary>>w[NUM].address>>w[NUM].tel; ++NUM; count=NUM; }voidworker::show()//显示职工信息函数实现{ cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; cout<<num<<'\t'<<name<<'\t'<<sex<<'\t'<<edu<<'\t'<<age<<'\t'<<salary<<'\t'<<address<<'\t'<<tel<<endl; cout<<endl;}voidWorkerList::modify()//职工信息修改函数实现{ if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"<<endl; menu(); } else { cout<<"职工信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; for(inti=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } cout<<"请输入需要修改信息职工的工号:"<<endl; stringnum1; cin>>num1; intj=0,k; intflag=1; while(flag) { for(;j<count;j++) { if(num1==w[j].num) { flag=0; k=j; break; } } if(flag) { cout<<"不存在此员工,请重新输入:"<<endl; j=0; cin>>num1; } } cout<<"你选择的职工的信息为:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; cout<<w[k].num<<'\t'<<w[k].name<<'\t'<<w[k].sex<<'\t'<<w[k].edu<<'\t'<<w[k].age<<'\t'<<w[k].salary<<'\t'<<w[k].address<<'\t'<<w[k].tel<<endl; cout<<endl; cout<<"***********************************************"<<endl; cout<<"**1.修改工号**"<<endl; cout<<"**2.修改姓名**"<<endl; cout<<"**3.修改性别**"<<endl; cout<<"**4.修改学历**"<<endl; cout<<"**5.修改年龄**"<<endl; cout<<"**6.修改工资**"<<endl; cout<<"**7.修改地址**"<<endl; cout<<"**8.修改电话**"<<endl; cout<<"**0.返回主菜单**"<<endl; cout<<"***********************************************"<<endl; cout<<endl; cout<<"请选择数字编号0~8"<<endl; inti3; cin>>i3; while(i3<0||i3>8) { cout<<"输入有误,请重新输入:"<<endl; cin>>i3; } switch(i3) { case1: cout<<"请输入新的职工工号:"; cin>>w[k].num; cout<<"修改信息已保存,现返回主菜单:"<<endl; menu(); break; case2: cout<<"请输入新的职工姓名:"; cin>>w[k].name; cout<<"修改信息已保存,现返回主菜单:"<<endl; menu(); break; case3: cout<<"请输入新的职工性别:"; cin>>w[k].sex; cout<<"修改信息已保存,现返回主菜单:"<<endl; menu(); break; case4: cout<<"请输入新的职工学历:"; cin>>w[k].edu; cout<<"修改信息已保存,现返回主菜单:"<<endl; menu(); break; case5: cout<<"请输入新的职工年龄:"; cin>>w[k].age; cout<<"修改信息已保存,现返回主菜单:"<<endl; menu(); break; case6: cout<<"请输入新的职工工资:"; cin>>w[k].salary; cout<<"修改信息已保存,现返回主菜单:"<<endl; menu(); break; case7: cout<<"请输入新的职工地址:"; cin>>w[k].address; cout<<"修改信息已保存,现返回主菜单:"<<endl; menu(); break; case8: cout<<"请输入新的职工电话:"; cin>>w[k].tel; cout<<"修改信息已保存,现返回主菜单:"<<endl; menu(); break; case0: menu(); default: break; }}voidWorkerList::showworker()//职工信息显示函数实现{ if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"<<endl; } else cout<<"已保存的职工信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; for(inti=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; cout<<"是否返回主菜单?Y/N"<<endl; cin>>p; while(1) { if(p=="y"||p=="Y") { menu(); } elseif(p=="n"||p=="N") { cout<<"系统退出!!"<<endl; exit(0); } else { cout<<"输入有误,请重新输入:"; cin>>p; } }}voidWorkerList::search(){ if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"<<endl; } else cout<<"请选择查找方式:"<<endl; cout<<"***********************************************"<<endl; cout<<"**1.按工号查找**"<<endl; cout<<"**2.按姓名查找**"<<endl; cout<<"**3.按工资查找**"<<endl; cout<<"**4.按学历查找**"<<endl; cout<<"**0.返回主菜单**"<<endl; cout<<"***********************************************"<<endl; cout<<endl; cout<<"请选择数字编号0~4"<<endl; inti4; cin>>i4; while(i4<0||i4>4) { cout<<"输入有误,请重新输入:"<<endl; cin>>i4; } if(i4==1) { stringnum2; cout<<"请输入要查询的职工的工号:"<<endl; cin>>num2; intj=0,k; intflag=1; while(flag) { for(;j<count;j++) { if(num2==w[j].num) { flag=0; k=j; cout<<"查询的职工信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; cout<<w[k].num<<'\t'<<w[k].name<<'\t'<<w[k].sex<<'\t'<<w[k].edu<<'\t'<<w[k].age<<'\t'<<w[k].salary<<'\t'<<w[k].address<<'\t'<<w[k].tel<<endl; break; } } if(flag) { flag=0; cout<<"不存在此职工!!\n返回主菜单"<<endl; break; } } } elseif(i4==2) { stringname2; cout<<"请输入要查询的职工的姓名:"<<endl; cin>>name2; intj2=0,k2; intflag2=1; while(flag2) { for(;j2<count;j2++) { if(name2==w[j2].name) { flag2=0; k2=j2; cout<<"查询的职工信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; cout<<w[k2].num<<'\t'<<w[k2].name<<'\t'<<w[k2].sex<<'\t'<<w[k2].edu<<'\t'<<w[k2].age<<'\t'<<w[k2].salary<<'\t'<<w[k2].address<<'\t'<<w[k2].tel<<endl; break; } } if(flag2) { flag2=0; cout<<"不存在此职工!!\n返回主菜单"<<endl; break; } } } elseif(i4==3) { intsalary2; cout<<"请输入要查询的职工的工资:"<<endl; cin>>salary2; intj3=0,k3; intflag3=1; while(flag3) { for(;j3<count;j3++) { if(salary2==w[j3].salary) { flag3=0; k3=j3; cout<<"查询的职工信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; cout<<w[k3].num<<'\t'<<w[k3].name<<'\t'<<w[k3].sex<<'\t'<<w[k3].edu<<'\t'<<w[k3].age<<'\t'<<w[k3].salary<<'\t'<<w[k3].address<<'\t'<<w[k3].tel<<endl; break; } } if(flag3) { flag3=0; cout<<"不存在此职工!!\n返回主菜单"<<endl; break; } } } elseif(i4==4) { stringedu2; cout<<"请输入要查询的职工的学历:"<<endl; cin>>edu2; intj4=0,k4; intflag4=1; while(flag4) { for(;j4<count;j4++) { if(edu2==w[j4].edu) { flag4=0; k4=j4; cout<<"查询的职工信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; cout<<w[k4].num<<'\t'<<w[k4].name<<'\t'<<w[k4].sex<<'\t'<<w[k4].edu<<'\t'<<w[k4].age<<'\t'<<w[k4].salary<<'\t'<<w[k4].address<<'\t'<<w[k4].tel<<endl; break; } } if(flag4) { flag4=0; cout<<"不存在此职工!!\n返回主菜单"<<endl; break; } } } elseif(i4==0) menu();}voidWorkerList::sort()//职工信息排序功能实现{ if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"<<endl; menu(); } else cout<<"请选择排序方式:"<<endl; cout<<"***********************************************"<<endl; cout<<"**1.按工号排序(升序)**"<<endl; cout<<"**2.按工号排序(降序)**"<<endl; cout<<"**3.按姓名排序(升序)**"<<endl; cout<<"**4.按姓名排序(降序)**"<<endl; cout<<"**5.按工资排序(升序)**"<<endl; cout<<"**6.按工资排序(降序)**"<<endl; cout<<"**0.返回主菜单**"<<endl; cout<<"***********************************************"<<endl; cout<<endl; cout<<"请选择数字编号0~6"<<endl; inti5; cin>>i5; while(i5<0||i5>6) { cout<<"输入有误,请重新输入:"<<endl; cin>>i5; } if(i5==1) { inti,j; for(i=0;i<count-1;i++) for(j=0;j<count-1-i;j++) if(w[j].num>w[j+1].num) { stringtemp; temp=w[j].num; w[j].num=w[j+1].num; w[j+1].num=temp; } cout<<"按工号升序后的信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } elseif(i5==2) { inti,j; for(i=0;i<count-1;i++) for(j=0;j<count-1-i;j++) if(w[j].num<w[j+1].num) { stringtemp; temp=w[j].num; w[j].num=w[j+1].num; w[j+1].num=temp; }cout<<"按工号降序后的信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } else if(i5==3) { inti,j; for(i=0;i<count-1;i++) for(j=0;j<count-1-i;j++) if(w[j].name>w[j+1].name) { stringtemp; temp=w[j].name; w[j].name=w[j+1].name; w[j+1].name=temp; } cout<<"按姓名升序后的信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } else if(i5==4) { inti,j; for(i=0;i<count-1;i++) for(j=0;j<count-i-1;j++) if(w[j].name<w[j+1].name) { stringtemp; temp=w[j].name; w[j].name=w[j+1].name; w[j+1].name=temp; } cout<<"按姓名降序后的信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } else if(i5==5) { inti,j; for(i=0;i<count-1;i++) for(j=0;j<count-i-1;j++) if(w[j].salary>w[j+1].salary) { inttemp; temp=w[j].salary; w[j].salary=w[j+1].salary; w[j+1].salary=temp; } cout<<"按工资升序后的信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } else if(i5==6) { inti,j; for(i=0;i<count-1;i++) for(j=0;j<count-i-1;j++) if(w[j].salary<w[j+1].salary) { inttemp; temp=w[j].salary; w[j].salary=w[j+1].salary; w[j+1].salary=temp; } cout<<"按工资降序后的信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } elseif(i5==0) menu();}voidWorkerList::dele()//职工信息删除功能实现{ inti; if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"<<endl; menu(); } else cout<<"职工信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; cout<<"请输入需要删除信息职工的工号:"<<endl; stringnum3; cin>>num3; intj=0,k; intflag=1; while(flag) { for(;j<count;j++) { if(num3==w[j].num) { flag=0; k=j; break; } } if(flag) { cout<<"不存在此员工,请重新输入:"<<endl; j=0; cin>>num3; } } cout<<"你选择的职工的信息为:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; cout<<w[k].num<<'\t'<<w[k].name<<'\t'<<w[k].sex<<'\t'<<w[k].edu<<'\t'<<w[k].age<<'\t'<<w[k].salary<<'\t'<<w[k].address<<'\t'<<w[k].tel<<endl; cout<<"确认请输入Y\t返回主菜单请输入N"<<endl; stringp; cin>>p; while(1) { if(p=="y"||p=="Y") { cout<<"员工信息已删除!"<<endl; for(inti=0;i<count;i++) if(w[i].num==num3) intj=i; for(;j<=count-1;j++) w[j]=w[j+1]; count--; break; } elseif(p=="n"||p=="N") { menu(); } else { cout<<"输入有误,请重新输入:"; cin>>p; } }}voidWorkerList::save(){ inti; if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"<<endl; menu(); } else { ofstreamfout; fout.open("D:\\worker.txt",ios_base::out); cout<<"文献正在保存......请稍候!!"<<endl; cout<<"数据保存成功!!!"<<endl; cout<<"已保存员工信息如下:"<<endl; cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl; for(i=0;i<count;i++) fout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; cout<<"系统返回主菜单:"<<endl; menu(); fout.close(); } }voidWorkerList::read(){ ifstreamin("D:\\worker.txt"); inti=0; intcount=3; for(i=0;i<count;i++) { in>>w[i].num>>w[i].name>>w[i].sex>>w[i].edu>>w[i].age>>w[i].salary>>w[i].address>>w[i].tel;cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } }intmain(){ WorkerListe; e.read(); login(); domain(); voidsave(); voidread(); return0;}五、测试数据及其结果分析运营后,程序的主菜单界面如下:1.登录页面(1)管理员模式的页面(2)用户模式页面2.主菜单(1)职工信息添加(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国阀门铸件市场运行状况及前景趋势分析报告
- 2025-2030年中国铁路设备行业发展状况及营销战略研究报告
- 2025-2030年中国调节阀产业运行态势及发展前景分析报告
- 2025-2030年中国苹果汁市场发展规模及前景预测分析报告
- 中如何制作电子印章
- 2025-2030年中国福建燃气市场运行状况与前景趋势分析报告
- 新疆工业职业技术学院《酒店服务技能实训》2023-2024学年第二学期期末试卷
- 齐齐哈尔工程学院《空竹》2023-2024学年第二学期期末试卷
- 广东技术师范大学《文字与版式设计》2023-2024学年第二学期期末试卷
- 吉林师范大学《城市公用事业管理理论与实践》2023-2024学年第二学期期末试卷
- 2024-2025学年山东省潍坊市高三上学期1月期末英语试题
- 2025-2030年中国青海省旅游行业市场现状调查及发展趋向研判报告
- 人力资源部门2023年度招聘效果分析
- 八年级数学下册 第1章 单元综合测试卷(北师版 2025年春)
- 舞蹈艺术赏析课件
- 2025年春新外研版(三起)英语三年级下册课件 Unit1第1课时Startup
- 2025年安徽碳鑫科技有限公司招聘笔试参考题库含答案解析
- 2025广东珠海高新区科技产业局招聘专员1人历年高频重点提升(共500题)附带答案详解
- 数学-福建省泉州市2024-2025学年高三上学期质量监测(二)试卷和答案(泉州二模)
- 2025年寒假实践特色作业设计模板
- 2024年甘肃省公务员考试《行测》真题及答案解析
评论
0/150
提交评论