您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C++程序设计实习报告
中国石油大学(华东)信息与控制工程学院《程序设计实习》报告小型公司工资管理系统的设计专业班级:电子信息工程10-3学号:10052324姓名:杨浩时间:2011.7.14~2011.7.172011年7月目录一、实习内容…………………………………………………………………………1二、设计思路…………………………………………………………………………2三、程序清单…………………………………………………………………………3四、运行结果…………………………………………………………………………4五、程序使用说明……………………………………………………………………5六、总结及心得体会…………………………………………………………………6程序设计实习报告1一、实习内容1.实习内容是要设计一个面向小型公司的工资管理系统。2.小型公司有经理、技术员、销售员以及销售经理等四类员工。3.该系统可对各个员工的各种情况(包括名字、年龄、性别、职工号、工资状况、工作时间、销售额)进行输入。然后可以输出。4.可以按姓名或职工号对员工基本信息进行查询。5.系统可以对销售经理下属的销售员的各种情况进行统计,并可以对销售经理按销售总额由高到低进行排序。6.系统可以对各类员工的各种情况进行统计。7.系统可以将员工所有的基本信息进行保存备份。程序设计实习报告2二、设计思路首先,创建了一个Employer基类.然后派生出四个类:Manager、Technician、Seller、Salemanager.在基类定义了四个虚函数用于对派生类所有数据进行输入、输出、统计、打印、排序、查询等。其次,在总体结构上,建立一级菜单,用于选择各种功能.1.数据输入:输入员工的各种数据.2.数据统计:将员工的总数据进行对比排序,然后输出.3.数据打印:显示输入的各种数据.4.数据备份:对输入的数据进行保存备份.5.信息检索:对员工的信息进行检索并输出。6.退出程序:执行退出程序命令.程序设计实习报告3三、程序清单文件1:head.h#includestringvoidSstatistics();//声明销售员类统计表格函数voidSalesroom();//声明Salemanager类的友元函数用于数据成员salesroom的赋值和排序voidSmstatistics();//声明销售经理排序表格函数voidallprint(Technician*p,intn);//声明打印表格的allprint函数voidallprint(Manager*p,intn);//声明打印表格的allprint重载函数voidallprint(Salemanager*p,intn);//声明打印表格的allprint重载函数voidallprint(Seller*p,intn);//声明打印表格的allprint重载函数voidallsave(Technician*p,intn);//声明数据备份的函数voidallsave(Manager*p,intn);//声明数据备份的重载函数voidallsave(Salemanager*p,intn);//声明数据备份的重载函数voidallsave(Seller*p,intn);//声明数据备份的重载函数voidnum_search();//声明按职工号检索函数voidnam_search();//声明按姓名检索函数Employer*p;Managerm[4];Techniciant[4];Sellers[16];Salemanagersm[4];intflags=1;intnum;stringnam;文件2class.cpp#includefstream#includeiostream#includeiomanip#includestringusingnamespacestd;fstreamoutfile;externflags;classEmployer{public:virtualvoidinput(){cout其姓名:;cinname;cout性别(m/w):;cinsex;cout年龄:;cinage;程序设计实习报告4}voidprint1()//定义基类的成员虚函数用于打印固定格式的私有数据成员{cout┃setw(12)setiosflags(ios::left)number┃setw(12)name┃setw(12)sex┃setw(12)age┃setw(12)pay┃endl;}voidsave()//定义基类的成员虚函数用于保存固定格式的私有数据成员{outfile┃setw(12)setiosflags(ios::left)number┃setw(12)name┃setw(12)sex┃setw(12)age┃setw(12)pay┃endl;}virtualdoublepays(){return0;}virtualvoidnum_compare(intnum)//按职工号比较函数并输出员工信息定义为基类的成员函数{if(num==number){cout该员工基本信息如下:endl;cout姓名:nameendl;cout职工号:numberendl;cout性别:sexendl;cout年龄:ageendl;cout本月工资:payendl;coutendl;flags=0;}}virtualvoidnam_compare(stringnam)//按姓名比较函数并输出员工信息定义为基类的成员函数{if(nam==name){cout该员工基本信息如下:endl;cout姓名:nameendl;cout职工号:numberendl;cout性别:sexendl;cout年龄:ageendl;cout本月工资:payendl;coutendl;flags=0;}}protected:intnumber;stringname;程序设计实习报告5charsex;intage;doublepay;};classManager:publicEmployer{public:voidinput(){cout经理的编号:;cinnumber;Employer::input();pay=pays();coutendl;}doublepays(){return8000;}};classTechnician:publicEmployer{public:voidinput(){cout技术员的编号:;cinnumber;Employer::input();cout工作时间:;cintime;pay=pays();coutendl;}doublepays(){return100*time;}private:inttime;};classSeller:publicEmployer{public:voidinput(){cout销售员的编号:;cinnumber;Employer::input();程序设计实习报告6cout销售额:;cinsaleroom;cout所属销售经理的编号:;cinbelong;pay=pays();coutendl;}voidsprint()//定义Seller类的成员函数统计用于输出固定格式的私有数据成员{cout┃setw(12)setiosflags(ios::left)number┃setw(12)name┃setw(12)saleroom┃endl;}voidprint2()//定义该类的成员函数打印时用于输出固定格式的私有数据成员{cout┃setw(8)setiosflags(ios::left)number┃setw(8)name┃setw(8)sex┃setw(8)age┃setw(8)pay┃setw(16)belong┃endl;}doublepays(){returnsaleroom*0.04;}doubleSaleroom(){returnsaleroom;}private:intsaleroom;intbelong;};classSalemanager:publicEmployer{public:voidinput(){cout销售经理的编号:;cinnumber;Employer::input();coutendl;}voidsmprint()//定义该类的成员函数用于输出固定格式的私有数据成员{pay=pays();cout┃setw(12)setiosflags(ios::left)number┃setw(12)name┃setw(12)sex┃setw(12)age┃setw(12)salesroom┃endl;}doublepays(){return5000+salesroom*0.005;}程序设计实习报告7friendvoidSalesroom();private:intsalesroom;};文件3:main.cpp#include001.cpp#includehead.husingnamespacestd;intmain(){inti,j,k;cout请按屏幕提示进行操作:endlendl;next:while(1){cout***小型公司工作管理系统***endl;cout┌──────────────┐endl;cout│请选择您所需的操作│endl;cout│数据输入:1并按回车键│endl;cout│数据统计:2并按回车键│endl;cout│数据打印:3并按回车键│endl;cout│数据备份:4并按回车键│endl;cout│信息检索:5并按回车键│endl;cout│退出系统:6并按回车键│endl;cout└──────────────┘endl;cout请选择一个操作:;cini;while(i!=1&&i!=2&&i!=3&&i!=4&&i!=5&&i!=6){cout您输入错误,请重新输入endl;cini;}switch(i){case1:{while(1){cout***公司员工数据数据输入***endl;cout经理数据输入:1并按回车键endl;cout技术员数据输入:2并按回车键endl;cout销售员数据输入:3并按回车键endl;cout销售经理数据输入:4并按回车键endl;程序设计实习报告8cout返回上一级菜单:5并按回车键endlendl;cout请选择一个操作:;cinj;while(j!=1&&j!=2&&j!=3&&j!=4&&j!=5){cout您输入错误,请重新输入endl;cinj;}switch(j){case1:for(k=0;k4;k++){m[k].input();}break;case2:for(k=0;k4;k++){t[k].input();}break;case3:for(k=0;k16;k++){s[k].input();}break;case4:for(k=0;k4;k++){sm[k].input();}break;case5:gotonext;default:break;}}}cas
本文标题:C++程序设计实习报告
链接地址:https://www.777doc.com/doc-3163641 .html