C++程序设计实习报告_第1页
C++程序设计实习报告_第2页
C++程序设计实习报告_第3页
C++程序设计实习报告_第4页
C++程序设计实习报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、目录一、实习内容 1二、设计思路 2三、程序清单 3四、运行结果 15五、程序使用说明 20六、总结及心得体会 21一、实习内容课程设计的题目:小型公司工资管理系统设计设计说明:公司主要有四类人员:经理、技术员、销售员、销售经理。程序要求 存储这些人的职工号、姓名、月工资、年龄、性别等信息。并且应用程序中要求 给出菜单,用于选择各项功能。一、程序要求实现的功能即菜单目录有:1、数据输入:输入各种数据;2、数据统计:统计各销售经理下属销售员的销售额及销售额之和;销售经理工 资进行冒泡排序;3、数据打印:打印各类员工的数据信息;4、数据备份:把各类员工的数据信息写入文件中保存;5、退出:退出本系统

2、,即结束程序的运行。二、工资的计算方法A:经理:固定月薪为8000元;B:技术员:工作时间*小时工资(100元/小时);C:销售员:销售额* 4%提成;D:销售经理:底薪(5000) +所辖部门销售额总 额* 0.5%。三、类的层次结构大体如下雇员类技术员类经理类销售员类销售经理类、设计思路1.(1)首先我们要搞清楚各类之间的继承关系,设置基类employee,其派生类manager,technician,salesman 再以 manager类为基类,再派生一个 salesmanager 类,将各类的数据成员设计成 protected,方便派生类对基类的继承;(2)在public里编写数据输

3、入的函数,在主函数中输出菜单并定义各类的对象, 通过对象来调用数据输入函数;2.(1)在基类employee中补充几个返回各类数据的函数以用于返回输入的各类值;(2)在主函数内用冒泡法对销售经理的工资进行排序,定义一个wage口来将各销售经理下面的销售员的销售额进行储存,定义一个all用于计算销售经理的销售总额,以便于下面对其进行工资的计算;(3)第2, 3, 4步都用大量的for循环进行输出,以实现表格的形成还有表格 中数据的输入;在主函数内定义各类的对象,然后都是直接通过类的对象调用类 内的函数,运用for循环进行打印,统计;3.备份参照课本格式,选择路径及格式,运用for循环备份;就是那

4、个fstream之类的东西;、退出系统用exit(5)函数实现;4 .主函数运用switch语句,将上述功能编为case 15每个case后添加break;5 .程序结束。以上是我所认为的该程序的几个要点 .三、程序清单#include<iostream>#include<string>#include<cmath>#include<iomanip>#include<fstream>using namespace std;const N=2;fstream outfile;class employee /基类,雇佣者protected

5、:string name;char sex;int age;public:virtual void display。cout<<"其姓名:"cin>>name;cout<<"性另1J (m/w):"cin>>sex;cout<<"年龄:"cin>>age;string nam()return name;char se()return sex;/技术员类int ag()return age;class technician: public employee publ

6、ic:int worktime;int numberl;public:void display1()cout<<”技术员的编号:"cin>>number1;employee二display。; cout<<"工作时间"; cin>>worktime;int time()return worktime;int numb1()return number1;/class manager : public employee 经理类 protected:int number2;public:void display2() co

7、ut<<"经理的编号:"cin>>number2;employee二display。;/int numb2()return number2; ;class salesman : public employee 销售员类protected:int total;int boss;int number3;public:void display3()cout<<”销售员的编号:"cin>>number3;employee二display。; cout<<"销售额:" cin>>to

8、tal;cout<<"所属销售经理的编号:"cin>>boss;int hismanager()return boss;int xiaoshoue()return total;int numb3()return number3;/class salesmanager : public manager 销售经理类 protected:int number4;public:void display4()II.cout<<"销售经理的编号: cin>>number4;employee:display();int numb4

