C++课程设计报告:公司员工管理系统.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C++课程设计报告:公司员工管理系统.doc》由会员分享,可在线阅读,更多相关《C++课程设计报告:公司员工管理系统.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(2014届)面向对象课程设计课程设计报告课程设计题目:公司员工管理系统学 院:软件学院专 业:软件工程(电子商务)学生姓名:班 级:学号:指导老师:2015年6月25日目录1需求分析32. 具体要求33. 总体设计34详细设计45测试结果146软件操作说明书197总结198源代码19公司员工管理系统课程设计报告1 需求分析根据对公司人员管理的需要,编写一个“公司人员管理系统”,以方便对公司人员数据的录入、修改、删除、显示、和查询功能。2. 具体要求设计一个虚基类Staff(员工),包括编号、姓名和年龄保护数据成员以及相关的成员函数;由Staff派生出工程师类Engineer包含专业和职称保护
2、数据成员以及相关的成员函数,再由Staff派生出领导类Leader,包括职务和部门保护数据成员以及相关的成员函数;然后由Engineer和Leader类派生出主任工程师类Chairman。具体实现以下要求:1. 增加员工数据信息2. 更新员工数据信息3. 查询员工数据信息4. 删除员工数据信息5. 良好的人际交互界面、方便操作3.总体设计根据问题描述和要求,系统要求能够按姓名或者编号显示、查找、增加、删除和保存各类人员的信息。确定程序至少应该具备如下功能:“增加各类人员数据”、“查询各类人员数据”、“显示各类成员数据”、“修改各类人员数据”、“删除各类人员数据”、“各类人员数据存盘”、“各类人
3、员数据读入”基本模块。图3.1 程序基本功能结构图为体现面向对象编程的优点,本系统除过显示菜单函数、文件读写以及主函数为全局函数外,其他所有函数功能均封装于类之中。图3.2 类结构一览图4详细设计本系统公有五个类,其中一个抽象类,一个模版类,三个派生类。全局函数包括一个主函数、五个菜单显示函数、文件读写函数各三个。下面详细阐述各部分的具体构成。1) 各类的构成a) 抽象类Staff本系统中Staff类中拥有四个纯虚函数,故为抽象类,这四个纯虚函数为Staff类的派生类提供了共同的接口,函数的具体功能则由派生类实现,并且拥有保护成员TableNumber和Name11,分别用于记录员工的编号和姓
4、名。图4.1 Staff类一览图b) 派生类Engineer与LeaderEngineer与Leader类公有继承于Staff类,分别增加保护成员Profession11、PostName11与post11、workspace11分别用于记录工程师的专业、职称和领导的职务、部门,并且重写了四个虚函数,使得四个函数拥有了具体的功能。图4.2 Engineer类一览图图4.3 Leader类一览图c) 派生类ChairmanChairman 类是由Engineer与Leader类共同派生出的,并没有增加任何私有或保护成员,但是重写了原来的四个虚函数。图4.4 Chairman类一览图d) 模版类L
5、ist 为了减少代码的重复并且提高程序的运行效率,这里特地定义模版类List ,主函数中绝大多数具体功能都由类模版中的函数直接实现,具体成员与函数如下:1. 私有成员T dataMAXSIZE,用于存放任意类型的对象数组。2. 私有成员int len,用来统计对象数组最后一个成员的下标。3. 公有成员函数 void addList,用于调用具体对象的draw()函数增加员工数据。4. 公有成员函数void BIList(),用于显示所有员工的数据。图4.5BIList()函数流程图5. 公有成员函数int research(int j),用于查询员工数据并显示到显示器上。图4.6 resear
6、ch函数流程图6. 公有成员函数void deleteDat(int k),用于删除员工数据。图4.7 deleteDat函数流程图7. 公有成员函数void output(int j),用于把已有员工数据输出到硬盘上。图4.8 output函数流程图8. 公有成员函数void inter(int j),用于把硬盘上的员工数据读出并显示到显示器上。图4.9inter函数流程图2) 主函数main构成本系统中主函数创建了三个模版类的具体对象,借此来访问各个具体类的成员函数,用户通过输入信息调用相应的功能模块函数,实现员工数据的录入、查询、显示、删除、保存、加载等功能。主函数流程图如下:主函数流程
7、图5测试结果(1) 程序运行主菜单:(2) 添加数据:(3) 查询数据:(4) 显示数据:(5) 保存数据:(6) 加载数据:(7) 删除数据:6软件操作说明书本系统操作简洁明了,运行后界面同上,用户按菜单提示操作即可。7总结经过一学期对面向对象语言C+的学习,我对面向对象的编程思想有了一定的认识,但是个人认为还远远不够,现在我已能够完成一些很基础的小型程序的开发,但是若想做一些大一点的项目,还需要继续加倍努力。关于这个公司员工管理系统,编写的过程中我发现了我有一些基础的知识还不大牢固,比如说多态性里的抽象类、虚函数等,但是经过这几天努力复习已经对其有了更深入的了解。8源代码#include
8、#include#include#include/ 图形设备接口函数/0=黑色8=灰色1=蓝色9=淡蓝色2=绿色A=淡绿色3=湖蓝色B=淡浅绿色4=红色C=淡红色5=紫色D=淡紫色6=黄色E=淡黄色7=白色F=亮白色#define MAXSIZE 10using namespace std;ofstream out4(Engineer.txt,ios:app);/ ios:app 以追加的方式打开文件ofstream out2(Leader.txt,ios:app);ofstream out3(Chairman.txt,ios:app);ifstream in4(Engineer.txt,io
9、s:app);ifstream in2(Leader.txt,ios:app);ifstream in3(Chairman.txt,ios:app);void menu();void addPerson();void removePerson();void displayPerson();class Staffprotected :double TableNumber;char Name11;int age;public :virtual void draw()=0 ;virtual void Display()=0;virtual void out1()=0;virtual int inpu
10、t()=0;class Engineer:virtual public Staffprotected:char Profession11;char PostName11;public :void draw()cout请输入endlTableNumber;coutName;coutage;coutProfession;coutPostName;system(pause);void Display()coutTableNumberttNametagetProfessionttPostNameendl;double getTableNumber()return TableNumber;void ou
11、t1()if(out4)out4TableNumber Name age Profession PostNameendl;if(!out4)cout输出失败TableNumberNameageProfessionPostName;cout导入成功!endl;coutTableNumberttNametagetProfessionttPostNameendl;return 0;if(!in4)cout导入失败endl;return 1;return 0;class Leader:virtual public Staffprotected:char post11;char workspace11;
12、public:void draw()cout请输入endlTableNumber;coutName;coutage;coutpost;coutworkspace;system(pause);void Display()coutTableNumberttNametagetpostttworkspaceendl;double getTableNumber()return TableNumber;void out1()if(out2)out2TableNumber Name age post workspace endl;if(!out2)cout输出失败TableNumberNameagepost
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 报告 公司员工 管理 系统
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内