您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 小型公司工资管理系统实习报告
中国石油大学(华东)信息与控制工程学院《程序设计实习》报告小型公司工资管理系统设计专业班级:电子1403学号:14050203**姓名:张恩赐实习时间:2015年7月6日~7月10日2015年7月目录一、实习内容-------------------------------------------------------------------------------------------1二、设计思路-------------------------------------------------------------------------------------------2三、程序调试过程中典型问题及解决方法-------------------------------------------------------3四、源程序代码----------------------------------------------------------------------------------------4五、程序使用说明-------------------------------------------------------------------------------------23六、总结及心得体会----------------------------------------------------------------------------------page1一、实习内容1、设计目的:以《程序设计语言(C/C++)》为基础,针对具有一定难度的综合性题目,进行分析、编程、调试和运行,进一步掌握面向过程和面向对象程序设计的基本方法和编程技巧,巩固所学理论知识,是理论与实践相结合,提高分析问题、解决问题的能力。通过设计一个简单的《小型公司工资管理系统》,进一步熟悉C++中类的概念、类的封装、继承和多态的实现方式。了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程;逐步熟悉程序设计的方法,并养成良好的编程习惯。2、设计要求:(1)公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、月工资、岗位、年龄、性别等信息。(2)工资的计算方法:A.经理:固定月薪为8000;B.技术员:工作时间*小时工资(100元每小时);C.销售员:销售额*4%提成;D.销售经理:底薪(5000)+所辖部门销售额总额*0.5%;(3)输入数据要求每类人员不能少于2人,并按以下格式输出:职工号姓名性别年龄岗位工资排名(4)部门业绩表某销售经理所辖部门各销售员的业绩及自己的工资表(5)菜单要求:要有一个菜单,用于选择各项功能,其中1.数据录入:输入各种数据;2.数据统计:统计各种数据;3.数据打印:打印上述表格;4.数据备份:把相关数据写入文件;5.退出:退出本系统;page2二、设计思路1.4个主要功能设置为4个函数(指前四个功能);主体用swith()来实现功能选择;2.四个职员都具有姓名,性别,年龄三个属性,可以设置为一个基类包含这三个属性;这样这四类职员可设为派生类;3.按功能分步来做。page3三、程序调试过程中典型问题及解决方法1.对象数组的设置,这里的对象数组的元素多少可以动态设置。后来了解到new运算符。2.受保护的成员数据的访问。在类中定义非空函数返回受保护的成员函数值;在需要变动的受保护成员函数(如销售经理的工资)的访问中,与前面不同的是在类中定义的非空函数加入了参数。3.表格因输入数据影响不会一直对齐。后来了解到setw()函数。page4四、源程序代码#includeiostream#includestring//stew()函数所在的头文件#includeiomanip//文件输入输出流函数所在头文件#includefstream//exit()退出函数所在头文件#includestdlib.husingnamespacestd;//用来接收用户指令intpi;classtechnology;//定义了指向类类型technology的数据的指针变量technology*t;classmanager;manager*m;classsalesman;salesman*sn;classsalesmanager;salesmanager*sr;//我们定义了一个基类;该基类包含了公司4类人员的基本属性:姓名,性别,年龄。classemployee{public:voidinput_data_employee();stringget_name(){returnname;}charget_sex()page5{returnsex;}intget_age(){returnage;}protected:stringname;charsex;intage;};voidemployee::input_data_employee(){cout姓名:;cinname;cout性别(m/w):;cinsex;cout年龄:;cinage;}//定义技术人员类,继承方式为公有继承。classtechnology:publicemployee{public:voidinput_data_tecnology_number();voidinput_data_tecnology_time();intget_tecnology_number(){returntecnology_number;}doubleget_tecnology_time(){returntecnology_time;}protected:page6inttecnology_number;doubletecnology_time;};voidtechnology::input_data_tecnology_number(){cout技术人员的编号:;cintecnology_number;}voidtechnology::input_data_tecnology_time(){cout工作时间:;cintecnology_time;}//定义经理类,继承方式为公有继承classmanager:publicemployee{public:voidinput_data_manager_number();intget_manager_number(){returnmanager_number;}protected:intmanager_number;};voidmanager::input_data_manager_number(){cout经理的编号:;cinmanager_number;}//定义销售人员类page7classsalesman:publicmanager{public:voidinput_data_salesman_number();voidinput_data_salesman_saleavolume();voidinput_data_salesman_classification();intget_salesman_number(){returnsalesman_number;}doubleget_salesman_saleavolume(){returnsalesman_saleavolume;}intget_salesman_classification(){returnsalesman_classification;}protected:intsalesman_number;doublesalesman_saleavolume;intsalesman_classification;};voidsalesman::input_data_salesman_number(){cout销售员的编号:;cinsalesman_number;}voidsalesman::input_data_salesman_saleavolume(){cout销售额:;cinsalesman_saleavolume;}voidsalesman::input_data_salesman_classification(){cout所属销售经理的编号:;page8cinsalesman_classification;}//定义销售经理类classsalesmanager:publicmanager{public:voidinput_data_salesmanager_number();intget_salesmanager_number(){returnsalesmanager_number;}doubleget_salesmanager_salary(){returnsalesmanager_salary;}voidcaculation_salesmanager_salary(doublecaculation_salesmanager_salar){salesmanager_salary=caculation_salesmanager_salar;}protected:intsalesmanager_number;doublesalesmanager_salary;};voidsalesmanager::input_data_salesmanager_number(){cout销售经理的编号:;cinsalesmanager_number;}///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////第一部分:数据的输入/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////page9page10//全局变量,用来储存各个人员的人数inttechnology_quantity,manager_quantity,salesman_quantity,salesmanager_quantity;//定义全局变量,用于判断是否已经输入数据inte=0;//各类人员人数输入函数voidquantity(){cout公司技术人员人数:;cintechnology_quantity;cout公司经理人数:;cinmanager_quantity;cout公司销售人员人数:;cinsalesman_quantity;cout公司销售经理人员人数:;cinsalesmanager_quantity;}//输入各人员的相关信息函数page11voidinformation(){for(inti=0;itechnology_quantity;i++){t[i].input_data_tecnology_number();t[i].input_data_employee();t[i].input_data_tecnology_time();}cout--------------------------------------endl;for(i=0;imanager_quantity;i++){m[i].input_data_manager_number();m[i]
本文标题:小型公司工资管理系统实习报告
链接地址:https://www.777doc.com/doc-4484264 .html