




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C++程序设计》课程综合实习实习题目:工资管理系统系另计算机系专业:计算机与科学班级:_姓名:学号:指导教师:日期:2015年12月27日—目录一、课程实习的题目、任务与要求课程实习的题目工资管理系统课程实习内容(1)存储的数据包括:员工号,姓名,基本工资,补贴金额,奖励金额,扣除金额、实发工资等)。实发工资=基本工资+补贴金额+奖励金额-扣除金额。(2)按职工号增加、删除、修改记录功能;(3)查询功能,包括按姓名、职工号查询;(4)排序功能,按指定的关键字(如职工号、姓名、实发工资)排序。课程实习的要求根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程序,对给出的程序源代码要给出各部分的详细注释.自己根据能力及需要添加相应功能模块,增强模拟系统功能。包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图、逻辑结构设计等。二、系统分析需求分析能对员工工资信息进行录入。能对员工工资信息进行增加。能对员工工资进行删除。能对员工工资进行修改。能对员工按实发工资,姓名,进行查询。能输出员工工资的所有数据。能对员工工资信息按实发工资、员工号进行排序。系统性能要求系统安全、可靠;功能齐全;操作方便、界面友好;d易于维护和扩充。系统的功能分析资料维护:系统维护包括对员工工资信息的录入操作及数据表中的信息进行浏览系统功能:可以对数据表中的信息进行浏览。系统查询:可以对员工工资信息进行查询。系统功能模块员工查询系统有:工资信息录入、增加、删除、修改,数据查询,排序显示构成。模块框架图三、系统设计与实现界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。通过cout语句排列而成。SIC;\WINDOWS\system32\cmd,exr十卄十卄十■■■■■■■+卄欢迎束到工资管理糸统卄*■■■■■■■■■*i肓选扌垒盘远委白勺匸!木半半■半半林半半半半半半半聒半半半半半半半-操彳乍?::+::+::+:!门)数据录入〔囚増加员丄数据⑶删除员工朝据-■半半林半半半半半半半牛半半半半卓半半I:4)十卄十卄十■■■■■■■+卄欢迎束到工资管理糸统卄*■■■■■■■■■*i肓选扌垒盘远委白勺匸!木半半■半半林半半半半半半半聒半半半半半半半-操彳乍?::+::+::+:!门)数据录入〔囚増加员丄数据⑶删除员工朝据-■半半林半半半半半半半牛半半半半卓半半I:4)修己.旬_!员工数据J:+::4CD|c*Df::+::+::+::+::+::^3|c^::+::+::+::+::+::+:一查询S■**劲*******朮于******1:R):安吕~T号■呑询(6)按姓各章莎—.*木木木*木**木***木*木木*木木1:")”刘览店「右牛的謝^居:+::+::+::+::+::f::+::+::f::+::+:::+::+::+::+::+::+::+:--|^乍.|:+::+::+::+::+::+::+::+::+:::+::+::+::+::+::+::+:(y):安发~1~资曲E■■■■■■■+++——⑼按员工号■祁序-
p=+++++++#++++++#ai=+++++++(Q)退出bk++H==+==+=bk++H-++芈芈++*********芈芈*芈芈*半半车|芈*芈芈*芈芈|请输人;.芈*芈**芈*1:+::+::+:d|o|c*:+::+::+:芈芈芈*芈++++++4=+++++++^++M++++t++++功能设计与实现应用系统主控界面主要包括三大模块:记录编辑、记录查询、排序。(一)记录编辑(1)数据录入数据录入是通过cin输入数据,然后用文件“工资表.txt”来作以储存。(2)增加员工数据增加员工数据是通过cin输入数据,然后用文件“工资表.txt”来作以储存。(3)删除员工数据删除员工数据是通过cin语句输入要删除的员工信息,然后使用if语句在“工作表”中寻找名字判断是否相等,最后在文件中删除。(4)修改员工数据修改员工数据是通过cin语句输入要修改的员工信息,然后使用if语句在“工作表”中寻找名字判断是否相等,再使用cin输入修改的信息,最后储存在文件中。如果寻找不到则输出“对不起,您要修改的学生不存在!请查证后输入!”。(二)查询(1)按员工实发工资查询通过输入员工实发工资,在for循环语句中用if语句在“工作表”中寻找实发工资是否与输入的实发工资相等,如果相等就输出该员工信息,如果寻找不到就输出“对不起!您要查询的员工不存在!”。(2)按员工姓名查询通过输入员工姓名,在for循环语句中用if语句在“工作表”中寻找姓名是否与输入的员工姓名相等,如果相等就输出该员工的信息,如果寻找不到就输出“对不起!您要查询的员工不存在!”。(3)浏览所有员工工资信息直接输出“工作表”中的数据。(三)排序(1)按实发工资排序先让实发工资数组赋给a[100],再通过双重for语句依次将a[n]小的调到前面,排序完后再通过双重for循环输出排序后的相关信息。(2)按员工号排序先让员工号数组赋给a[100],再通过双重for语句依次将a[n]小的调到前面,排序完后再通过双重for循环输出排序后的相关信息。在每个case中都有一个判断是否继续运行次case和一个是否进行其他操作。在case4/5/6/8/9开头都有一个判断语句,判断系统中是否有数据,没有数据则结束此case,有则继续执行下一条语句。四、运行及测试结果每一个case都能执行,但是有些的地方还都不够完善,例如:删除数据中,本来没有该员工信息,它也依然显示删除成功。五、总结此次C++程序设计课程综合实习,让我们学会了如何用C++编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则便于查询。根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C++语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐的程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。六、参考资料龚静李娟芳.C++语言程序设计•西安:西北工业大学出版社,2013.附录:源程序#include<iostream>#include<fstream>#include<string>#include<sstream>#include<iomanip>usingnamespacestd;classMoney{stringname;floatWage,Subsidy,Reward,Deduct,SumWage;intnumber;public:Money(){};Money(intnum,stringn,floatW,floatS,floatR,floatD);floatgetSumWage();xt",ios::out|ios::app);xtcannotopen.\n";return;}outfile〈〈"员工号:"〈〈number〈〈"姓名:"〈〈name〈〈endl〈〈"基本工资:"〈〈Wage〈〈"补贴工资:"〈〈Subsidy〈〈"奖励工资:"〈〈Reward〈〈"扣除工资:"〈〈Deduct〈〈"实发工资:"〈〈SumWage〈〈endl;();("工资表.txt",ios::in);if(!file){cout〈〈"工资表.txtcannotopen.\n";return;}charch;while(ch))cout〈〈ch;xt",ios::out|ios::app);if(!file){cout〈〈"工资表.txtcannotopen.\n";return;}outfile〈〈"员工号:"〈〈number〈〈"姓名:"〈〈name〈〈endl〈〈"基本工资:〃〈〈Wage〈〈〃补贴工资:〃〈〈Subsidy〈〈〃奖励工资:〃〈〈Reward〈〈〃扣除工资:"〈〈Deduct〈〈"实发工资:"〈〈SumWage〈〈endl;();("工资表.txt",ios::in);if(!file){cout〈〈"工资表.txtcannotopen.\n";return;}charh;while(h)){cout〈〈h;}cout〈〈endl;();j++;s[i]=newMoney(number,name,Wage,Subsidy,Reward,Deduct);i++;cout〈〈"员工数据增加成功,想继续录入吗(y/n)"〈〈endl;cin>>c;if(c!='y'&&c!='n'){cout〈〈"输入的指令无效!请重新输入!"〈〈endl;cin>>c;}}while(c=='y');break;}case3:xt");fstreamoutfile(“工资表.txt",ios::trunc|ios::out);xt",ios::trunc|ios::out);ifstreamoutf("工资表.txt");f〈〈();();();if(name!=xingming){cout〈〈〃该员工数据删除成功,想继续删除吗?(y/n)"〈〈endl;cin>>c;}if(c!='y'&&c!='n'){cout〈〈"指令错误!请重新输入!"〈〈endl;cin>>c;}}while(c=='y');break;}case4:xt",ios::in);ofstreamoutfile("工资表.txt",ios::trunc|ios::out);cout〈〈endl;while(!())xt",ios::trunc|ios::out);fstreaminf("工资表.txt",ios::in);outf<<()<<endl;();();}if(flag=0){cout〈〈"对不起,您要修改的学生不存在!请查证后输入!"<<endl;}cout〈〈"想继续修改吗(y/n):";cin>>c;cout〈〈endl;if(c!='y'&&c!='n'){cout〈〈"输入的指令无效!请重新输入!"〈〈endl〈〈"〃.cin>>c;}}while(c=='y');break;}case5:ame〈〈endl;cout〈〈"该员工的工资信息为:"〈〈endl;cout〈〈"员工号:"〈〈(*s[j]).number〈〈"姓名:"〈〈(*s[j]).name〈〈endl〈〈"基本工资:"〈〈(*s[j]).Wage〈〈"补贴工资:"〈〈(*s[j]).Subsidy〈〈"奖励工资:"〈〈(*s[j]).Reward〈〈"扣除工资:"〈〈(*s[j]).Deduct〈〈"实发工资:"〈〈(*s[j]).SumWage〈〈endl;}}if(flag==0)cout〈〈"对不起!您要查询的员工不存在!"〈〈endl;cout〈〈"是否继续查?(y/n):";cin>>c;if(c!='y'&&c!='n'){cout〈〈"输入的指令无效!请重新输入!"〈〈endl;cin>>c;}}while(c=='y');break;}case6:ame〈〈endl;cout〈〈"该生的工资信息是:\n员工号:"〈〈(*s[j]).number〈〈endl〈〈"基本工资:"〈〈(*s[j]).Wage〈〈"补贴工资:"〈〈(*s[j]).Subsidy〈〈"奖励工资:"〈〈(*s[j]).Reward〈〈"扣除工资:"〈〈(*s[j]).Deduct〈〈"实发工资:"〈〈(*s[j]).SumWage〈〈endl;}}if(flag==0){cout〈〈"对不起您要查询的员工不存在,请查证后再输入!"〈〈endl;}cout〈〈"您想继续查询吗?(y/n):";cin>>c;if(c!='y'&&c!='n'){cout〈〈"输入的指令无效!请重新输入:"〈〈endl;cin>>c;}}while(c=='y');break;}case7:xt",ios::in);cout〈〈();();break;}case8:etSumWage();j++;}for(h=0;h〈i;h++){for(n=0;n〈i-h;n++)if(a[n]>a[n+1]){temp=a[n];a[n]=a[n+1];a[n+1]=temp;}}for(n=1;n〈=i;n++){for(intj=0;j〈i;j++){if(s[j]->getSumWage()==a[n]){cout〈〈〃实发工资排第〃〈〈n〈〈〃的员工是:"〈〈(*s[j]).name〈〈"实发工资:"〈〈(*s[j]).SumWage〈〈endl;}}}break;}case9:umber;j++;}for(h=0;h〈i;h++){for(n=0;n〈i-h;n++)if(a[n]>a[n+1]){temp=a[n];a[n]=a[n+1];a[n+1]=temp;}}for(n=1;n<=i;n++){for(intj=0;j<i;j++){if(s[j]->number==a[n]){cout〈〈"第"〈〈n〈〈"位员工是:"〈〈(*s[j]).name〈〈"员工号:"〈〈(*s[j]).number〈〈"实发工资:"〈〈(*s[j]).getSumWage()〈〈endl;}}}break;}case0:{exit(0);}}cout〈〈"您想继续进行其他操作吗?(y/n):";intflag=0;do{cin>>w;cout〈〈endl;if(w!='y'&&w!='n')cout〈〈"输入的指令无效!请重新输入!"〈〈endl;elseflag=1;}while(flag==0);if(w=='y'){-t-a-4-//*A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A*|()|||\\*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»***********"〈〈endl;z~v-«-a-4-//*A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A*|()|||\\*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»***********"〈〈endl;z~v-«-a-4-//*A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A**A*|()|||\\*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»*T»***********"〈〈endl;**欢迎来到工资管理系统cout〈〈"*******nm***umm***"〈〈**欢迎来到工资管理系统请选择您需要的操作!cout〈〈"*****!*****************请选择您需要的操作!***********|*********"〈〈endl;cout〈〈"***■*******************-操作:***********|*********〃〈〈endl;cout〈〈"***|*******************(1)数据录入***********|*********"〈〈endl;cout〈〈"***|*******************(2)增加员工数据***********|*********"〈〈endl;(3)删除员工数据cout〈〈"***|*******************(3)删除员工数据***********|*********"〈〈endl;(4)修改员工数据cout〈〈"***|*******************(4)修改员工数据***********|*********"〈〈endl;cout〈〈"***■**********
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论