2022年职工信息管理系统C++版程序设计说明书 .pdf
《2022年职工信息管理系统C++版程序设计说明书 .pdf》由会员分享,可在线阅读,更多相关《2022年职工信息管理系统C++版程序设计说明书 .pdf(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 高级语言程序设计说明书职工信息管理系统系别专业班级学生姓名指导教师注释:2010 计算机工程系高级语言程序设计大作业名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 26 页 -2 目录引言 (3)程序结构 (3)程序流程图 (4)程序源程序模块设计说明 (5)1.函数头 (5)2.主函数 (5)3.基类及继承类 (5)3-1.基类 (5)3-2.继承类 (6)3-3.公司类 (6)程序使用说明 (8)总结 (9)名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 26 页 -3 引言程序名称:职工信息管理系统开发平台:windows 7 Microsoft Visu
2、al C+6.0 主要功能:1。添加职工信息;2。删除职工信息及薪酬;3。修改职工信息;4。查询职工信息及薪酬;5。设置职位基本薪酬;6。存储职位信息;程序说明:准确性要求高,可靠性要求高,输入控制严格,页面响应时间短,用户界面友好,输出准确,功能强大!运行环境:Windows NT/2000/XP/VISTA/WIN7 文件说明:程序源代码(职工信息管理系统.cpp);程序运行文件(职工信息管理系统.exe);职工信息存储文件(Employee.text);参考资料:C+程序设计谭浩强 编著清华大学出版社程序结构函数头:/cin,cout,等函数 /类,对象,等函数定义 /文本文档的读/写/
3、复制 等函数 主函数:void main()基类职工类 employee 派生类:Technician 技术员类、Salesman销售员类、Salesmanager 销售经理类、Manager经理类、Company 公司类。在公司类中定义六个模块功能的实现方法:void Add()/添加 void Delete()/删除名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 26 页 -4 void Modify()/修改 void Query()/查询 void set()/设置 void Save()/载入 void Load()/储存程序流程图开始定义变量数据处理调用输出函数退出系
4、统Y N 输入 C 的值C=1&C=7 调用设置函数调用储存函数调用载入函数调用查询函数调用输出函数调用修改函数调用删除函数调用增加函数程序流程图名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 26 页 -5 程序源程序模块设计说明1.函数头:#include#include#include#include 调用系统在程序中将要用到的函数。2.主函数:switch(c)case 1:a.Add();break;case 2:a.Delete();break;case 3:a.Modify();break;case 4:a.Query();break;case 5:a.Set();
5、break;case 6:a.Save();break;case 7:a.Load();break;在 do-while 循环中嵌套switch 结构,用来调用构造函数,实现函数模块的功能。3.基类及继承类:3-1.基类:class Employee/职工类 protected:int No;/编号char Name20;/姓名char Sex10;/性别int Duty;/职位double Earning;/收入Employee*next;public:Employee(char ID,char*Name,int Duty)this-Duty=Duty;strcpy(this-Name,Na
6、me);this-No=ID;virtual void CalcSalary()=0;virtual void Output()=0;friend class Company;先定义一个职工基类,设置了属于保护类的职工基本属性,以及构造函数Employee,可以名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 26 页 -6 给职工类型继承。3-2.继承类:class Technician:public Employee/技术员类 private:double Workload;/上个月完成工作量public:Technician(char ID,char*Name,int Dut
7、y,double Workload):Employee(ID,Name,Duty)this-Workload=Workload;double GetWorkload()return Workload;void SetWorkload(double Amount)this-Workload=Amount;void CalcSalary()Earning=Workload*100;void Output()CalcSalary();coutNotNamet技术员 tttEarningnext;delete Worker;Worker=p;Worker=0;在公司类中先定义一个职工表Worker 用
8、于存储职工信息,然后构造函数中可以构造链表,用于管理职工的信息。析构函数用来释放存储空间,清除链表结点中的信息。模块功能的实现方法:void Company:Add()/增加人员 Employee*p;/新结点指针int Duty;char Name20;char Sex10;/性别double Workload;coutn*新增员工*n;/输入员工信息coutID;coutDuty;coutName;coutSex;if(Duty!=4)coutWorkload;/创建新员工结点switch(Duty)case 1:p=new Technician(ID,Name,Duty,Workload
9、);break;case 3:p=new Manager(ID,Name,Duty,Workload);break;case 4:p=new Salesmanager(ID,Name,Duty);break;名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 26 页 -8 case 5:p=new Salesman(ID,Name,Duty,Workload);break;p-next=0;构造添加函数Add(),在函数中先定义职工的基本信息和新节点指针,创建新的初始化构造函数,用于添加新的职工信息。职工结点加入链表:if(Worker)/若已经存在结点 Employee*p2;p
10、2=Worker;while(p2-next)/查找尾结点 p2=p2-next;p2-next=p;/连接 else/若不存在结点(表空)Worker=p;/连接 使用指针p 和职工表Worker 构造一个单链表,在if 选择结构和while 选择结构中添加新的结点,这个新的结点可以输入职工信息和存储信息的地址,再把职工信息添加到职工链表中。其他模块删除函数Delete()、修改函数Modify()、查询函数Query()、载入函数Save()和存储函数Load()都使用了链表的构造方法。具体内容可以看代码部分。void Company:Set()/设置基础数据 coutn*设置基础数据*n
11、;cout 经理的基本工资CSalaryCSalary;cout 销售经理的基本工资APSalaryAPSalary;cout=IDID;设置经理和销售经理的基本工资,用于计算这两个职位的工资。使用说明这是一个关于职工信息管理系统,具有增加、输出、删除、查询、修改、保存、载入数据、计算总支出薪酬等功能,建立了一个含有工号、姓名、性别、工作量等成员的类的变量class Employee。系统中已预输入了5 个职工的相关数据以及基本薪酬数据,调试是可按“4”键先查看输入的数据记录。调试过程中,可按照有关提示进行相关操作:增加职工数据按“1”键;删除职工数据按“2”键;修改职工数据按“3”键;名师资
12、料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 26 页 -9 查询职工数据按“4”键;基础数据设置按“5”键;数据存盘按“6”键;数据装入按“7”键;退出系统按“8”键。总结经过对职工信息管理系统的分析与编写,我得到了很大的收获。自主学习的必要性更是解决问题的基础。这次设计使我重温了以前学过的各科知识,让我对C编程有了更深刻的认识。除了对系统作出正确的分析,实际的调查工作对系统的整体设计有着至关重要的作用。所以在分析系统之前,我花了一些时间在公司的实际管理工作调查上。也因为这样,如何编写代码逐渐变得明朗。每一个功能模块经过调查后后,各个功能逐渐显露出来,然后,反复探讨,验证这项功能是
13、否有存在的必要,是否可以改进得更好。在这样的前提下,最后顺利完成了这份设计。这次 C系统设计作业,提升了我分析问题的能力和思考问题的逻辑能力,更明白实际调研的重要性。从这次设计学到的东西,相信会对我们日后的学习工作起到很大的指导作用代码附录:#include#include#include#include using namespace std;/全局数据,对象double APSalary;double CSalary;int ID;/员工工号class Employee/员工类 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 26 页 -10 protected:int No
14、;/编号char Name20;/姓名char Sex10;/性别int Duty;/职位double Earning;/收入Employee*next;public:Employee(char ID,char*Name,int Duty)this-Duty=Duty;strcpy(this-Name,Name);this-No=ID;virtual void CalcSalary()=0;virtual void Output()=0;friend class Company;class Technician:public Employee/技术员类 private:double Workl
15、oad;/上个月完成工作量public:Technician(char ID,char*Name,int Duty,double Workload):Employee(ID,Name,Duty)this-Workload=Workload;double GetWorkload()return Workload;名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 26 页 -11 void SetWorkload(double Amount)this-Workload=Amount;void CalcSalary()Earning=Workload*100;void Output()
16、CalcSalary();coutNotNamet技术员tttEarningWorkload=Workload;double GetWorkload()return Workload;void SetWorkload(double Amount)名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 26 页 -12 this-Workload=Amount;void CalcSalary()Earning=Workload*0.04;void Output()CalcSalary();coutNotNamet销售员tttEarningWorkload=Workload;double
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年职工信息管理系统C+版程序设计说明书 2022 职工 信息管理 系统 C+ 程序设计 说明书
限制150内