C++课程设计 - 企业员工工资管理系统

更新时间:2024-03-15 12:53:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

重庆科技学院

《面向对象程序设计》

课程设计报告

学 院:_电气与信息工程学院_ 专业班级: 学生姓名: 学 号: 设计地点(单位)__ _ 计算机基础自主学习中心 _ _ _ 设计题目:______ _公司员工信息管理系统设计 完成日期:2013年 1 月 16 日

指导教师评语: ______________________ ____________

____________________________________________________________________________________________________________________________________________________

成绩(五级记分制):________________

指导教师(签字):________________

重庆科技学院《面向对象程序设计》课程设计报告

摘要

在市场竞争化日益严剧的今天,良好的公司人员信息管理系统越来越被人们所需要。人员的来去,职位的升迁,薪水的统计等等,这一切在用以往的人力统计的方式来解决已经不适合于拥有上万职工的大型企业,拥有良好的管理系统已经成为企业成功的必需品。

论文对公司人员管理系统的介绍,使用类的思想加以链表的方式来实现,把公司人员的信息都存入链表中。其中拥有添加员工信息,删除员工信息、修改员工信息、查询员工信息等功能,以帮助用户更方便快捷的管理员工信息。

关键字:管理系统 类 链表

I

重庆科技学院 课程设计任务书

设计题目:公司员工信息管理系统设计

学生姓名 课程名称 地 点 面向对象程序设计 I306 专业班级 计科1102 起止时间 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)报告格式规范。

II

重庆科技学院《面向对象程序设计》课程设计报告

进度 要求 周一:明确设计任务,学习相关基础知识 周二:熟悉各知识点,进行基础练习 周三:根据题目要求,进行设计和实现 周四:根据题目要求,进行设计和实现 周五:程序测试 参考资料 其它 说明 [1]Richard Johnsonbaugh. Martin Kalin.《面向对象程序设计—C++语言描述》.机械工业出版社.2009年 [2]钱能.《C++语言程序设计教程》.清华大学出版社.2005年 1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。2.若填写内容较多可另纸附后。 3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。 教研室主任: 指导教师:裴仰军/伍建全/焦晓军/陈应祖 2013年1月1日

目 录

第一章 软件需求分析说明书 ................................................................. 错误!未定义书签。

1.1问题描述 .......................................................................................... 错误!未定义书签。

III

1.2功能要求 ........................................................................................ 错误!未定义书签。 第二章 系统分析与设计 ......................................................................... 错误!未定义书签。

2.1 软件界面设计 ................................................................................. 错误!未定义书签。 2.2 软件的数据(结构)设计 ............................................................. 错误!未定义书签。 2.3 软件的算法设计 ............................................................................. 错误!未定义书签。 第三章 软件的实现 ................................................................................. 错误!未定义书签。

3.1添加员工信息 .................................................................................. 错误!未定义书签。 3.2删除员工信息 .................................................................................. 错误!未定义书签。 3.3修改员工信息 .................................................................................. 错误!未定义书签。 3.4查找员工信息 .................................................................................. 错误!未定义书签。 3.5显示员工信息 .................................................................................. 错误!未定义书签。 第四章 软件使用说明书 ......................................................................... 错误!未定义书签。

4.1 主界面 ............................................................................................. 错误!未定义书签。 4.2添加信息 .......................................................................................... 错误!未定义书签。 4.3删除信息 .......................................................................................... 错误!未定义书签。 4.4修改信息 .......................................................................................... 错误!未定义书签。 4.5查找信息 .......................................................................................... 错误!未定义书签。 4.6显示员工信息 .................................................................................. 错误!未定义书签。 4.7退出界面 .......................................................................................... 错误!未定义书签。 4.8 保存文本 ......................................................................................... 错误!未定义书签。 五 总结 ........................................................................................................... 错误!未定义书签。 致谢................................................................................................................. 错误!未定义书签。 参考文献 ......................................................................................................... 错误!未定义书签。 致谢................................................................................................................. 错误!未定义书签。

IV

重庆科技学院《面向对象程序设计》课程设计报告

第一章 软件需求分析说明书

1.1问题描述

某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。其中,雇员分为经理、技术人员、销售人员和销售经理。设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。

1.2功能要求

1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。

2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;

3)显示功能:可显示当前系统中所有记录,每条记录占据一行。 4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。

6)统计功能:能根据多种参数进行人员的统计。例如,统计四 类人员数量以及总数,或者统计男、女员工的数量等信息。

1

第二章 系统分析与设计

2.1 软件界面设计

图2.1 主界面

系统主界面,用户可以输入0~5进行选择。

图2.2 添加信息界面

输入1添加员工详细信息

图2.3 删除界面

2

重庆科技学院《面向对象程序设计》课程设计报告

输入2进入删除界面,输入你要删除的编号进行删除

图2.4 修改界面

输入3进行修改,先输入编号进行确定,再进行删除。

