课程设计——小型公司工资管理系统(共20页)_第1页
课程设计——小型公司工资管理系统(共20页)_第2页
课程设计——小型公司工资管理系统(共20页)_第3页
课程设计——小型公司工资管理系统(共20页)_第4页
课程设计——小型公司工资管理系统(共20页)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上目 录一、课程设计目的 2二、课程设计内容 2 1、题目及简介 2 2、设计说明 2 3、程序设计 3 (1)程序流程图3 (2)程序代码3三、程序设计总结 19参考文献 20一、课程设计目的(1) 要求学生达到熟练掌握c+语言的基本知识和技能;(2) 基本掌握面向对象程序设计的基础思路和方法;(3) 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。二、课程设计内容1、题目及简介(1) 设计题目:小型公司工资管理系统设计(2) 简介:公司主要有4类人员:经理,技术员,销售员,销售经理。要求存储这些人的职工号,姓名,月工资,岗位,年龄,性别等信息。工资的计

2、算方法:经理:固定月薪为8000;技术员:工作时间*小是工资(100元每小时);销售员:销售额*4%提成;销售经理:底薪(5000)+所辖部门销售额总额*0.5%;要求;1) 输入数据要求每类人员不能少于4人,并按一下格式输出:职员号 姓名 性别 年龄 岗位 工资 排名 及某销售经理管理所辖部门各销售员的业绩及自己的工资表:职员号 姓名 销售额 销售额合计。2)总体设计,要有一个菜单,用于选择各项功能,其中(1)数据录入:输入各种数据;(2)数据统计:各销售经理的工资计算及最终按工资进行的冒泡排序;(3)数据打印:打印上述表格;(4)退出:退出本系统;2、设计说明充分利用了类的继承与派生的知识

3、,先定义了一个雇员类Employee,由雇员类公有派生出技术员类Tech,销售员类Seller,经理类Manager,由销售员类Seller,经理类Manager公有派生出销售经理类XManager。把基类都定义为虚基类。通过基类去写的派生类就可以调基类的公有成员。利用for循环把经理数据,技术员数据,销售员数据,销售经理数据输入,利用冒泡排序法把各销售经理的资按升序排列。利用switch进行选择系统进行的工作。在主菜单中进行调用各函数,从而实现系统各功能的运行。3、程序设计(1)程序流程图雇员类技术员类经理类销售员类销售经理类开始主函数输入ii=1录入i=2统计i=3打印i=4退出Input

4、Menu()输入ii=1Manager类i=2Tech类i=3Seller类i=4XManager类i=5返回结束(2)程序代码#include<iostream.h>#include<string.h>#include<iomanip.h>class Employee/雇员类protected: int num; int age; char name10; double income; char sex;public: virtual void Set() cout<<"其姓名:" cin>>name; cout

5、<<"性别(m/w):" cin>>sex; cout<<"年龄:" cin>>age; void Get() cout<<""<<endl; cout<<""<<setw(10)<<num<<"" int n=10-strlen(name); for(int i=0;i<n;i+) cout<<" " cout<<name&l

6、t;<""<<" "<<sex<<" "<<""<<setw(10)<<age<<""<<setw(10)<<income<<""<<endl; ;class Tech:virtual public Employee/技术员类protected: double hour; double per;public: void Set() cout

7、<<"技术员编号:" cin>>num; cout<<endl; Employee:Set(); cout<<endl; cout<<"工作时间:" cin>>hour; per=100; income=hour*per; ;class Seller: virtual public Employee/销售员类protected: double salary;/销售额 int ss;/所属经理编号public: double Gets() return salary; void Set

8、() cout<<"销售员编号:" cin>>num; Employee:Set(); cout<<"销售额:" cin>>salary; cout<<"所属经理编号:" cin>>ss; income=salary*0.04; void Get1() int n=10-strlen(name); cout<<""<<setw(12)<<num<<"" for(int i=0;

9、i<n;i+) cout<<" " cout<<name<<""<<setw(12)<<salary<<""<<endl; ;class Manager:virtual public Employee/经理类protected:public: void Set() cout<<"经理的编号:" cin>>num; Employee:Set(); income=8000; ;class Xmanager:

10、virtual public Manager,public Seller/销售经理类protected: Seller c1;/销售员 Seller c2;/销售员 double totals;/销售总额public: double returnt() return totals; void Setc() c1.Set(); cout<<endl; c2.Set(); cout<<endl; void Set() cout<<"销售经理编号:" cin>>num; Employee:Set(); totals=c1.Gets(

11、)+c2.Gets(); income=5000+totals*0.005; void Getx() cout<<""<<endl; cout<<""<<setw(10)<<num<<"" int n=10-strlen(name); for(int i=0;i<n;i+) cout<<" " cout<<name<<""<<" "<<se

