小型公司工资管理系统C++课程设计报告
我自己做的课程设计报告, 用的是c++语言,小型公司工资管理系统
C++程序设计课程设计报告
课 题: 小型公司工资管理系统
专业班级: xxxxx
学 号: xxxxxxxx
姓 名: xxxxx
指导教师: xxxxx
我自己做的课程设计报告, 用的是c++语言,小型公司工资管理系统
目录
目录
一、课程设计内容 3
1.1课程设计的目的 3
1. 2设计题目及要求 3
二、设计思路 4
三、程序清单 7
2. 1程序源代码 7
四、运行结果 30
4.1程序运行 31
3. 2备份文本信息 34
五、程序使用说明 36
六、总结及心得体会 36
(要求:给出一级目录,宋体加粗,四号字, 1.5倍行距)
我自己做的课程设计报告, 用的是c++语言,小型公司工资管理系统
一:课程设计内容
1.1、课程设计的目的
此次课程设计的目的是以《程序设计语言(C/C++)》为基础,针对具有一定难度的综合性题目,进行分析、编程、调试和运行,进一步掌握面向对象和面向过程程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实践相结合,提高分析问题、解决问题的能力。
通过设计一个简单的小型公司工资管理系统,进一步熟悉C++中类的概念、类的封装、继承和多态的实现方式。了解系统开发的需要分析,类层次设计,模块分析,编码测试,模块组装与整体调试的全过程,逐步熟悉程序设计的方法,并养成良好的编程习惯。
1.2、设计题目及要求
(1) 题目:小型公司工资管理系统 设计
(2) 设计题目及要求:
1.公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、月工资、岗位、年龄、性别等信息。其中
(1)职工编号在输入人员信息时生成,每输入一个人员信息编号顺序加1。
(2)程序对所有人员有提升级别的功能。
(3)能够按照不同身份进行月薪的计算。
(4)能按姓名或者编号查找各类人员的信息。
(5)能够修改/删除各类人员的信息。
(6)能够显示所有人员的信息。
2.工资的计算办法:
我自己做的课程设计报告, 用的是c++语言,小型公司工资管理系统
经理:固定月薪为8000;
技术员:工作时间*小时工资(100元每小时);
销售员:销售额*4%提成;
销售经理:底薪(5000)+所辖部门销售额总额*0.5%;
3)类的层次结构大体如下:
1.3 课程设计步骤与方法 1.需求分析:对用户提出的问题提出解决的办法和思路。
2.根据需求,设计系统功能模块,并设计相应的类和界面。
3.根据基本思路,确定输入和输出,设计程序的算法。
4.确定用到的所有类的描述和定义,并设计测试程序来对类进行测试。
6.在计算机上编译程序,检验程序的可运行性。
1.4 课程设计报告内容
写设计报告(要求正规打印,A4幅面),内容包括:
题目
系统功能模块结构图
数据结构设计及用法说明
程序结构(画流程图)
各模块的功能
试验结果(包括输入数据和输出结果)
我自己做的课程设计报告, 用的是c++语言,小型公司工资管理系统
体会
参考文献
附录:源程序清单
二、设计思路
1、整体考虑程序应该实现的功能,有员工信息管理、职务管理、月薪计算、查找信息、显示所有人员的信息和退出系统6个。
2、首先定义一个Employee的雇员基类,然后由此派生出Manager、Seller、Tech三个分别为经理类、销售员类、技术员类;再由Seller派生出销售经理类Xmanager。每个类中的成员都是public型的,所有的继承都是公有继承,基类中定义有数据输入和输出函数。
3、整个程序由主函数的一个for循环控制,根据输入的操作选项通过一个switch语句判断该进行什么操作,每一个case后面对应一个函数,每个函数对应一个操作,1对应信息管理,2对应职务管理,3对应月薪计算,4对应查找信息,5对应显示所有人员的信息,0对应退出系统。
4、case中调用了五个无参的函数
allSave()Exit();dataManagement() ;postManaMenu() ;calculateSal() ;findMenu() ;allDisplay() ;五个函数均用了模板函数的实例化分别进行输入、职务管理、计算月薪、显示全部信息。如输入中的一个:
template <class T , class Ti > void showMember(T & t , Ti * ti ) {
if(t.n <= 0 ) return ;
for(t.p = t.head ; t.p != NULL ; t.p = t.p -> next ) t.p -> show() ; }
showMember()函数在各个类中都定义,并且同名,这样能简化程序。
5、在进行信息输入时,在基类中定义了一个虚函数,避免了值的副本,首先给出
我自己做的课程设计报告, 用的是c++语言,小型公司工资管理系统
提示语句,首先选择要输入的职工类型,然后依次调用saveFile(),首先创建类的对象指针,如Seller * t ;ofstream cout ("S.txt"),建立文件流,创建链表,将所输入的数据都保存至文件,并且对备份文件进行命名,同时确定存储位置。以便之后的查找和删除功能的实现。
6、在进行工资计算时,每个类都定义了各自的calcuSalary()函数,依次计算出每一种职工的工资,由提示语句选择是否输出。
7、职务管理功能的实现,是通过编号来查找要提升职位的人员,选择要升为哪一种职位,然后将多余的数据成员删除,在提升后的成员中将工资重新进行计算,予以赋值。
8、查找时,建立函数模板,参数为class T , class Ti,需要在哪一个类中查找就将模板实例化为哪一个类,每一次查找时,指针都是先指向文件的起始位置,然后用for循环来控制,先要输入编号,如t.p != NULL && t.p -> num != no;若当前对象的编号与输入的编号不相等,则指针移向下一个对象继续查找,若相等则停止查找,并将所找到的信息全部输出。
9、考虑各种数据类型还有所需的C++内的函数,要引用<iostream><cstring> <fstream><iomanip>
这四个头文件。<fstream>用于数据保存至文件。
10、修改和删除的功能都是按照编号、利用模板函数实例化来实现的,找到后由switch控制,1.姓名 2.性别 3.年龄 4.编号 5.工资,先选择要修改的属性,然后输入新信息,将原有信息替换;删除时,首先在每一个类中由指针找到要删除的职工,然后将这个对象的每一个数据成员用NULL覆盖,即清零处理,该职工的信息就被删除了。
11、整体构思比较简单,基本能够实现各项功能
我自己做的课程设计报告, 用的是c++语言,小型公司工资管理系统
源程序清单:
#include<iostream>
#include<cstring>
#include<fstream>
#include<iomanip>
using namespace std ;
class Employee
{
public:
相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




