小型公司工资管理系统
C++程序设计实习
中国石油大学(华东)信息与控制工程学院
《程序设计实习》报告
小型公司工资管理系统的设计
专业班级:自动化10-4班 学 号:10051426 姓 名:吴光韬
时 间:2011.7.14~2011.7.17
2011年7月16日
C++程序设计实习
目录
一、 实习内容 1 1.1、课程设计的目的 1 1.2、设计题目及要求 1 二、 设计思路 2 三、 程序清单 3
3.1、程序源代码 4 四、 运行结果 14
4.1、程序运行 14 4.2、备份文本信息 16 五、 程序使用说明 17 六、 总结及心得体会 17
C++程序设计实习
一:实习内容
1.1、课程设计的目的
此次课程设计的目的是以《程序设计语言(C/C++)》为基础,针对具有一定难度的综合性题目,进行分析、编程、调试和运行,进一步掌握面向对象和面向过程程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实践相结合,提高分析问题、解决问题的能力。
通过设计一个简单的《小型公司工资管理系统》,进一步熟悉C++中类的概念、类的封装、继承和多态的实现方式。了解系统开发的需要分析,类层次设计,模块分析,编码测试,模块组装与整体调试的全过程,逐步熟悉程序设计的方法,并养成良好的编程习惯。
1.2、设计题目及要求
1 题目:《小型公司工资关系系统》设计 2 设计说明与要求
(1) 公司主要有4类人员:经理、技术员、销售员、销售经理。要求储存这些人的职工号姓名、月工资、年龄、性别等信息。 (2) 工资的计算方法
A、经理:固定月薪为8000元;
B、技术员:工作时间×小时工资(100元每小时); C、销售员:销售额×4%提成;
D、销售经理:底薪(5000元)+所辖部门销售额总额×0.5%; (3) 类的层次结构大体如下:
(4) 输入员工基本数据,要求每类人员不能少于4人,员工信息输出格式参
C++程序设计实习
考运行效果。 (5) 实现功能
应用程序中要有菜单,用于选择各种功能,其中
① 数据输入:输入各种数据;
② 数据统计:统计各种销售经理下属销售员的销售额及限售额之和;销
售经理按工资进行的冒泡排序; ③ 数据打印:打印各类员工的数据信息;
④ 数据备份:把各类员工的数据星系写入文件中保存; ⑤ 推出本系统; (6) 菜单说明
① 数据录入指通过键盘输入各类员工的各项数据;
② 数据统计指统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行冒泡法排序;
③ 数据打印指按照表格的格式在屏幕上输出个员工的信息; ④ 数据备份指将所有员工的信息保存到文件;
⑤ 退出:结束程序的运行。
(7) 注意一个销售经理管辖多个销售员。
(8) 其他功能可以自己扩充(扩充的功能若比较合理可适当加分)。 (9) 要求在控制台下完成(显示内容都在黑屏下显示)。
二、设计思路
1、整体考虑程序应该实现的功能,有数据输入,数据统计,数据打印,数据备份和退出系统5个。
2、首先定义一个Employee的雇员基类,然后由此派生出Tech,Manager,Salesman三个分别为技术员类,经理类,销售员类;再由Manager派生出销售经理类Salesmanager。每个类中的成员都是protected型的,所有的继承都是公有继承,基类中定义有数据输入函数。 3、主函数里定义了四个对象数组,Tech T[A];Manager M[B];Salesman S[C];Salesmanager SM[D],其中A/B/C/D都是全局常变量,代表各类成员人数,便于程序修改。
4、整个程序由主函数的一个for循环控制,根据输入的操作选项通过一个switch语句判断该进行什么操作,每一个case后面对应一个函数,每个函数对应一个操作,1对应数据输入,
C++程序设计实习
2对应数据统计,3对应数据打印,4对应数据备份,5对应退出系统。
5、数据统计、打印以及备份都以表格形式输出。表格通过制表符进行设计。表头表尾表中、菜单还有分隔符均单独定义成void 型的函数。 如:void tou()
{cout<<"┌─────┬─────┬─────┬─────┬─────┐"<<endl; cout<<"│ 职工号 │ 姓名 │ 性别 │ 年龄 │ 工资 │"<<endl;} 6、case 中调用四个带参的函数fun3(T,M,S,SM)、data_tongji(T,M,S,SM)、data_print(T,M,S,SM)、data_beifen(T,M,S,SM)。四个函数均用了四个循环语句分别进行输入、统计、打印、备份。如输入中的一个: for(i=0;i<A;i++)
{T[i].data_cin();cout<<endl;}
data_cin()这类函数在各个类中定义,并且同名,这样能简化程序。
7、在进行销售经理的数据输出时,考虑其与销售员之间所属关系,定义若干全局数组double wage[D]单独存放销售经理的工资,排序时通过if语句先判断所属关系,再进行冒泡法排序,这是要用到双重循环。
8、考虑各种数据类型还有所需的C++内的函数,要引用<iostream> <string> <fstream> <iomanip>这四个头文件。<fstream>用于数据备份,使用时,先用ofstream outfile; outfile.open("工资管理系统.txt",ios::out);打开磁盘流文件,并且对备份文件进行命名,同时确定存储位置。<iomanip>用其setw()设置输出数据的宽度,便于表格的制作
9、因为类中成员都是保护类型的,所以要定义属于各类的返回成员值的函数,如turn_belong()、turn_num()
10、整体构思比较简单,基本能够实现各项功能
C++程序设计实习
三、程序清单
#include<iostream> #include<string> #include<fstream> #include<iomanip> using namespace std; void fun1(); void fun2(); void tou(); void wei(); void zhong();
const int A=2,B=2,C=4,D=2; const int a=8000; const int b=5000; const double c=0.005; const int d=100; const double e=0.04;
int n=0;int m[2]={0,0};int t[2]; class Employee {public: void data_cin()
{ cout<<"其姓名:";cin>>name; cout<<"性别(m/w):";cin>>sex; cout<<"年龄:";cin>>age;
}
int turn_num() {return num;} string turn_name() {return name;}
C++程序设计实习
char turn_sex() {return sex;} int turn_age() {return age;} protected: int num; string name; int age; char sex; int gz;
};
class Tech:public Employee { public: void data_cin()
{cout<<"技术员的编号:";cin>>num; Employee::data_cin();
cout<<"工作时间:";cin>>time; }
int turn_gz1()
{return d*time;} protecte …… 此处隐藏:7178字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教学研究]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篇




