工资管理系统c++编程实验报告

上传人:第*** 文档编号:55321412 上传时间:2018-09-27 格式:DOC 页数:19 大小:117KB
返回 下载 相关 举报
工资管理系统c++编程实验报告_第1页
第1页 / 共19页
工资管理系统c++编程实验报告_第2页
第2页 / 共19页
工资管理系统c++编程实验报告_第3页
第3页 / 共19页
工资管理系统c++编程实验报告_第4页
第4页 / 共19页
工资管理系统c++编程实验报告_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《工资管理系统c++编程实验报告》由会员分享,可在线阅读,更多相关《工资管理系统c++编程实验报告(19页珍藏版)》请在金锄头文库上搜索。

1、C+程序设计课程综合实习实习题目: 工资管理系统 系 别: 计算机系 _专 业: 计算机与科学班 级: 姓 名: 学 号: 指导教师: 日 期: 2015 年 12 月 27 日_目录一、课程实习的题目、任务与要求2 1.课程实习的题目2 2.课程实习内容2 3.课程实习的要求2 二、系统分析2 1.需求分析2 2.系统性能要求3 3.系统的功能分析3 4.系统功能模块3 5.模块框架图3 三、系统设计与实现4 1.界面设计4 2.功能设计与实现4 四、运行及测试结果5 五、总结5 六、参考资料5 附录:源程序6一、课程实习的题目、任务与要求一、课程实习的题目、任务与要求1.1.课程实习的题目

2、课程实习的题目工资管理系统2.2.课程实习内容课程实习内容(1)存储的数据包括:员工号,姓名,基本工资,补贴金额,奖励金额,扣除金额、实发 工资等) 。实发工资=基本工资补贴金额奖励金额-扣除金额。 (2)按职工号增加、删除、修改记录功能; (3)查询功能,包括按姓名、职工号查询; (4)排序功能,按指定的关键字(如职工号、姓名、实发工资)排序。3.3.课程实习的要求课程实习的要求根据 C+课程所学的概念、理论和方法,按照 C+程序设计的基本步骤,设计出一个 适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程序,对给出的程序源 代码要给出各部分的详细注释自己根据能力及需要添加相应功能

3、模块,增强模拟系统功 能。包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图、逻辑结构设计 等。二、系统分析二、系统分析1.1.需求分析需求分析a.能对员工工资信息进行录入。 b.能对员工工资信息进行增加。 c.能对员工工资进行删除。 d.能对员工工资进行修改。 e.能对员工按实发工资,姓名,进行查询。 f.能输出员工工资的所有数据。 g.能对员工工资信息按实发工资、员工号进行排序。2.2.系统性能要求系统性能要求a.系统安全、可靠; b.功能齐全; c.操作方便、界面友好; d 易于维护和扩充。3.3.系统的功能分析系统的功能分析资料维护:系统维护包括对员工工资信息的录入操作及数据

4、表中的信息进行浏览。 系统功能:可以对数据表中的信息进行浏览。 系统查询:可以对员工工资信息进行查询。4.4.系统功能模块系统功能模块员工查询系统有:工资信息录入、增加、删除、修改,数据查询,排序显示构成。5.5.模块框架图模块框架图工资管理系统操作查询排序退出录入增加删除修改实发工 资姓名按实发工资排序按员工 好排序输出所有学生的成绩三、系统设计与实现三、系统设计与实现1.1.界面设计界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。通过 cout 语句排列而成。2.2.功能设计与实现功能设计与实现应用系统主控界面主要包括三大模块:记录编辑、记录查询、排序。 (一) 记录编辑 (1)

5、数据录入 数据录入是通过 cin 输入数据,然后用文件“工资表.txt”来作以储存。 (2)增加员工数据 增加员工数据是通过 cin 输入数据,然后用文件“工资表.txt”来作以储存。 (3)删除员工数据 删除员工数据是通过 cin 语句输入要删除的员工信息,然后使用 if 语句在“工作表1.txt”中寻找名字判断是否相等,最后在文件中删除。 (4)修改员工数据 修改员工数据是通过 cin 语句输入要修改的员工信息,然后使用 if 语句在“工作表1.txt”中寻找名字判断是否相等,再使用 cin 输入修改的信息,最后储存在文件中。如果寻 找不到则输出“对不起,您要修改的学生不存在!请查证后输入

6、!” 。 (二) 查询(1)按员工实发工资查询 通过输入员工实发工资,在 for 循环语句中用 if 语句在“工作表 1.txt”中寻找实发工 资是否与输入的实发工资相等,如果相等就输出该员工信息,如果寻找不到就输出“对不 起!您要查询的员工不存在!” 。 (2)按员工姓名查询 通过输入员工姓名,在 for 循环语句中用 if 语句在“工作表 1.txt”中寻找姓名是否与 输入的员工姓名相等,如果相等就输出该员工的信息,如果寻找不到就输出“对不起!您 要查询的员工不存在!” 。 (3)浏览所有员工工资信息 直接输出“工作表 1.txt”中的数据。 (三) 排序 (1)按实发工资排序 先让实发工