9、()return number4;/ void form()/提示表格cout<<" 小型公司工资管理系统 "<<endl;cout<<" 1 "<<endl;cout<<" |请选择您所需的操作I "<<endl;cout<<" | 数据输入:1,并按回车键I "<<endl; cout<<" | 数据统计:2,并按回车键| "<<endl; cout<<&quo

10、t; | 数据打印:3,并按回车键| "<<endl; cout<<" | 数据备份:4,并按回车键| "<<endl; cout<<" | 退出系统:5,并按回车键| "<<endl; cout<<" 11 "<<endl;cout<<”请选择一个操作:" int main() int i,j,k,g,m,all,t;char shuzi;int wageN;technician t1N;manager m1N;sal

11、esman s12*N,s22*N;salesmanager sm1N,f;for(t=1;t+)form();cin>>shuzi;switch(shuzi)case '1':/功能1for(i=0;i<N;i+)t1i.display1(); cout<<""<<endl;for(i=0;i<N;i+)m1i.display2(); cout<<""<<endl;for(i=0;i<2*N;i+)s1i.display3(); cout<<&qu

12、ot;"<<endl;for(i=0;i<N;i+)sm1i.display4();cout<<""<<endl;break; case '2':/功能 2for(i=0;i<N;i+)wagei=5000;all=0;cout<<"职工号为"<<sm1i.numb4()<<"销售经理"<<sm1i.nam()<<"下属销 售员的业绩为:"<<endl;cout<&

