ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:120.05KB ,
资源ID:7527505      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7527505.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C课程设计职工工资管理系统报告内含程序完整清单.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C课程设计职工工资管理系统报告内含程序完整清单.docx

1、C课程设计职工工资管理系统报告内含程序完整清单1 概述本课程设计是面向对象程序设计课程的后继教学环节,学好C+语言就必须坚持用面向对象的思维方式分析问题、解决问题,最好的方法是仿照教材编写C+实际应用程序。此次课程设计的题目及要求:实现一个简单的工资管理系统。1.1 程序的基本功能系统的主要功能是计算职工当月工资并存档。公司内有5种不同类型的职工:技术人员、销售人员、文秘、技术经理和销售经理,他们的工资计算方式各不相同。1.2 其它功能将工资信息存入文件中,工资信息包含雇员编号、姓名、职务、月份、月收入。文件中只存留一些信息及会员最后进入系统时输入的数据,最多含有编号、姓名、职务、月份的信息。

2、1.3 扩展功能采用了会员制度,并将登入信息及编号、密码存入文件中。2 课题的分析通过对课题的深入分析,我将这个课题分为以下几个模块,深入详细得剖析它们。2.1 会员登入系统模块即systemhead静态全局函数模块程序运行后,先进行会员选择判断。为减少会员重新注册,通过输入两次编号及密码,增加繁琐度。同时在一定的方面上,又方便忘记密码的会员。通过密码匹配,雇员的工资信息这一隐私得到了很好的保障。2.2 查询功能模块即search函数模块首先,从中提取编号,与中的编号进行匹配,匹配成功,输出工资信息,直到文件!()=0。.2.3 职务信息匹配及处理模块即systembody静态全局函数模块模块

3、4从中提取职务信息,用switch语句进行匹配,据匹配情况调用不同的函数进行输入、处理、显示并以增加方式记录到中。2.4 循环控制模块即while(1)模块为了更加方便使用,尽量改善系统,实现search函数及systembody函数功能,在search函数及systembody函数模块的基础上加了一些必要的语句,并增加了外层循环控制。3 详细设计作为一个面向对象程序设计,我们不得不先从类的声明开始设计,而后是一个整体的流程图做框架。最后在从小的模块结构着手。3.1 类声明3.2 系统简略流程图3.3 会员登入系统模块即systemhead静态全局函数模块3.4 查询功能模块即search函数

4、模块3.5 职务信息匹配及处理模块即systembody静态全局函数模块3.6 循环控制模块即while(1)模块4 课程设计总结4.1 完成情况本次面向对象课程设计的所有功能基本完成,并且扩展功能也成功的实现!可执行文件能正常执行指令并运行!4.2 遇到的问题及解决图4.2.1错误ErrorC:Users权Desktop(.data$_vt$8Employee+0xc):undefinedreferencetoEmployee:countSalary(void)错误:没有定义Employee类中的countSalary函数!改正:将原先的“virtualvoidcountSalary();”

5、改为”virtualvoidcountSalary()”图4.2.2错误错误分析:(会员板块中)提示:“数字1表示是!其他键表示否!”,但定义的选择变量为整型。加上我当时输入字符p。改正:“其他键表示否!”改为”数字0表示否”。输入时按提示进行输入即可!图4.2.3错误调试分析:错误发生在systemhead静态全局函数内的文件输入循环模块中!改正:将以nocreate方式即”ifstreamindata(d:,ios:nocreate);“该为默认打开方式即“ifstreamindata(d:);”。图4.2.4错误调试分析:错误发生在调用systembody静态全局函数前后的while循环

6、模块中,很有可能是数据存取混乱造成的。改正:systemhead静态全局函数内“ofstreamoutdata(d:,ios:trunc);”改为先清后在以默认方式输入!且将存取整型编号的变量类型从字符型改为整型。图4.2.5错误错误:后面莫名其妙的跟着一个提示语句指令。分析调试:当语句指令是基类info函数内的语句,很有可能是循环控制出现了一些问题。改正:见程序源代码!参考文献1 下面给出几个参考文献的格式参考2 匿名,不知道,非常多计算机实用教程北京:XX大学出版社,2004,1232343 美DonisSomethingVisualX#2008技术内幕北京:YYY大学出版社,2007,5

