C课程设计企业员工工资管理系统.docx
- 文档编号:8818295
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:15
- 大小:388.14KB
C课程设计企业员工工资管理系统.docx
《C课程设计企业员工工资管理系统.docx》由会员分享,可在线阅读,更多相关《C课程设计企业员工工资管理系统.docx(15页珍藏版)》请在冰豆网上搜索。
C课程设计企业员工工资管理系统
重庆科技学院
《面向对象程序设计》课程设计报告
学院:
_电气与信息工程学院_专业班级:
学生姓名:
学号:
设计地点(单位)___计算机基础自主学习中心___
设计题目:
_______公司员工信息管理系统设计
完成日期:
2013年1月16日
指导教师评语:
__________________________________
____________________________________________________________________________________________________________________________________________________
成绩(五级记分制):
________________
指导教师(签字):
________________
摘要
在市场竞争化日益严剧的今天,良好的公司人员信息管理系统越来越被人们所需要。
人员的来去,职位的升迁,薪水的统计等等,这一切在用以往的人力统计的方式来解决已经不适合于拥有上万职工的大型企业,拥有良好的管理系统已经成为企业成功的必需品。
论文对公司人员管理系统的介绍,使用类的思想加以链表的方式来实现,把公司人员的信息都存入链表中。
其中拥有添加员工信息,删除员工信息、修改员工信息、查询员工信息等功能,以帮助用户更方便快捷的管理员工信息。
关键字:
管理系统类链表
重庆科技学院
课程设计任务书
设计题目:
公司员工信息管理系统设计
学生姓名
课程名称
面向对象程序设计
专业班级
计科1102
地点
I306
起止时间
2013年1月7日~1月18日
设计内容及要求
1)问题描述
某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。
其中,雇员分为经理、技术人员、销售人员和销售经理。
设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。
2)功能要求
(1)添加功能:
程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:
可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;
(3)显示功能:
可显示当前系统中所有记录,每条记录占据一行。
(4)编辑功能:
可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:
主要实现对已添加的人员记录进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空!
”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
(6)统计功能:
能根据多种参数进行人员的统计。
例如,统计四类人员数量以及总数,
或者统计男、女员工的数量等信息。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。
设计
参数
(1)系统分析、设计正确。
(2)结果以图表方式显示。
(3)界面简洁、美观。
(4)报告格式规范。
进度
要求
周一:
明确设计任务,学习相关基础知识
周二:
熟悉各知识点,进行基础练习
周三:
根据题目要求,进行设计和实现
周四:
根据题目要求,进行设计和实现
周五:
程序测试
参考资料
[1]RichardJohnsonbaugh.MartinKalin.《面向对象程序设计—C++语言描述》.机械工业出版社.2009年
[2]钱能.《C++语言程序设计教程》.清华大学出版社.2005年
其它
说明
1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。
2.若填写内容较多可另纸附后。
3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。
教研室主任:
指导教师:
裴仰军/伍建全/焦晓军/陈应祖2013年1月1日
第一章软件需求分析说明书
1.1问题描述
某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。
其中,雇员分为经理、技术人员、销售人员和销售经理。
设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。
1.2功能要求
1)添加功能:
程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
2)查询功能:
可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;
3)显示功能:
可显示当前系统中所有记录,每条记录占据一行。
4)编辑功能:
可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
5)删除功能:
主要实现对已添加的人员记录进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空!
”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
6)统计功能:
能根据多种参数进行人员的统计。
例如,统计四
类人员数量以及总数,或者统计男、女员工的数量等信息。
第二章系统分析与设计
2.1软件界面设计
图2.1主界面
系统主界面,用户可以输入0~5进行选择。
图2.2添加信息界面
输入1添加员工详细信息
图2.3删除界面
输入2进入删除界面,输入你要删除的编号进行删除
图2.4修改界面
输入3进行修改,先输入编号进行确定,再进行删除。
图2.5退出界面
输入0退出系统。
2.2软件的数据(结构)设计
对整个软件使用的文件功能、文件内部的数据格式进行说明
voidWorker:
:
Recordinfo(intnum1,stringname1,intage1,stringsex1,stringdepartment1,floatwage1)
{
ofstreamfile1("info1.txt",ios:
:
app);
file1<<"员工编号:
"< "< "< "< "< "< file1.close(); } 用追加的方式打开字符流,将文件写到info1.txt文件中。 2.3软件的算法设计 图2.6系统框架图 当进入主界面后会有选择菜单,你可以根据需要进行选择: 0-5,当你完成操作后可以退回到主界面,也可以直接退出系统。 第三章软件的实现 3.1添加员工信息 使用voidAddItem(int,string,int,string,string,float)函数进行员工的添加。 if(! head)//首先创建链表,对链表进行初始化 {head=newWorker_pay; head->num=num1; head->name=name1; head->age=age1; head->sex=sex1; head->department=department1; head->wage=wage1; head->next=NULL; return;} Worker_pay*t=head; while(t&&t->num! =num1) t=t->next; if(t)//判断储存编号是否存在 { cout<<"操作失败;员工编号为"< ! ! "< Worker_pay*p=head; while(p->next) p=p->next; Worker_pay*p1=newWorker_pay;//将成员信息加入到链表中 p1->num=num1; p1->name=name1; p1->age=age1; p1->sex=sex1; p1->department=department1; p1->wage=wage1; p1->next=NULL; p->next=p1; return; } 3.2删除员工信息 使用voidRemoveItem(int)函数进行成员信息的删除,由于成员编号的唯一性,可以直接比较编号,找到后直接删除该信息。 Worker_pay*Worker: : Find(intnum)//寻找成员 { if(ListCount==0) { cout<<"列表为空,请先输入数据! ! ! "< returnNULL;} Worker_pay*p=head; while(p) {if(p->num==num) break; p=p->next;} if(! p) {cout<<"错误,找不到该信息! ! ! "< returnNULL;}returnp;} Worker_pay*t=Find(num); if(! t) return; Worker_pay*p=head; if(head=t)//判断是不是第一个元素 { head=head->next; deletep; cout<<"成功删除员工编号为"< "< return } while(p->next! =t)//遍历链表,找到信息后删除 p=p->next; Worker_pay*p1=p->next; p->next=p1->next; deletep1; cout<<"成功删除员工编号为"< "< 3.3修改员工信息 使用voidReplaceItem(int)函数进行员工信息的修改,利用编号唯一性寻找到该成员,然后修改。 Worker_pay*p=Find(num);//寻找到该成员 if(! p)return; cout<<"请重新输入相应信息"< cout<<"员工编号: "; cin>>p->num; cout<<"员工姓名: "; cin>>p->name; 3.4查找员工信息 利用voidSearch(int)函数进行信息的查找。 Worker_pay*p=Find(num); if(p) { cout<<"员工编号为"< "< cout<<"员工编号员工姓名年龄性别职位工资"< cout< 3.5显示员工信息 用voidListL()函数进行遍历链表,并输出信息。 floatsum=0;floataver=0;intn=0; if(ListCount==0) { cout<<"当前列表为空,请先输入数据! "< Worker_pay*p=head; while(p) {Display(p);n++; sum+=p->wage; p=p->next } return; 第四章软件使用说明书 4.1主界面 图2.7主界面 用户可以根据需要进行系统功能的使用,输入1-5进入使用,输入0退出系统 4.2添加信息 图2.8添加信息 输入1进入添加信息功能,输入你所要添加的信息,输入信息完毕之后根据需要是否要继续添加,需要继续添加,不需要输入-1,返回主界面 4.3删除信息 图2.9删除信息 输入2进入添加信息功能,输入你所要删除的信息,输入信息完毕之后可以看见删除成功,继续删除输入编号,不需要输入-1,返回主界面。 4.4修改信息 图2.10修改信息 输入3进入修改信息功能,输入你所要修改的信息,输入信息完毕之后可以看见修改成功,继续修改输入编号,不需要输入-1,返回主界面。 4.5查找信息 图2.11查找信息 输入4进入查找信息功能,输入你所要查找的信息,输入信息完毕之后可以看见信息输出,继续查询输入编号,不需要输入-1,返回主界面。 4.6显示员工信息 图2.12显示员工信息 输入5进入显示信息功能,屏幕输出所有成员信息,输入-1返回主界面。 4.7退出界面 图2.13退出界面 4.8保存文本 图2.14保存文本 五总结 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 要继续努力。 致谢 感谢老师给予我C++课程的教导,感谢同学等给予我的帮助。 非常感谢。 参考文献 [1]严蔚敏吴伟民数据结构(C语言版)清华大学出版社,2000 [2]陈天华编.面向对象程序设计与VisualC++6.0教程[M].北京: 清华大学出版社,2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 企业 员工 工资管理 系统