13、lt;" 111 "<<endl;cout<<" |职工号 |姓名 |销售额 | "<<endl;for(m=0;m<2*N;m+)if(s1m.hismanager()=sm1i.numb4() wagei=wagei+0.005*(s1m.xiaoshoue();all=all+s1m.xiaoshoue();cout<<" |111 "<<endl;cout<<" | "<<setw(10)<<s1m.num

14、b3()<<" | "<< setw(8)<<s1m.nam()<<I "<<setw(10)<<s1m.xiaoshoue()<<" I "<<endl;cout<<" |111 "<<endl;cout<<" | 销售额总计 I "<<setw(20)<<all<<" | "<<endl;cout<

15、<" 111"<<endl;for(j=0;j<N;j+)for(k=0;k<N-j;k+)if(wagek<wagek+1)t=wagek;冒泡wagek=wagek+1;wagek+1=t;f=sm1k;sm1k=sm1k+1;sm1k+1=f;cout<<"销售经理按工资排序为:"<<endl;cout<<" 11111 "<<endl;cout<<" |职工号 |姓名 |性别 |年龄 |工资 | "<<

16、;endl;for(g=0;g<N;g+)cout<<" |11111 "<<endl;cout<<" | "<<setw(10)<<sm1g.numb4()<<" | "<<setw(8)<<sm1g.nam()<<" | "<<setw(8)<<sm1g.se()<<"|"<<setw(8)<<sm1g.ag()<

17、<"|"<<setw(8)<<wageg<<" | "<<endl;cout<<" 111111 "<<endl;break ;/功能 3case '3': cout<<情等待"<<endl;cout<<"职工基本情况一览表如下"<<endl;cout<<"技术员"<<endl;cout<<" 111

18、11"<<endl; cout<<" |职工号 |姓名 |性别 |年龄 |工资 |"<<endl;for(i=0;i<N;i+)cout<<" |11111"<<endl;cout<<" | "<<setw(10)<<t1i.numb1()<<" | "<<setw(8)<<t1i.nam()<<" | "<<setw(8)&

19、lt;<t1i.se()<<"I"<<setw(8)<<t1i.ag()<<"I"<<setw(8)<<t1i.time()*100<<" | "<<endl;cout<<" 111111"<<endl; /技术员表 cout<<""<<endl;cout<<"经理"<<endl;cout<<

20、" 11111<<endl;cout<<" |职工号 |姓名 |性别 |年龄 |工资 "<<endl; for(i=0;i<N;i+) ( cout<<" |11111"<<endl; cout<<" | "<<setw(10)<<m1i.numb2()<<" | "<<setw(8)<<m1i.nam()<<I "<<setw(8)&

21、lt;<m1i.se()<<"|"<<setw(8)<<m1i.ag()<<""<<setw(8)<<"8000"<<" | "<<endl; cout<<" 111111"<<endl;/经理表cout<<""<<endl;cout<<"销售经理"<<endl; cout<&l

22、t;" I11111"<<endl; cout<<" |职工号 |姓名 |性别 |年龄 |工资 "<<endl; for(g=0;g<N;g+) ( cout<<" |11111"<<endl; cout<<"|"<<setw(10)<<sm1g.numb4()<<""<<setw(8)<<sm1g.nam()<<"|"<

23、<setw(8)<<sm1g.se()<<""<<setw(8)<<sm1g.ag()<<" | "<<setw(8)<<wageg<<" | "<<endl; cout<<" 111111"<<endl; cout<<""<<endl;销售经理表cout<<"销售员"<<endl;cout&

24、lt;<" 1111r1 "<<endl;cout<<" |职工号 |姓名 |性别 |年龄 |工资 | 所属部门经理编号I "<<endl;for(i=0;i<(2*N);i+)(cout<<" |1111k1 "<<endl;cout<<" | "<<setw(10)<<s1i.numb3()<<" | "<<setw(8)<<s1i.nam()<

25、;<" I "<<setw(8)<<s1i.se()<<" I "<<setw(8)<<s1i.ag()<<" I "<<setw(8)<<s1i.xiaoshoue()*0.04<<" | "<<setw(16)<<s1i.hismanager()<<" | "<<endl;cout<<" 11111L1 &qu

26、ot;<<endl; /经理表cout<<""<<endl;break; case '4':cout<<"数据备份"<<endl;outfile.open("E:sjq.txt",ios:in|ios:out|ios:trunc);outfile<<"技术员"<<endl;outfile<<" 11111 "<<endl;outfile<<" |职工号

27、 |姓名 |性别 |年龄 |工资 I "<<endl;for(i=0;i<N;i+)(outfile<<" |1111T "<<endl; outfile<<" | "<<setw(10)<<t1i.numb1()<<" | "<<setw(8)<<t1i.nam()<<"I "<<setw(8)<<t1i.se()<<" I &quo

28、t;<<setw(8)<<t1i.ag()<<" I "<<setw(8)<<t1i.time()*100<<" | "<<endl; outfile<<" 11111"<<endl; /技术员表 outfile<<""<<endl;outfile<<"经理"<<endl; outfile<<" 11111 "

29、<<endl; outfile<<" |职工号 |姓名 |性别 |年龄 |工资I "<<endl; for(i=0;i<N;i+) outfile<<" |1111T "<<endl; outfile<<"|"<<setw(10)<<m1i.numb2()<<"|"<<setw(8)<<m1i.nam()<<"|"<<setw(8)&l

30、t;<m1i.se()<<"|"<<setw(8)<<m1i.ag()<<" | "<<setw(8)<<"8000"<<" | "<<endl; outfile<<" 11111"<<endl;/经理表outfile<<""<<endl;outfile<<"销售经理"<<endl;

31、outfile<<" 11111 "<<endl; outfile<<" |职工号 |姓名 |性别 |年龄 |工资I "<<endl;for(g=0;g<N;g+)outfile<<" |1111T "<<endl; outfile<<"|"<<setw(10)<<sm1g.numb4()<<"|"<<setw(8)<<sm1g.nam()<

32、<"|"<<setw(8)<<sm1g.se()<<"|"<<setw(8)<<sm1g.ag()<<" I "<<setw(8)<<wageg<<" I "<<endl; outfile<<" 11111"<<endl; outfile<<""<<endl; 销售经理表outfile<<&q

33、uot;销售员"<<endl; outfile<<" 1111n1 "<<endl;outfile<<" |职工号 |姓名 |性别 |年龄 |工资 I所属部门经理编号I "<<endl; for(i=0;i<(2*N);i+) ( outfile<<" |1111H1 "<<endl;outfile<<" | "<<setw(10)<<s1i.numb3()<<&quo

34、t; | "<<setw(8)<<s1i.nam()<<" I "<<setw(8)<<s1i.se()<<" I "<<setw(8)<<s1i.ag()<<" I "<<setw(8)<<s1i.xiaoshoue()*0.04<<" | "<<setw(16)<<s1i.hismanager()<<" | &qu

35、ot;<<endl; outfile<<" 11111J1 "<<endl;/经理表outfile<<""<<endl;outfile.close();break;case '5':cout<<'确定退出系统吗? "<<endl;cout<<”是:1, 否:2"<<endl;int a;cin>>a;if(a=1) exit(5);break;default :cout<<&quo

36、t;error"<<endl;return 0;四、运行结果1 1 200 £ 1 1Jp 19 I 1W 号ngFtA 扁 h : G.S-a ; 8 7茅 N > 5 4 w > 5 一时,八27间的I A27间 撵爰<111:町贝名.时 因术姓别龄次姓别龄作 百年工技卷年工102号zh>:号waj扁 W 4扁: / 3 :的名5 .的名理姓别龄理姓别龄0 Ap S 300理号narw 0SS £ ,.隹晶!ZW32理号nl00理号n2m4 空扁& I 2: Efl L- I w> 6 Fw> s .隹蔚

37、.zw35.隹晶./W26:经编一贝名5 :额辑贝名.额,贝名CR:额智贝名CR:额M短别龄生是甚别龄隹尽届别龄隹蜃届别龄良一言.百年百年百年存年喜号 号 编、编Si 1 ) 理.%36理:/w29 .经名<n经名5 : 隹娃别龄隹娃别龄 年年3Cfhlcftl-一31一 键键键键键 作车车车车车 操回回回回回 的按按按按按 一 i , B 1 2 3 4 5 您 计禺统 选要打拿 请数数数数Is 夕7-r*7f?、Ta小型公司工资管理系统最譬就M帛J理stm下属销售员的业绩为:职工号姓名销售额 1301zhang350000302wang354000销售额总计104000只工号为402

38、销售经理liu下属销售员的业绩为:职工号姓名销售额303wanl60000304wan 280000销售额总计140000个型公司工资管理系统Bll I fhit n I 3111 2二 作车车车车车 操回回回回回 的技按按按技 cd ,J*, 12 3 4 5 您 计积统 选塞打票 请 数数数数退请选拄一个操作:3 请等否职工其本情况一览表如下 技术员职二号姓名性别年龄工资zhanglW2756001102 |wangln275800职二号姓名性别年龄工资201zhang2W348000202wang2m368000销售经理职工弓姓名性别年龄工费的2liuVI2957001 侬sunW365

39、520销售员职工号姓名性别年龄工资所属部门经理编号301zhang3R282000401302viang3W322160401303wanlW352400402304wan 2n263200402小型公司工贲管理系统三匚 一 jw= - g= e i rfuJ 一 I二,:-rlL, 卷针卷隹卷 作车车车车车 揉回回回回回 的a ,J"尸,-bv 12 3 4 5整aJ $ 3择人计M统选星打窠请魏知教甥退道选择一个操作:4螂备份支小型公司工资管理系统田二-e - g -1二 Jn 二 卷隹卷笆较 作车车车车车 操回回回回 的 owae R E- 12 3 4 5 您J- 3 - 择人计黑统 选期打第 请数数致短退请选样一个理作:5 确定随出系境吗?是小 杏工2Pi*ess any key Co cantinue数据备份内容技术员职二号姓名性别年龄工资101zhangl275600102wanglR275800经理职二号姓名性别年龄工资201zhang2348000202viang2m368000销售经理职二号姓名性别年龄工资402liu295700401sun365520销售贝职工号姓名性别年龄工资所属部门经理编号301zhang3m282000401302wang3VJ322160401303wan1VJ3524

温馨提示

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

评论

0/150

提交评论