小型公司工资管理系统设计

上传人:简****9 文档编号:58448156 上传时间:2022-02-28 格式:DOCX 页数:15 大小:86.21KB
返回 下载 相关 举报
小型公司工资管理系统设计_第1页
第1页 / 共15页
小型公司工资管理系统设计_第2页
第2页 / 共15页
小型公司工资管理系统设计_第3页
第3页 / 共15页
点击查看更多>>
资源描述
一、课程设计目的1二、课程设计内容11 、题目及简介12 、设计说明13 、程序设计1(1)程序流程图1(2)程序代码2三、课程设计总结15参考文献15一、课程设计目的(1)要求学生达到熟练掌握C+语言的基本知识和技能;(2)基本掌握面向对象程序设计的基础思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。二、课程设计内容1、题目及简介(1)设计题目:小型公司工资管理系统设计(2)简介:公司主要有4类人员:经理,技术员,销售员,销售经理。要求存储这些人的职工号,姓名,月工资,岗位,年龄,性别等信息。工资的计算方法:经理:固定月薪为8000;技术员:工作时间*小是工资(100元每小时);销售员:销售额*4%提成;销售经理:底薪(5000)+所辖部门销售额总额*0.5%;要求;1)输入数据要求每类人员不能少于4人,并按一下格式输出:职员号姓名性别年龄岗位工资排名及某销售经理管理所辖部门各销售员的业绩及自己的工资表:职员号姓名销售额销售额合计。2)总体设计,要有一个菜单,用于选择各项功能,其中(1)数据录入:输入各种数据;(2)数据统计:各销售经理的工资计算及最终按工资进行的冒泡排序;(3)数据打印:打印上述表格;(4)退出:退出本系统;2设计说明充分利用了类的继承与派生的知识,先定义了一个雇员类Employee,由雇员类公有派生出技术员类Tech,销售员类Seller,经理类Manager,由销售员类Seller,经理类Manager公有派生出销售经理类XManager把基类都定义为虚基类。通过基类去写的派生类就可以调基类的公有成员。利用for循环把经理数据,技术员数据,销售员数据,销售经理数据输入,利用冒泡排序法把各销售经理的资按升序排列。利用switch进行选择系统进行的工作。在主菜单中进行调用各函数,从而实现系统各功能的运行。3程序设计(1)程序流程图(2)程序代码#include#include#includeclassEmployee/雇员类protected:intnum;intage;charname10;doubleincome;charsex;public:virtualvoidSet()coutname;coutsex;coutage;voidGet()cout|11111endl;cout|setw(10)num|;intn=10-strlen(name);for(inti=0;in;i+)cout;coutname|sex|setw(10)age|setw(10)incomeIendl;classTech:virtualpublicEmployee/技术员类protected:doublehour;doubleper;public:voidSet()coutnum;coutendl;Employee:Set();coutendl;couthour;per=100;income=hour*per;classSeller:virtualpublicEmployee/销售员类protected:doublesalary;/销售额intss;/所属经理编号public:doubleGets()returnsalary;voidSet()coutnum;Employee:Set();coutsalary;coutss;income=salary*0.04;voidGet1()intn=10-strlen(name);cout|setw(12)num|for(inti=O;in;i+)coutcoutname|setw(12)salary|endl;);classManagervirtualpublicEmployee/经理类protected:public:voidSet()cout经理的编号:cinnum;Employee:Set();income=8000;);classXmanagervirtualpublicManager,publicSeller/销售经理类protected:Sellerc1;/销售员Sellerc2;/销售员doubletotals;/销售总额public:doublereturnt()returntotals;voidSetc()c1.Set();coutendl;c2.Set();coutendl;)voidSet()cout销售经理编号:cinnum;Employee:Set();totals=c1.Gets()+c2.Gets();income=5000+totals*0.005;)endl;voidGetx()cout|1111cout|setw(10)num|intn=10-strlen(name);for(inti=0;in;i+)coutcoutname | sex I endl;I setw(10)age | setw(10)income)voidGet1()cout职工编号num销售经理name卜属销售员的业绩为:endl;coutii1endl;coutI职工号1姓名1销售额cout14-4endl;c1.Get1();cout14-4endl;c2.Get1();cout14-1endl;cout1销售额总计:1setw(23)totalsendl;cout1endl;voidGetc()c1.Get();c2.Get();voidtou()/输出表格头部cout|11111endl;cout|职工号1姓名1性另IJ工资endl;voidwei()/输出表格尾部11J11coutendl;endl;年龄ManagerA4;/定义全局对象TechB4;XmanagerD4;inti;/变量intInputManager()for(i=0;i4;i+)Ai.Set();coutendl;coutendl;return0;intInputTech()for(i=0;i4;i+)Bi.Set();coutendl;coutendl;return0;intInputSeller()for(i=0;i4;i+)Di.Setc();coutendl;coutendl;return0;intInputXManager()for(i=0;i4;i+)Di.Set();coutendl;coutendl;return0;intfanhui()/冒泡排序法for(intpass=1;pass4;pass+)for(i=0;i4-pass;i+)if(Di.returnt()Di+1.returnt()Xmanagertemp;temp=Di;Di=Di+1;Di+1=temp;return0;intIntputMenu()cout小型公司工资管理系统endl;couti1endl;cout1请选择您所需要的操作endl;cout1经理数据输入:1,并按回车键endl;cout1技术员数据输入:2,并按回车键endl;cout1销售员数据输入:3,并按回车键endl;cout1销售经理数据输入:4,并按回车键endl;cout1返回上一层:5,并按回车endl;1coutendl;couti;switch(i)case1:InputManager();break;case2:InputTech();break;case3:InputSeller();break;case4:InputXManager();break;case5:fanhui();return0;break;return1;intStatisticMenu()/数据统计for(i=0;i4;i+)Di.Get1();coutendl;coutendl;cout销售经理按工资排序为:endl;tou();for(i=0;i4;i+)Di.Getx();wei();return0;)intPrintMenu()cout请等待endl;cout职工基本情况一览表如下:endl;cout技术员endl;tou();for(i=0;i4;i+)Bi.Get();wei();coutendl;cout经理endl;tou();for(i=0;i4;i+)Ai.Get();wei();coutendl;cout销售经理endl;tou();for(i=0;i4;i+)Di.Get();wei();coutendl;cout销售员endl;tou();for(i=0;i4;i+)Di.Getc();wei();coutendl;return0;)intShowmenu()while(1)coutendl;cout小型公司工资管理系统*endl;cout1endl;cout|请选择您所需要的操作Iendl;cout|数据录入:1,并按回车键|endl;cout|数据统计:2,并按回车键|endl;cout|数据寸T印:3,并按回车键|endl;cout|退出系统:4,并按回车键|endl;cout11endl;coutendlendlendl;couti;switch(i)case1:IntputMenu();break;case2:StatisticMenu();break;case3:PrintMenu();break;case4:return0;break;voidmain()Showmenu();运行结果:小型公司工资管理系统请选择您所需要的操作I数据录入:1,并按回车键I数据统计:2,并按回车键|数据打印:3,并按回车键|退出系统:4,并按回车键|请选择一个操作:1小型公司工资管理系统请选择您所需要的操作经理数据输入:1,并按回车键I技术员数据输入:2,并按回车键|销售员数据输入:3,并按回车键|销售经理数据输入:4,并按回车键|返回上一层:5,并按回车请选择一个操作: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小型公司工资管理系统请选择您所需要的操作I数据录入:1,并按回车键I数据统计:2,并按回车键|数据打印:3,并按回车键|退出系统:4,并按回车键|请选择一个操作:1小型公司工资管理系统请选择您所需要的操作经理数据输入:1,并按回车键I技术员数据输入:2,并按回车键|销售员数据输入:3,并按回车键|销售经理数据输入:4,并按回车键|返回上一层:5,并按回车请选择一个操作:2技术员编号:1其姓名:jing性别(m/w):m年龄:24工作时间:8技术员编号:2其姓名:han性别(m/w):w年龄:329技术员编号:3其姓名:hong性别(m/w):m年龄:23工作时间:9技术员编号:4其姓名:ji性别(m/w):m年龄:41工作时间:9小型公司工资管理系统请选择您所需要的操作I数据录入:1,并按回车键I数据统计:2,并按回车键|数据打印:3,并按回车键|退出系统:4,并按回车键|请选择一个操作:1小型公司工资管理系统请选择您所需要的操作经理数据输入:1,并按回车键1技术员数据输入:2,并按回车键1销售员数据输入:3,并按回车键1销售经理数据输入:4,并按回车键1返回上一层:5,并按回车11请选择一个操作: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性别(m/w):w年龄:24销售额:2654所属经理编号:2销售员编号:7其姓名:kingding性别(m/w):m年龄:25销售额:3452所属经理编号:3销售员编号:8其姓名:ni性别(m/w):w年龄:34销售额:3425所属经理编号:4小型公司工资管理系统请选择您所需要的操作I数据录入:1,并按回车键I数据统计:2,并按回车键|数据打印:3,并按回车键|退出系统:4,并按回车键|请选择一个操作:1小型公司工资管理系统请选择您所需要的操作经理数据输入:1,并按回车键I技术员数据输入:2,并按回车键|销售员数据输入:3,并按回车键|销售经理数据输入:4,并按回车键|返回上一层:5,并按回车请选择一个操作:销售经理编号:1其姓名:jing性别(m/w):m年龄:25销售经理编号:2其姓名:di性别(m/w):w年龄:26销售经理编号:3其姓名:deng性别(m/w):m年龄:26销售经理编号:4其姓名:sing性别(m/w):w年龄:27小型公司工资管理系统请选择您所需要的操作I数据录入:1,并按回车键I数据统计:2,并按回车键|数据打印:3,并按回车键|退出系统:4,并按回车键|请选择一个操作:2职工编号1销售经理jing下属销售员的业绩为职工号I姓名I销售额I1|li|20912|ki|2345销售额总计:I4436职工编号2销售经理di下属销售员的业绩为职工号I姓名I销售额I3|df|23144|wei|2653I销售额总计:I4967职工编号3销售经理deng下属销售员的业绩为11职工号1111姓名11销售额11|5111ning111112312111|611si1111126541111销售额总计:1111496611职工编号4销sing下属销售员的业绩为11职工号111姓名1111i销售额111|711kingding111113452111|811ni1111134251111销售额总计:11116877111销售经理按工资排序为:111职工号1|_1姓名111性别11年龄111工资111111jing1m11112511|5022.18111|21di1Iw11112611|5024.84111|31deng1m11112611|5024.83111|41|_1sing1Iw11112711|5034.391小型公司工资管理系统请选择您所需要的操作I数据录入:1,并按回车键I数据统计:2,并按回车键|数据寸T印:3,并按回车键|退出系统:4,并按回车键|请选择一个操作:3请等待职工基本情况一览表如下:技术员111职工号11|_1姓名1i1性别1i年龄111工资1111111|_1jing11m112411I80011112|1|_1han11Iw113211I90011113|1|_1hong11m11231190011114|1|_1ji1m141119001经理111职工号11|_i姓名1i1性别11年龄111工资1111111|_1king11m112411800011112|1|_1ji11Iw113411800011113|1|_1ding11m114211800011114|1|_1wang1Iwi1341180001销售经理111职工号11|_i姓名1i1性别11年龄111工资1111111|_1jing11m1125115022.1811112|1|_1di11Iw1126115024.8411113|1|_1deng11m1126115024.8311114|1I1sing1Iwi127115034.3911Ili|1Im1251I83.64|1211Iki|1I1m113411I93.8|1311Idf|1I1m11341192.561411wei1I1w|112511I106.12|15111ningI1I1m11261192.481611si1I1w|112411106.1617111kingdingI1I1m112511138.081811ni1w|i134i11371小型公司工资管理系统请选择您所需要的操作I数据录入:1,并按回车键I数据统计:2,并按回车键|数据寸T印:3,并按回车键|退出系统:4,并按回车键|请选择一个操作:4Pressanykeytocontinue三、课程设计总结通过这次课程设计,加深了对类与派生的理解。对于类的保护成员只被本身的成员函数使用,而不能被公有派生产生的派生类的成员函数使用。了解了类与派生类之间的关系,派生类的成员函数可以调用基类的公有成员。在派生类中还可以定义其它派生类的对象。练习了for循环,switch的算法,全局变量的定义与使用,一维数组的定义与使用。在主菜单中调用各函数的算法,掌握了如何去掉用一个函数,以及函数的定义与调用的关系,定义在调用前的话,可以直接进行函数的调用,否则要先声明该函数,然后才能调用该函数。定一个类对象即对一个类进行实例化,了解到该对象调用类的成员函数的方法。掌握用冒泡法对数组进行从小到大的排序。了解到如何使一个系统看起来比较规整,有条理性。了解到类中定义虚函数的用法,在该类的派生类中定义了同名的成员函数时,该派生类的成员函数仍然是虚函数。了解虚基类的使用和虚函数的使用。参考文献1、付灵,柴欣VisualC+程序设计基础北京:中国铁道出版社2、李涛C+S向对象程序设计北京:高等教育出版社
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!