图2.5 退出界面

输入0退出系统。

2.2 软件的数据(结构)设计

对整个软件使用的文件功能、文件内部的数据格式进行说明

void Worker::Recordinfo(int num1,string name1,int age1,string sex1,string department1,float wage1) {

ofstream file1(\

file1<<\员工编号:\员工姓名:\员工年级:\员工性别:\员工职位:\员工薪水:\ file1.close(); }

用追加的方式打开字符流,将文件写到info1.txt文件中。

3

2.3 软件的算法设计

主菜单 添加员工信息删除员工信息修改员工信息查找员工信息输出全体员工信息退出 当进入主界面后会有选择菜单,你可以根据需要进行选择:0-5,当你完成操作后可以退回到主界面,也可以直接退出系统。

图2.6系统框架图

4

重庆科技学院《面向对象程序设计》课程设计报告

第三章 软件的实现

3.1添加员工信息

使用void AddItem(int,string,int,string,string,float)函数进行员工的添加。

if(!head)//首先创建链表,对链表进行初始化 {head=new Worker_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=new Worker_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; }

5

3.2删除员工信息

使用void RemoveItem(int)函数进行成员信息的删除,由于成员编号的唯一性,可以直接比较编号,找到后直接删除该信息。

Worker_pay * Worker::Find(int num) //寻找成员 {

if(ListCount==0) {

cout<<\列表为空,请先输入数据!!!\ return NULL;} Worker_pay * p=head; while(p)

{if(p->num==num) break; p=p->next;} if(!p)

{cout<<\错误,找不到该信息!!!\ return NULL;}return p;} Worker_pay * t=Find(num); if(!t)

return;

Worker_pay * p=head;

if(head=t) //判断是不是第一个元素 {

head=head->next; delete p;

cout<<\成功删除员工编号为\的信息!\ return }

while(p->next!=t) //遍历链表,找到信息后删除 p=p->next;

Worker_pay * p1=p->next; p->next=p1->next; delete p1;

cout<<\成功删除员工编号为\的信息!\

3.3修改员工信息

使用void ReplaceItem(int)函数进行员工信息的修改 ,利用编号唯一性寻找到该成员,然后修改。

Worker_pay * p=Find(num); // 寻找到该成员 if(!p)return;

cout<<\请重新输入相应信息\ cout<<\员工编号:\ cin>>p->num;

cout<<\员工姓名:\ cin>>p->name;

6

重庆科技学院《面向对象程序设计》课程设计报告

3.4查找员工信息

利用void Search(int)函数进行信息的查找。 Worker_pay * p=Find(num); if(p) {

cout<<\员工编号为\的员工工资信息:\

cout<<\员工编号 员工姓名 年龄 性别 职位 工资\ cout<

3.5显示员工信息

用void ListL()函数进行遍历链表,并输出信息。 float sum=0;float aver=0;int n=0; if(ListCount==0) {

cout<<\当前列表为空,请先输入数据!\ Worker_pay * p=head; while(p)

{ Display(p);n++; sum+=p->wage; p=p->next }

return;

7

第四章 软件使用说明书

4.1 主界面

图2.7 主界面

用户可以根据需要进行系统功能的使用,输入1-5进入使用,输入0退出系统

4.2添加信息

图2.8 添加信息

输入1进入添加信息功能,输入你所要添加的信息,输入信息完毕之后根据需要是否要继续添加,需要继续添加,不需要输入-1,返回主界面

8

重庆科技学院《面向对象程序设计》课程设计报告

4.3删除信息

图2.9删除信息

输入2进入添加信息功能,输入你所要删除的信息,输入信息完毕之后可以看见删除成功,继续删除输入编号,不需要输入-1,返回主界面。

4.4修改信息

图2.10修改信息

输入3进入修改信息功能,输入你所要修改的信息,输入信息完毕之后可以看见修改成功,继续修改输入编号,不需要输入-1,返回主界面。

9

4.5查找信息

图2.11 查找信息

输入4进入查找信息功能,输入你所要查找的信息,输入信息完毕之后可以看见信息输出,继续查询输入编号,不需要输入-1,返回主界面。

4.6显示员工信息

图2.12 显示员工信息

输入5进入显示信息功能,屏幕输出所有成员信息,输入-1返回主界面。

10

重庆科技学院《面向对象程序设计》课程设计报告

4.7退出界面

图2.13 退出界面

4.8 保存文本

图2.14保存文本

11

五 总结

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。要继续努力。

12

重庆科技学院《面向对象程序设计》课程设计报告

致谢

感谢老师给予我C++课程的教导,感谢同学等给予我的帮助。非常感谢。

13

参考文献

[1] 严蔚敏 吴伟民 数据结构(C语言版)清华大学出版社,2000 [2] 陈天华编.面向对象程序设计与Visual C++6.0教程[M].北京:清华大学出版社,2006

14

本文来源:https://www.bwwdw.com/article/gt18.html

Top