7、6784 JohnsSmith,+nothing/5 6 面向对象程序设计,郑莉,清华大学出版社,7 面向对象程序设计C+语言,朱战立等编西安电子科技大学出版社8 面向对象程序设计-VisualC+,刘斌等编,清华大学出版社9 面向对象程序设计-C+语言描述,RichardJohnsonbaugh(美)等着,蔡宇辉等译,机械工业出版社,2003附录本系统有三个源程序文件构成,分别为,及。同时含有三个系统文件,分别为,及,且全部存放在D盘根目录下,请勿随意移动或修改系统文件。当会员正式进入系统,是先清空后用来存储会员输入的信息,最多含有编号、姓名、职务及月份。当仅会员注册时,会将编码及密码存储到

8、中。当仅会员登入的编号及密码进行匹配时,会打开输入文件,提取编号及密码,进行匹配。当仅当输入工资数据时,会将工资、编号、姓名、职务、月份存储到中。当仅当查询工资信息时,会打开,提取编号、姓名、职务、月份及工资。该系统是一个只适合5种及5种职务的工资管理系统。并将职务分为技术人员、销售人员、文秘、技术经理和销售经理,其代号分别为1,2,3,4,5。雇员编号以整型变量存储,编号所取范围在-65536至65535之内(包括边界值),首位数字表示相应的职务代码。该系统能力有限,请根据指示严格输入相应字符!程序清单Main函数#include#includecstringstaticvoidsystem

9、head();staticvoidsystembody();staticvoidtechnician();staticvoidsalesman();staticvoidsecretary();staticvoidtechmanager();staticvoidsalesmanager();usingnamespacestd;voidmain() systemhead();/调用systemhead静态全局函数 coutnn1:查询工资; coutnn2:输入工资数据; coutnn0:退出系统!nn; coutxuanze; if(xuanze=1) employeea; coutendlen

10、dl; (); coutnn输入工资数据请按数字2,退出系统请按数字0!nn; /查询工资信息 if(xuanze=2) employeea; (); ();/输入处理工资数据并暂时记录 systembody();/调用systembody静态全局函数 coutnn查询工资请按数字1,退出系统请按数字0!nn; if(xuanze=0)exit(0); staticvoidsalesmanager() SalesManagera5; floatsum; coutsum; (sum); (); ();staticvoidtechmanager() TechManagera4; intgra; c

11、outgra; (gra); (); (); staticvoidsecretary() Secretarya3; floatbon; coutbon; (bon); (); ();staticvoidsalesman() Salesmana2; floatsum; coutsum; (sum); (); ();staticvoidtechnician() Techniciana1; floathour; couthour; (hour); (); ();staticvoidsystembody() ifstreamindata(); if(indata=NULL)exit(0); intnu

12、m; charna25; intsta; indatanumnasta;/职务代号分别为1,2,3,4,5 switch(sta) case1:technician();break; case2:salesman();break; case3:secretary();break; case4:techmanager();break; case5:salesmanager();break; default:cout职务代号错误!n请重新输入!; staticvoidsystemhead() charx,y=y; intnum; charsecret6; while(y) coutx; if(x)

