C++程序设计实习报告.docx
- 文档编号:3599400
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:18
- 大小:228.18KB
C++程序设计实习报告.docx
《C++程序设计实习报告.docx》由会员分享,可在线阅读,更多相关《C++程序设计实习报告.docx(18页珍藏版)》请在冰豆网上搜索。
C++程序设计实习报告
一、实习内容…………………………………………………………………………1
二、设计思路…………………………………………………………………………2
三、程序清单…………………………………………………………………………3
四、运行结果…………………………………………………………………………15
五、程序使用说明……………………………………………………………………20
六、总结及心得体会…………………………………………………………………21
ﻬ一、实习内容
课程设计得题目:
《小型公司工资管理系统》设计
设计说明:
公司主要有四类人员:
经理、技术员、销售员、销售经理。
程序要求存储这些人得职工号、姓名、月工资、年龄、性别等信息。
并且应用程序中要求给出菜单,用于选择各项功能。
一、程序要求实现得功能即菜单目录有:
1、数据输入:
输入各种数据;
2、数据统计:
统计各销售经理下属销售员得销售额及销售额之与;销售经理工资进行冒泡排序;
3、数据打印:
打印各类员工得数据信息;
4、数据备份:
把各类员工得数据信息写入文件中保存;
5、退出:
退出本系统,即结束程序得运行。
二、工资得计算方法
A:
经理:
固定月薪为8000元;B:
技术员:
工作时间*小时工资(100元/小时);C:
销售员:
销售额* 4%提成;D:
销售经理:
底薪(5000)+所辖部门销售额总额*0、5%。
三、类得层次结构大体如下
雇员类
↑
技术员类 经理类 销售员类
↓
销售经理类
ﻬ二、设计思路
1.
(1)首先我们要搞清楚各类之间得继承关系,设置基类employee,其派生类manager,technician,salesman。
再以manager类为基类,再派生一个salesmanager类,将各类得数据成员设计成protected,方便派生类对基类得继承;
(2)在public里编写数据输入得函数,在主函数中输出菜单并定义各类得对象,通过对象来调用数据输入函数;
2.
(1)在基类employee中补充几个返回各类数据得函数以用于返回输入得各类值;
(2)在主函数内用冒泡法对销售经理得工资进行排序,定义一个wage[]来将各销售经理下面得销售员得销售额进行储存,定义一个all用于计算销售经理得销售总额,以便于下面对其进行工资得计算 ;
(3)第2,3,4步都用大量得for循环进行输出,以实现表格得形成还有表格中数据得输入;在主函数内定义各类得对象,然后都就是直接通过类得对象调用类内得函数,运用for循环进行打印,统计;
3。
备份参照课本格式,选择路径及格式,运用for循环备份;就就是那个fstream之类得东西;、退出系统用exit(5)函数实现;
4.主函数运用switch语句,将上述功能编为case1~5,每个case后添加break;
5.程序结束。
以上就是我所认为得该程序得几个要点…………………………………、、
三、程序清单
#include〈iostream>
#include<string〉
#include #include<iomanip〉 #include<fstream> using namespacestd; constN=2; fstream outfile; classemployee //基类,雇佣者 { protected: stringname; ﻩcharsex; intage; public: virtualvoiddisplay() ﻩ{ cout<<"其姓名: ”; ﻩcin>>name; cout〈<”性别(m/w): "; ﻩcin>>sex; ﻩcout<<"年龄: "; ﻩ cin〉〉age; ﻩ} ﻩstringnam(){return name;} charse(){return sex;} int ag(){returnage;} }; // classtechnician: publicemployee //技术员类 { public: intworktime; ﻩintnumber1; public: voiddisplay1() ﻩ{ ﻩﻩcout〈<”技术员得编号: "; ﻩcin>〉number1; employee: : display(); cout<<”工作时间”; ﻩcin>>worktime; } ﻩinttime(){returnworktime;} ﻩintnumb1(){returnnumber1;} }; // classmanager : publicemployee //经理类 {protected: intnumber2; public: voiddisplay2() { ﻩcout<〈"经理得编号: ”; ﻩﻩcin>>number2; employee: : display(); } ﻩint numb2(){returnnumber2;} }; // classsalesman: public employee //销售员类 { protected: inttotal; intboss; ﻩint number3; public: ﻩvoiddisplay3() ﻩ{ ﻩcout<〈"销售员得编号: "; ﻩcin〉>number3; employee: : display(); cout<<"销售额: "; ﻩcin>>total; ﻩﻩcout<<"所属销售经理得编号: ”; ﻩcin〉〉boss; } inthismanager(){returnboss;} ﻩintxiaoshoue(){returntotal;} ﻩintnumb3(){returnnumber3;} }; // classsalesmanager: publicmanager //销售经理类 {protected: intnumber4; public: ﻩvoiddisplay4() ﻩ{ ﻩcout〈<”销售经理得编号: "; cin>>number4; employee: : display(); } ﻩintnumb4(){return number4;} }; // voidform() { cout<<"★★小型公司工资管理系统★★"< cout<<"┌─────────────┐"〈 cout〈<”│ 请选择您所需得操作 │"<<endl; cout〈<”│ 数据输入: 1,并按回车键│"〈 cout〈<"│ 数据统计: 2,并按回车键 │"〈〈endl; cout〈<"│数据打印: 3,并按回车键│"〈<endl; cout<<”│ 数据备份: 4,并按回车键│"< cout〈<"│ 退出系统: 5,并按回车键│"〈〈endl; cout〈<”└─────────────┘"〈〈endl; cout〈<"请选择一个操作: "; } int main() {inti,j,k,g,m,all,t; char shuzi; int wage[N]; techniciant1[N]; manager m1[N]; salesmans1[2*N],s2[2*N]; salesmanagersm1[N],f; for(t=1;;t++) { ﻩform(); cin〉>shuzi; ﻩswitch(shuzi) ﻩ{ case ’1’: { //功能1 for(i=0;i〈N;i++) t1[i]、display1(); cout<〈”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、”< for(i=0;i〈N;i++) m1[i]、display2(); cout<<"、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、”<<endl; for(i=0;i<2*N;i++) s1[i]、display3(); cout<〈”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、"〈〈endl; for(i=0;i〈N;i++) sm1[i]、display4(); cout<<”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、"<〈endl; break;} case'2': //功能2 ﻩfor(i=0;i {wage[i]=5000;all=0;ﻩ cout〈<"职工号为"<〈sm1[i]、numb4()<<”销售经理"〈<sm1[i]、nam()<<"下属销售员得业绩为: "<〈endl; ﻩcout<〈”┌─────┬────┬─────┐”〈〈endl; cout<<"│职工号 │姓名 │销售额 │"〈<endl; ﻩfor(m=0;m<2*N;m++) {if(s1[m]、hismanager()==sm1[i]、numb4()) ﻩ{ﻩwage[i]=wage[i]+0、005*(s1[m]、xiaoshoue());all=all+s1[m]、xiaoshoue(); ﻩcout〈<"├─────┼────┼─────┤”<〈endl; ﻩ cout<<"│"〈〈setw(10)<<s1[m]、numb3()〈<"│”< ﻩ}} cout<〈”├─────┼────┴─────┤”〈 cout<<”│销售额总计│"<〈setw(20)<<all<<”│"〈〈endl; cout〈〈”└─────┴──────────┘"< for(j=0;j for(k=0;k<N-j;k++) if(wage[k]<wage[k+1]) {t=wage[k]; //冒泡 wage[k]=wage[k+1]; wage[k+1]=t; f=sm1[k]; sm1[k]=sm1[k+1]; sm1[k+1]=f;} cout<〈”销售经理按工资排序为: ”<<endl; cout〈〈"┌─────┬────┬────┬────┬────┐”<<endl; cout〈<”│职工号 │姓名│性别 │年龄 │工资 │"< for(g=0;g { cout〈〈”├─────┼────┼────┼────┼────┤”〈〈endl; cout<<"│"<〈setw(10)<<sm1[g]、numb4()〈〈"│”<<setw(8)< } cout〈〈”└─────┴────┴────┴────┴────┘"〈 break; //功能3 case'3': cout<<”请等待、、、、、、、、、、、、"<<endl; ﻩcout<〈”职工基本情况一览表如下"<〈endl; ﻩﻩcout<<"技术员”<<endl; cout<<"┌─────┬────┬────┬────┬────┐"< cout<<"│职工号 │姓名│性别│年龄│工资 │"〈〈endl; for(i=0;i ﻩﻩ{ ﻩcout<<"├─────┼────┼────┼────┼────┤"〈〈endl; ﻩcout<<”│"<〈setw(10)〈〈t1[i]、numb1()〈〈”│"<〈setw(8)<<t1[i]、nam()<〈"│"< ﻩ} ﻩcout〈〈"└─────┴────┴────┴────┴────┘"< cout<<"、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、"< ﻩcout〈<”经理"<〈endl; cout〈<”┌─────┬────┬────┬────┬────┐”<<endl; cout〈<"│职工号 │姓名 │性别 │年龄│工资│”<〈endl; for(i=0;i<N;i++) ﻩ{ cout<<"├─────┼────┼────┼────┼────┤”< ﻩcout〈〈"│”< ﻩ} ﻩcout<<"└─────┴────┴────┴────┴────┘"<〈endl;//经理表 cout〈<”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、"<〈endl; cout<<”销售经理"〈 cout〈<"┌─────┬────┬────┬────┬────┐"< cout<<”│职工号 │姓名 │性别 │年龄 │工资 │”<<endl; for(g=0;g<N;g++) ﻩ{ cout<<"├─────┼────┼────┼────┼────┤"〈 cout〈<"│”<<setw(10)〈<sm1[g]、numb4()〈<"│”<〈setw(8)〈〈sm1[g]、nam()〈<"│"< } cout<<"└─────┴────┴────┴────┴────┘"<<endl; cout<〈”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、”<<endl; //销售经理表 ﻩcout<〈"销售员"<<endl; cout<〈"┌─────┬────┬────┬────┬────┬────────┐”< cout<<"│职工号│姓名 │性别 │年龄 │工资 │所属部门经理编号│"<〈endl; for(i=0;i<(2*N);i++) { ﻩﻩcout〈<”├─────┼────┼────┼────┼────┼────────┤”〈〈endl; cout〈<"│"<〈setw(10)<〈s1[i]、numb3()<〈"│”〈 } cout〈〈”└─────┴────┴────┴────┴────┴────────┘"<〈endl; //经理表 cout<〈"、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、”〈<endl; break; case '4': ﻩcout〈〈”数据备份”<<endl; out("E: \\sjq、txt",ios: : in|ios: : out|ios: : trunc); outfile<〈”技术员”< outfile<<”┌─────┬────┬────┬────┬────┐"<<endl; outfile<〈"│职工号 │姓名 │性别 │年龄 │工资│"〈〈endl; for(i=0;i ﻩﻩ{ ﻩoutfile〈<”├─────┼────┼────┼────┼────┤"<<endl; ﻩoutfile<<"│"<<setw(10)<<t1[i]、numb1()<<”│”〈 } ﻩoutfile〈〈"└─────┴────┴────┴────┴────┘"<<endl;//技术员表 outfile<<”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、"〈<endl; ﻩﻩoutfile<<"经理"<<endl; outfile〈<"┌─────┬────┬────┬────┬────┐"〈 outfile〈<"│职工号│姓名 │性别│年龄 │工资 │"<<endl; for(i=0;i ﻩ{ ﻩﻩoutfile<〈"├─────┼────┼────┼────┼────┤”<〈endl; outfile〈〈"│”〈<setw(10)〈 } ﻩoutfile<〈”└─────┴────┴────┴────┴────┘”< ﻩoutfile〈〈"、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、”〈〈endl; ﻩoutfile<〈"销售经理"<〈endl; outfile〈<”┌─────┬────┬────┬────┬────┐”<〈endl; outfile<〈"│职工号 │姓名│性别 │年龄 │工资 │"〈<endl; for(g=0;g ﻩﻩ{ outfile<〈"├─────┼────┼────┼────┼────┤”<<endl; outfile〈<”│"< ﻩﻩ} outfile<<"└─────┴────┴────┴────┴────┘"<<endl; ﻩoutfile<〈"、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、"<<endl; //销售经理表 ﻩﻩoutfile<<"销售员”〈<endl; outfile<〈"┌─────┬────┬────┬────┬────┬────────┐”<<endl; outfile<<"│职工号│姓名 │性别 │年龄│工资 │所属部门经理编号│"<〈endl; for(i=0;i〈(2*N);i++) ﻩ{ ﻩﻩoutfile<〈"├─────┼────┼────┼────┼────┼────────┤"<<endl; ﻩﻩoutfile<<”│"<<setw(10)〈〈s1[i]、numb3()〈<"│"〈 ﻩ} ﻩoutfile〈〈”└─────┴────┴────┴────┴────┴────────┘"<<endl; //经理表 outfile〈〈"、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、”〈 out(); break; case’5': cout<〈"确定退出系统吗? ”< cout<〈"就是: 1, 否: 2"〈〈endl; ﻩﻩinta; ﻩﻩﻩcin〉>a; if(a==1) exit(5);break; default: cout<〈"error"<<endl;ﻩﻩ ﻩ} } return 0; } 四、运行结果 数据备份内容……………………………………………、 五、程序得使用说明 1。 从键盘输入1,按回车键,可进行各类数据得输入,此步骤必须执行; 2.从键盘输入2,按回车键,即可进行数据统计,得到统计列表; 3.从键盘输入3,按回车键,可打印出各类成员得基本信息; 4.从键盘输入4,按回车键,可进行数据备份; 5.从键盘输入5,按回车键,出现提示信息,若退出系统输入1否则输入2. ﻬ六、总结及心得体会 从9月2号,我们开始了为期一周得C++程序设计实习——《小型工资管理系统》,每天下午去机房调试程序,上午编写下一天得程序代码。 刚开始得时候,脑袋里一点思路都没有,因为以前没有接触过这么大得程序。 所以刚开始得时候,心里只有一个字能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 实习 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)