版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、成绩:存档资料华东交通大学 课程设计报告书 所属课程名称 C程序设计 题 目小型企业工资管理系统院 (系)软 件 学 院班 级网络 2006班学号 学生姓名 指导教师 辅导教师2007 年 7 月 7 日华东交通大学课 程 设 计( 论 文 )任 务 书软件学院 专 业 网络工程 班 级 06级 2班一、课程设计(论文)题目 小型企业工资管理系统二、课程设计(论文)工作:自2007年 6 月 25 日起至 2007 年 7 月 6 日止。三、课程设计(论文)的内容要求:1)数据录入 : 输入各种数据 .2)数据统计 :各销售经理的工资计算及最终按工资进行的 冒 泡排序 .3)数据打印 :打印各
2、种数据 .4)数据备份 :把相关的数据写入文件 .5)退出 : 退出本系统 .学生签名:2007 年 7 月 9 日课程设计(论文)评阅意见项目等级优秀良好中等及格不及格课程设计态度评价出勤情况评价任务难度评价工作量饱满评价设计中创新性评价论文书写规范化评价综合应用能力评价综合评定等级优秀( )良好( )中等( )及格( )不及格( )评阅人 谢昕 职称 副教授2007年 7 月 11 日目录一、需求分析1. 从要求上来看是要对各个员工的各种情况 ( 名字、年龄、性别、职位、 工资状况 )进行输入。然后可以输出 .2. 可以对于员工数据进行修改 , 可以查询.3. 对于员工的各种情况系统还可以
3、进行统计排名 .二、概要设计首先 , 创建了一个 employee 类 . 然后派生出四个类 : manager、 technician 、salesman、sales manager. 在派生类中定义了三个构造函数 分别是 : 数据输入函数 (Input), 表格输出函数 (Print), 排序函数 (Pay).其次,在总体结构上 , 建立以各根菜单 , 用于选择各种功能 .1. Input( 数据输入): 输入员工的各种数据 .2. Total( 数据统计): 将员工的总数据进行对比排序 ,然后输出.3. Output( 数据显示 ): 显示输入的各种数据 .4. Save(数据保存 ):
4、 对输入的数据进行保存备份 .5. Eixt( 退出程序 ): 执行退出程序命令 .三、详细设计1. Input( 数据输入 ): 定义了各个岗位的人员的类,并把每个类的 人员的属性设为类中的保护成员,其中技术工的工作时间和每小 时的所得为私有成员,而销售员的销售额、经理的工资和销售经 理的所辖部门的销售额和其底薪设为公有成员,再依次录入。2. Total( 数据统计 ): 根据所有类的工资算法在其所属类中定义一 个函数 void pay() 来根据各个职位的具体情况来计算工资,并且 算出的工资经过冒泡法排序 .void printtotal()cout endl;cout Total set
5、w(10)totalendl;cout endl;3. Output( 数据显示 ): 通过 do-while 循环以及制表格和 setw 的使用将输入的数据和统计并排序的数据以表格的形式打印出 来,销售额合计一栏宽度要大些。void saleprint()cout setw(10)no1 setw(10)name1 setw(10)sale1 endl;cout endl;cout setw(10)no2 setw(10)name2 setw(10)sale2 endl;cout endl;cout setw(10)no3 setw(10)name3 setw(10)sale3 endl;c
6、out endl;cout setw(10)no4 setw(10)name4 setw(10)sale4 endl;void print()cout endl;cout setw(10)no setw(10)name setw(10)sex setw(10)age setw(10)salary endl;4. Save(数据保存 ): 通过函数 save() 来将输入的数据和统计并排 序的数据进行保存 . 例如 :void save()fstream outfile;outfile.open(f:flsdfj.txt,ios:app);if(!outfile)coutf cant open.
7、n;abort();outfileSales mangerendl;outfileIDnoNAMEnameSEXsexAGE ageSALARYsalaryendl;5. Eixt( 退出 ): 利用 exit 来完成退出系统功能四、设计和调试分析程序清单 :#include #include #include #include #include class employeepublic:employee()salary=0;void pay()void print()void input() coutno; coutname; coutsex;coutage;protected:int no
8、;char name8;float salary;char sex;int age;class manager:virtual public employee protected:float monthlypay,sale;public:manager()monthlypay=8000;void input()coutManger;employee:input();void save()fstream outfile;outfile.open(f:flsdfj.txt,ios:app);if(!outfile)coutf cant open.n;abort();outfileMangerend
9、l;outfileIDnoNAMEnameSEXsexAGEage SALARYsalaryendl;void pay()salary=monthlypay;void print()cout endl;cout setw(10)no setw(10)name setw(10)sex setw(10)age setw(10)salary endl;class technician:virtual public employeeprivate:float hourlyrate;int workhours;public: technician()hourlyrate=100; void pay()
10、coutnameworkhours; salary=hourlyrate*workhours;void input()coutTECHNICIANendl;employee:input(); void save()fstream outfile; outfile.open(f:flsdfj.txt,ios:app); if(!outfile)coutf cant open.n;abort(); outfileTECHNICIANendl; outfileIDnoNAMEnameSEXsexAGEage SALARYsalaryendl;void print()cout endl;cout se
11、tw(10)no setw(10)name setw(10)sex setw(10)age setw(10)salary endl;class salesman:virtual public employeeprotected:float commrate;float sales;public:salesman()commrate=0.04;void input()coutSALEMAN;employee:input();void save()fstream outfile;outfile.open(f:flsdfj.txt,ios:app);if(!outfile)coutf cant op
12、en.n;abort();outfileTECHNICIANendl;outfileIDnoNAMEnameSEXsexAGEage SALARYsalaryendl;void pay() coutnamesales;salary=sales*commrate;void print()cout endl;cout setw(10)no setw(10)name setw(10)sex setw(10)age setw(10)salary endl;class salesmanager:virtual public manager,virtual public salesmanprivate:f
13、loat total;int no1,no2,no3,no4;char name18,name28,name38,name48;float sale1,sale2,sale3,sale4;public:void salemanager()monthlypay=5000;commrate=0.005;void input()coutSales manger;employee:input();void save()fstream outfile;outfile.open(f:flsdfj.txt,ios:app);if(!outfile)coutf cant open.n; abort();out
14、fileSales mangerendl;outfileIDnoNAMEnameSEXsexAGEage SALARYsalaryendl;void savesale()fstream outfile;outfile.open(f:flsdfj.txt,ios:app);if(!outfile)coutf cant open.n; abort();outfileThe salary of saleman of sales manger and themselvesendl;outfileIDno1NAMEname1SALARYsale1endl outfileIDno2NAMEname2SAL
15、ARYsale2endl outfileIDno3NAMEname3SALARYsale3endl outfileIDno4NAMEname4SALARYsale4endlvoid pay()coutnameThe sales volume of everydepartment:; salary=monthlypay+commrate*total;float totalsale()total=sale1+sale2+sale3+sale4;returntotal;void printtotal()coutendl;cout Totalsetw(10)totalendl;coutendl;voi
16、d sort(salesmanager p) int tmp,i,j;for(j=0;j2;j+)for(i=0;i2;i+)if(totalp.salary)tmp=salary; total=p.salary; p.salary=tmp; tmp=no;no=p.no;p.no=tmp;void saler()coutno1;coutname1;coutsale1; coutno2;coutname2;coutsale2; coutno3;coutname3;coutsale3; coutno4;coutname4;coutsale4;void saleprint()cout setw(1
17、0)no1 setw(10)name1 setw(10)sale1 endl;cout endl;cout setw(10)no2 setw(10)name2 setw(10)sale2 endl;cout endl;cout setw(10)no3 setw(10)name3 setw(10)sale3 endl;cout endl;cout setw(10)no4 setw(10)name4 setw(10)sale4 endl;void print()cout endl;cout setw(10)no setw(10)name setw(10)sex setw(10)age setw(1
18、0)salary endl;void main()manager m4;technician t4;salesman s4;salesmanager sm4;t1.save();int flag=1,operate;docout# The system of salary manger#n;cout n;cout Chose your actionsn;cout Input :1 ,Enterncout Total :2 ,Enterncout Output :3,Enterncout Save :4 ,Enterncout Exit :5 ,Enterncoutn;coutoperate;
19、switch(operate) case 1:coutWaiting for a minute!endl; for(int i=0;i4;i+)mi.input();for(int j=0;j4;j+)tj.input();for(int k=0;k4;k+)sk.input();for(int l=0;l4;l+)sml.input(); for(int i=0;i4;i+)mi.pay(); for(int j=0;j4;j+)tj.pay(); for(int k=0;k4;k+)sk.pay(); for(int l=0;l4;l+)sml.pay();sml.saler(); ;br
20、eak;case 2: coutWaiting for a minute!endl;for(int l=0;l4;l+)sml.totalsale();for(int i=0;i4;i+)for(int j=0;j2;j+) smj.sort(smj+1);coutThe saleman of the first sales mangerendl;endl;endl;cout cout ID NAME SALARY sm0.saleprint();sm0.printtotal();coutThe order is completeendl;coutList names of every sal
21、es mangerendl;cout endl;cout ID NAME SEX AGESALARY endl;for(int k=0;k4;k+) smk.print();cout endl;break;case 3: coutWaiting for a minute!endl;coutThe blank of the:endl;cout endl;cout ID NAME SEX AGE SALARY endl;for(int i=0;i4;i+) mi.print(); cout endl;cout endl;cout endl;cout endl;cout ID NAME SEX AGE SALARY endl;for(int k=0;k4;k+) sk.print(); cout endl;cout endl;cout endl;break;case 4:coutWaiting for a minute!endl;for(int i=0;i4;i+)mi.save();for(int j=0;j4;j+)tj.save();for(int k=0;k4;k+)sk.save();for(int l=0;l4;l+)sml.save();cout
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幕墙施工质量检查与验收方案
- 2025-2026学年幼儿手掌画教案
- 5.5 三角函数的周期教学设计中职数学基础模块 下册湘科技版(2021·十四五)
- 9 我们的十岁集体生日教学设计小学综合实践活动四年级下册海燕版
- 2025-2026学年诗文朗诵教学设计
- 高压直流接触器全球市场总体规模
- 03第2章第一个Vue.js应用(4-6节)
- (2026年)2医院医疗人员培训计划
- 兰州市人工智能赋能高质量发展实施方案 2026
- 2026年公共营养师三级(理论+技能)考试试题+答案
- 西南师大版五年级下册异分母分数加减混合运算练习400题及答案
- 高三化学二轮复习16-小专题-硅酸盐阴离子结构专题
- 安全用药管理培训内容
- 冠脉造影识图
- 公司精益项目收益核算方法
- 《C语言入门教程》课件
- 辽宁省沈阳市皇姑区2022-2023学年六年级下学期期末质量监测语文试卷
- 中国慢性呼吸道疾病呼吸康复管理指南(2021年)
- 2022年第一师阿拉尔市招募三支一扶计划人员考试真题及答案
- 新北师大版五年级下册分数乘除法计算专项训练
- 信息资源管理(马费成-第三版)复习重点
评论
0/150
提交评论