7、资数组赋给 a100,再通过双重 for 语句依次将 an小的调到前面,排序完 后再通过双重 for 循环输出排序后的相关信息。 (2)按员工号排序 先让员工号数组赋给 a100,再通过双重 for 语句依次将 an小的调到前面,排序完后 再通过双重 for 循环输出排序后的相关信息。在每个 case 中都有一个判断是否继续运行次 case 和一个是否进行其他操作。在 case4/5/6/8/9 开头都有一个判断语句,判断系统中是否有数据,没有数据则结束此 case, 有则继续执行下一条语句。四、运行及测试结果四、运行及测试结果每一个 case 都能执行,但是有些的地方还都不够完善,例如:删除

8、数据中,本来没有 该员工信息,它也依然显示删除成功。五、总结五、总结此次 C+程序设计课程综合实习,让我们学会了如何用 C+编写一个简单的应用程序。 首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码 设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原 则,便于查询。 根据 C+课程所学的概念、理论和方法,按照 C+程序设计的基本步骤,设计出一个 适当规模的程序;进一步加深对 C+语言的理解和掌握。理论联系实际,加深和巩固所学 的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐 的,程序的编写原则很重要,只要我

9、们在编程,就必须不断改进,才能更好提高编程能力。六、参考资料六、参考资料龚静 李娟芳.C+语言程序设计.西安:西北工业大学出版社,2013.附录:源程序附录:源程序#include #include #include #include #include using namespace std; class Money string name; float Wage,Subsidy,Reward,Deduct,SumWage; int number; public: Money(); Money(int num,string n,float W,float S,float R,float D);

10、 float getSumWage();/实发工资 friend void main(); ; Money:Money(int num, string n, float W, float S, float R, float D) number=num; name=n; Wage=W;/基本工资 Subsidy=S;/补贴工资 Reward=R;/奖励工资 Deduct=D;/扣除工资 float Money:getSumWage() SumWage=Wage+Subsidy+Reward-Deduct; return SumWage; void main() system(“color 0a“

11、); coutp; if(p=0 coutname; coutWage; coutSubsidy; coutReward; coutDeduct; SumWage=Wage+Subsidy+Reward-Deduct; fstream outfile,infile; outfile.open(“工资表.txt“,ios:out|ios:app);/用于 显示录入的数据 if(!file) coutc; chris1=0; do if(c!=y else chris1=1; while(chris1=0); while(c=y); break; case 2:/增加员工工资信息 char c;/

12、用于判断是否 int number; string name; float Wage,Subsidy,Reward,Deduct,SumWage;do coutnumber; coutname; coutWage; coutSubsidy; coutReward; coutDeduct; SumWage=Wage+Subsidy+Reward-Deduct;fstream outfile,infile; outfile.open(“工资表.txt“,ios:out|ios:app); if(!file) coutc; if(c!=y while(c=y); break; case 3:/删除员

13、工资料 char c;string xingming,line,str,name; do ifstream fin(“工资表.txt“); fstream outfile(“工资表.txt“,ios:trunc|ios:out); /作 一个文本文档在文件夹中用于显示所录入的数据coutxingming; while(!fin.eof() ) getline(fin,line); istringstream stream(line); name = line.substr(0,line.find(“ “,0);/找到名字, 判断是否相等if(name != xingming) outfilec

14、; if(c!=y while(c=y); break; case 4:/修改员工工资数据 string sname,line,str,name; int n; float W,S,R,D,SW; int flag; char c;if(i=0) coutname;fstream fin(“工资表.txt“,ios:in); ofstream outfile(“工资表.txt“,ios:trunc|ios:out); coutn;coutname;coutW;coutS;coutR;coutD;SW=W+S+R-D;coutc;coutc;while(c=y); break; case 5:/

15、按员工号查询 int j=0; float num; char c;int flag;if(i=0)coutnum;for(int j=0;jnumber=num)flag=1;coutc;if(c!=y while(c=y); break; case 6:/按姓名查询 string n; char c; int j=0; int flag;if(i=0)coutn;for(int j=0;jname=n)flag=1;coutc; if(c!=y while(c=y);break; case 7:/浏览所有员工工资信息 coutan+1) temp=an; an=an+1; an+1=temp; for(n=1;ngetSumWage()=an)coutan+1) temp=an; an=an+1; an+1=temp; for(n=1;nnumber=an) coutw;coutp; while(w=y);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号