13、 coutnum; coutsecret;/输入编号及密码 ifstreamindata(); if(indata=NULL) coutnum1; while(!() indatasecret1; if(num=num1)&(strcmp(secret,secret1)=0) y=0;/改变判断变量的值,停止外层循环 break;/终止内层循环 indatanum1; ();/检验登入信息 else coutnum; coutsecret;/注册输入编号及密码 ofstreamoutdata(,ios:app); outdatanumtsecrett; ();/将编号及密码保存到中 coute

14、ndlendl; ofstreamoutdata(,ios:trunc);();/清空文件内容 ofstreamoutdata1(); outdata1numt; ();/输入编号至#include#include#includeusingnamespacestd;voidEmployee:info() charna25;intsta,mon; coutnastamon; name=na;status=sta;month=mon;/存储姓名、职务、月份voidEmployee:search() intnum; ifstreamindata0(); if(indata0=NULL)exit(0)

15、; indata0num; ();/从文件中提取编号 intnum1;charna125;intsta1;intmon1;floatsal; intmon0; ifstreamindata(); if(indata=NULL)exit(0); while(!() indatanum1na1sta1mon1sal; if(num=num1) coutnum1tna1tsta1tmon1tsaln; /依次输出该雇员的工资信息 if() coutnn以上是你的工资信息!nn; ();voidEmployee:recordinfo() ofstreamoutdata(,ios:app); outda

16、tanametstatustnumbernamestatusmonth; ();/依次输出该雇员的工资信息 intnum1;charna125;intsta1;intmon1;floatsal; ifstreamindata1(); if(indata1=NULL)exit(0); while(!() indata1num1na1sta1mon1sal; if(month!=mon1) coutnum1tna1tsta1tmon1tsaln; else exit(0); /依次输出该雇员的工资信息 coutnumbertnametstatustmonthtsalary; /显示工资信息 ofs

17、treamoutdata(,ios:app); outdatannumbertnametstatustmonthtsalary; (); voidTechnician:setHour(floatx) workHour=x;Technician:Technician(floatx) hourSalary=x;voidTechnician:countSalary() salary=workHour*hourSalary;voidSalesman:setsalesnum(floatx) salesnum=x;Salesman:Salesman(floatx) getRate=x;voidSalesm

18、an:countSalary() salary=salesnum*getRate;voidSecretary:setbonus(floatx) bonus=x;Secretary:Secretary(floatx) fixedSalary=x;voidSecretary:countSalary() salary=fixedSalary+bonus;Manager:Manager(floatx) fixedSalary=x;voidTechManager:setgrade(intx) grade=x;TechManager:TechManager(floatx) gradeBonus=x;voi

19、dTechManager:countSalary() salary=fixedSalary+grade*gradeBonus;SalesManager:SalesManager(floatx) getRate=x;voidSalesManager:countSalary() salary=fixedSalary+salesnum*getRate;voidTechnician:setHour(floatx) workHour=x;Technician:Technician(floatx) hourSalary=x;voidTechnician:countSalary() salary=workH

20、our*hourSalary;voidSalesman:setsalesnum(floatx) salesnum=x;Salesman:Salesman(floatx) getRate=x;voidSalesman:countSalary() salary=salesnum*getRate;voidSecretary:setbonus(floatx) bonus=x;Secretary:Secretary(floatx) fixedSalary=x;voidSecretary:countSalary() salary=fixedSalary+bonus;Manager:Manager(floa

21、tx) fixedSalary=x;voidTechManager:setgrade(intx) grade=x;TechManager:TechManager(floatx) gradeBonus=x;voidTechManager:countSalary() salary=fixedSalary+grade*gradeBonus;SalesManager:SalesManager(floatx) getRate=x;voidSalesManager:countSalary() salary=fixedSalary+salesnum*getRate;classEmployeeprotecte

22、d:intnumber;charname25;intstatus;intmonth;floatsalary;public:voidinfo();voidsearch();virtualvoidcountSalary()voidrecordinfo();voidrecordinfo1();voidrecordSalary();classSalesman:publicEmployeeprotected:floatsalesnum;doublegetRate;public:Salesman(floatx=;voidsetsalesnum(floatx);voidcountSalary();class

23、Technician:publicEmployeeprivate:floatworkHour;floathourSalary;public:Technician(floatx=;voidsetHour(floatx);voidcountSalary();classSecretary:publicEmployeeprivate:floatfixedSalary;floatbonus;public:Secretary(floatx=4000);voidsetbonus(floatx);voidcountSalary();classManagerprotected:floatfixedSalary;public:Manager(floatx=6000);voidcountSalary();classSalesManager:publicSalesman,publicManagerpublic:SalesManager(floatx=;voidcountSalary();classTechManager:publicTechnician,publicManagerprivate:floatgradeBonus;intgrade;public:TechManager(floatx=1000);voidsetgrade(intx);voidcountSalary();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1