12、x<<" "<<""<<setw(10)<<age<<""<<setw(10)<<income<<""<<endl; void Get1() cout<<"职工编号"<<num<<"销售经理"<<name<<"下属销售员的业绩为:"<<endl; cout<<&quo

13、t;"<<endl; cout<<""<<" 职工号 "<<""<<" 姓名 "<<""<<" 销售额 "<<""<<endl; cout<<""<<endl; c1.Get1(); cout<<""<<endl; c2.Get1(); cout<

14、<""<<endl; cout<<""<<"销售额总计:"<<""<<setw(23)<<totals<<" "<<endl; cout<<""<<endl; void Getc() c1.Get(); c2.Get(); ;void tou()/输出表格头部cout<<""<<endl;cout<&l

15、t;""<<" 职工号 "<<""<<" 姓名 "<<""<<" 性别 "<<""<<" 年龄 "<<""<<" 工资 "<<""<<endl;void wei()/输出表格尾部cout<<""<<end

16、l; Manager A4; /定义全局对象Tech B4;Xmanager D4;int i; /变量int InputManager()for(i=0;i<4;i+) Ai.Set();cout<<endl;cout<<"-"<<endl;return 0;int InputTech ()for(i=0;i<4;i+) Bi.Set();cout<<endl;cout<<"-"<<endl;return 0;int InputSeller()for(i=0;i<

17、4;i+) Di.Setc();cout<<endl;cout<<"-"<<endl;return 0;int InputXManager()for(i=0;i<4;i+) Di.Set();cout<<endl;cout<<"-"<<endl;return 0;int fanhui()/冒泡排序法 for(int pass=1;pass<4;pass+) for(i=0;i<4-pass;i+) if(Di.returnt()<Di+1.returnt()

18、Xmanager temp; temp=Di; Di=Di+1; Di+1=temp; return 0;int IntputMenu() cout<<" 小型公司工资管理系统"<<endl; cout<<" "<<endl; cout<<" 请选择您所需要的操作 "<<endl; cout<<" 经理数据输入 : 1,并按回车键 "<<endl; cout<<" 技术员数据输入 : 2,并按回车键

19、 "<<endl; cout<<" 销售员数据输入 : 3,并按回车键 "<<endl; cout<<" 销售经理数据输入: 4,并按回车键 "<<endl; cout<<" 返回上一层 : 5,并按回车 "<<endl; cout<<" "<<endl; cout<<"请选择一个操作: " cin>>i;switch(i) case 1:InputMan

20、ager(); break;case 2:InputTech (); break;case 3:InputSeller();break; case 4:InputXManager();break;case 5:fanhui();return 0; break; return 1;int StatisticMenu()/数据统计for(i=0;i<4;i+) Di.Get1();cout<<endl; cout<<endl; cout<<"销售经理按工资排序为:"<<endl; tou(); for(i=0;i<4;

21、i+) Di.Getx(); wei();return 0;int PrintMenu()cout<<"请等待."<<endl; cout<<"职工基本情况一览表如下:"<<endl; cout<<"技术员"<<endl; tou(); for(i=0;i<4;i+) Bi.Get(); wei(); cout<<"-"<<endl; cout<<"经理"<<endl;

22、tou(); for(i=0;i<4;i+) Ai.Get(); wei(); cout<<"-"<<endl; cout<<"销售经理"<<endl; tou(); for(i=0;i<4;i+) Di.Get(); wei(); cout<<"-"<<endl; cout<<"销售员"<<endl; tou(); for(i=0;i<4;i+) Di.Getc(); wei(); cout<&

23、lt;"-"<<endl;return 0;int Showmenu()while(1) cout<<endl; cout<<" 小型公司工资管理系统"<<endl; cout<<" "<<endl; cout<<" 请选择您所需要的操作 "<<endl; cout<<" 数据录入: 1,并按回车键 "<<endl; cout<<" 数据统计: 2,并按回

24、车键 "<<endl; cout<<" 数据打印: 3,并按回车键 "<<endl; cout<<" 退出系统: 4,并按回车键 "<<endl; cout<<" "<<endl; cout<<endl<<endl<<endl; cout<<"请选择一个操作: " cin>>i; switch(i) case 1:IntputMenu();break;case 2

25、:StatisticMenu();break; case 3:PrintMenu();break;case 4:return 0;break;void main() Showmenu();运行结果: 小型公司工资管理系统 请选择您所需要的操作 数据录入: 1,并按回车键 数据统计: 2,并按回车键 数据打印: 3,并按回车键 退出系统: 4,并按回车键 请选择一个操作: 1 小型公司工资管理系统 请选择您所需要的操作 经理数据输入 : 1,并按回车键 技术员数据输入 : 2,并按回车键 销售员数据输入 : 3,并按回车键 销售经理数据输入: 4,并按回车键 返回上一层 : 5,并按回车 请选择

26、一个操作:1经理编号:1其姓名:king性别(m/w):m年龄:24经理编号:2其姓名:ji性别(m/w):w年龄:34经理编号:3其姓名:ding性别(m/w):m年龄:42经理编号:4其姓名:wang性别(m/w):w年龄:34 小型公司工资管理系统 请选择您所需要的操作 数据录入: 1,并按回车键 数据统计: 2,并按回车键 数据打印: 3,并按回车键 退出系统: 4,并按回车键 请选择一个操作: 1 小型公司工资管理系统 请选择您所需要的操作 经理数据输入 : 1,并按回车键 技术员数据输入 : 2,并按回车键 销售员数据输入 : 3,并按回车键 销售经理数据输入: 4,并按回车键 返

27、回上一层 : 5,并按回车 请选择一个操作:2技术员编号:1其姓名:jing性别(m/w):m年龄:24工作时间:8技术员编号:2其姓名:han性别(m/w):w年龄:32工作时间:9技术员编号:3其姓名:hong性别(m/w):m年龄:23工作时间:9技术员编号:4其姓名:ji性别(m/w):m年龄:41工作时间:9- 小型公司工资管理系统 请选择您所需要的操作 数据录入: 1,并按回车键 数据统计: 2,并按回车键 数据打印: 3,并按回车键 退出系统: 4,并按回车键 请选择一个操作: 1 小型公司工资管理系统 请选择您所需要的操作 经理数据输入 : 1,并按回车键 技术员数据输入 :

28、2,并按回车键 销售员数据输入 : 3,并按回车键 销售经理数据输入: 4,并按回车键 返回上一层 : 5,并按回车 请选择一个操作: 3销售员编号:1其姓名:li性别(m/w):m年龄:25销售额:2091所属经理编号:1销售员编号:2其姓名:ki性别(m/w):m年龄:34销售额:2345所属经理编号:2销售员编号:3其姓名:df性别(m/w):m年龄:34销售额:2314所属经理编号:3销售员编号:4其姓名:wei性别(m/w):w年龄:25销售额:2653所属经理编号:4销售员编号:5其姓名:ning性别(m/w):m年龄:26销售额:2312所属经理编号:1销售员编号:6其姓名:si

29、性别(m/w):w年龄:24销售额:2654所属经理编号:2销售员编号:7其姓名:kingding性别(m/w):m年龄:25销售额:3452所属经理编号:3销售员编号:8其姓名:ni性别(m/w):w年龄:34销售额:3425所属经理编号:4-小型公司工资管理系统 请选择您所需要的操作 数据录入: 1,并按回车键 数据统计: 2,并按回车键 数据打印: 3,并按回车键 退出系统: 4,并按回车键 请选择一个操作: 1 小型公司工资管理系统 请选择您所需要的操作 经理数据输入 : 1,并按回车键 技术员数据输入 : 2,并按回车键 销售员数据输入 : 3,并按回车键 销售经理数据输入: 4,并

30、按回车键 返回上一层 : 5,并按回车 请选择一个操作: 4销售经理编号:1其姓名:jing性别(m/w):m年龄:25销售经理编号:2其姓名:di性别(m/w):w年龄:26销售经理编号:3其姓名:deng性别(m/w):m年龄:26销售经理编号:4其姓名:sing性别(m/w):w年龄:27- 小型公司工资管理系统 请选择您所需要的操作 数据录入: 1,并按回车键 数据统计: 2,并按回车键 数据打印: 3,并按回车键 退出系统: 4,并按回车键 请选择一个操作: 2职工编号1销售经理jing下属销售员的业绩为: 职工号 姓名 销售额 1 li 2091 2 ki 2345销售额总计: 4

31、436 职工编号2销售经理di下属销售员的业绩为: 职工号 姓名 销售额 3 df 2314 4 wei 2653销售额总计: 4967 职工编号3销售经理deng下属销售员的业绩为: 职工号 姓名 销售额 5 ning 2312 6 si 2654销售额总计: 4966 职工编号4销售经理sing下属销售员的业绩为: 职工号 姓名 销售额 7 kingding 3452 8 ni 3425销售额总计: 6877 销售经理按工资排序为: 职工号 姓名 性别 年龄 工资 1 jing m 25 5022.18 2 di w 26 5024.84 3 deng m 26 5024.83 4 sing w 27 5034.39 小型公司工资管理系统 请选择您所需要的操作 数据录入: 1,并按回车键 数据统计: 2,并按回车键 数据打印: 3,并按回车键 退出系统: 4,并按回车

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论