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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C++高级程序设计职工工资管理系统Word文档格式.docx

1、对系统所需完成的功能分析;使用Visual C+编译器进行程序编译; 提出系统的设计方案; 对所设计源程序进行调试。2) 创新要求:在基本要求达到后,可进行创新设计。3) 课程设计论文编写要求: 提交一份设计报告(即设计说明书)包括:设计任务的目的、任务、基本内容、总体设计方案、软件设计(各功能模块的流程图及详细的文字分析与说明)、软件特色与不足、调试结果、设计心得与总结、参考资料等。内容不得少于设计说明书专用纸20页,书写要整洁、规范,装订成册。三、 课程设计的基本内容我所做内容是职工工资管理系统,基本内容如下:职工工资管理系统1、 基本要求:为方便管理职工工资,编写一个职工工资管理系统软件

2、。系统记录必须包括职工姓名、职工编号、基本工资、职务工资、岗位津贴、五险一金等。2、 基本管理功能:(1) 添加:增加一个职工信息到管理系统中。(2) 查询:可以根据姓名查找某人的相关信息,若找到则显示其信息。(3) 修改:在管理系统中修改一个职工的信息。(4) 保存:将所有职工的信息保存在一个文件中(数据库文件或普通的文本文件)。(5) 读取:从文件中读取已保存了数据。(6) 删除:从管理系统中删除一条记录。(7) 恢复:能恢复被删除的记录。(8) 统计:(A)计算各项工资平均工资及总工资, (B)统计符合指定条件(如职工工资前三项之和在3000元以上、30002500元、25001000元

3、)以内的工资职工人数及占总职工人数的百分比。(C)以表格形式打印全部职工工资信息表及平均工资(包括各项总的平均工资)。(9) 其他:可以根据自己的思路设计其他功能。四、 软件整体规划和方案1、总的设计任务(1)设计一个菜单驱动程序,包括7个菜单内容,输入1-7之间的任何一个数字,就可以进入相应的选择项目,并执行对应的程序。(2)输出的信息分别为:增加职工信息、查找职工信息、修改职工信息、打印全部职工信息、删除单一职工信息、统计、退出程序。(3)对职工信息按工号或姓名进行查询。该系统具有存贮学生数据,按工号、姓名查询,按需要修改职工信息,列出职工工资和统计的功能(4)主要设计两个类,第一是职工类

4、(用于统计职工基本信息),第二个是职工类的友元类,叫系统类(用于处理数据),以及菜单函数、主函数来实现各项选择功能,输出正确的运行结果。(5)运用所学知识(主要为函数、循环语句、类的定义、测试、封装、数据隐藏、),掌握面向对象程序设计的基本概念和基本方法,掌握 C+语言的基本语法和基本内容,并能运用C+语言进行基本的面向对象程序设计,并且通过综合课程设计,提高学生的实践动手技能,培养学生独立分析分析问题和解决问题的能力。2、系统功能模块1、增加职工信息2、查找职工信息3、修改职工信息4、职工工资列表5、删除职工信息6、统计7、退出程序3、功能的实现使用者根据页面菜单的显示,选择相应是项目并输入

5、所需项目前的序号,按enter键 然后再根据提示,执行相应的操作,以达到功能的实现。4、总的程序流程图图:五、 程序功能简介用户运行程序后进入系统主界面,在主界面用户可以输入所有职工的数据并保存到date1.txt与date2.txt文件中,date1.txt文件是ASCII文本文件,可以直接读取,即便修改也不会影响系统中的数据,因为这个文件只是一个表面文件。而date2.txt是真正存储数据、处理数据的文件,这样做变使得数据变得安全,外部无法修改。该系统运行时也可以读取文件中已有的学生数据。用户在保存数据的时候,如果保存位置没有文件则自动新建一个文件进行保存。但该系统同时只能对一个数据文件进

6、行相关操作,不能同时打开多个数据文件,其类似于单用户操作系统。该系统中还存在“date9.txt”与 “date10.txt”这两个文件,这两个问价适用于判断是否添加新文件的判断(date10.txt)与储存计数器的文件(date9.txt)。由于新版本的c+库中没有ios:nocreat与ios:noplace两个对文件的操作,所以用如下代码来代替:void xitong:build () /build是用于文件建立的函数 fstream fs(date9.txt, ios_base:in); /试图打开文件 if (!fs) fs.close(); fs.open(out); / 新建文件

7、 ofstream outfile2(date10.txt,ios: n=0; outfile2k; /输入名字 for(i=0;ii+) if(k=ei.name) /查询是否有符合的项 b=1;break; if(b=1) displayone(i); /displayone(i)用来显示搜索到的数据所有信息 else cout查无此人,请先输入数据endl; break;3、 删除函数:删除函数用来删除不需要的数据,流程图附在后面。执行删除操作时 ,首先读取文件,然后开启选择项switch语句,输入选项,选择通过姓名还是通过工号来查询所要删除的信息。例如:选择名字查询,则先输入名字然后判

8、断器先定为0之后用for循环语句对存在内存中的对象数组中存储姓名的那一项进行比对,找到符合项之后,判断器会记为1,之后跳出循环。然后输出这个人的信息,并输出一行字“是否确定删除?(y/n)”。如果选择y,则会执行保存函数,将删除后的重新写入文件中。如果选择n,则不会执行保存函数,所以不会保存文件。因为每次调用函数时都是通过先读文件,在对读入的数据进行处理,所以对文件没有影响。if(z=1) cout此人信息如下: displayone(i); fx=ei; /将要删除的信息存入临时的 储存器当中以便恢复时使用。 x+; for(int j=i;jb; if(b=Y|b=y) savefile(

9、);文件修改完成 文件未修改 else查无此人以上为实现删除功能的部分代码4、修改函数修改函数目的是为了对数据进行修改,如果输入的数据有一些小问题的话,可以通过这个函数对数据进行修改。过程如下:首先选择修改数据,第二执行读取文件的操作,将文件读入内存中去。读入内存后也是通过for循环语句来查找对象,找到之后显示存在并与此同时输出该人的信息。与上面删除与查找类似,先将符合的对项找到,找不到则输出“查无此人”找到之后进行修改,修改分为1、修改姓名。2、修改工号。3、修改基本工资。4、修改职务工资。5、修改岗位津贴。6、修改五险一金。7、全部修改。执行前六个时分别修改一项,执行第七个时可以分别对其重

10、新输入修改。Void change1()int a; cout请选择那一线进行修改setw(20)1、姓名2、工号3、基本工资4、职务工资5、岗位津贴a;请输入正确选项 switch(a) case 1:cout输?入?新?名?字?ei.name; case 2:输入新工号ei.num; case 3:输入新基本工资ei.bs; case 4:输入新职务工资ei.ps; case 5:输入新岗位津贴ei.al; case 6:输入新五险一金ei.is; case 7:输入新名字 cout 5、恢复函数恢复函数目的是为了使得误删的函数进行恢复操作。其工作流程类似删除函数,先在存储删除后的类对象数

11、组中找到删掉的类数据。(同样是for循环查找)找到后选择是否恢复,选择是,则会在数据文件的最后将已经删除的数据重新加进去。if(b=1) en=fi; n+; savefile();已重新添加 for(i=0;(x-1); fi=fi+1; x-;六、 调试结果首先进行界面的调试结果如下图所示:非常成功 !按任意键进入之后输入管理员的姓名与密码之后进入,现在我的姓名是“张亦弛”密码是“0909122409”第二,进行添加函数的调试。我添加一个数据,姓名:郭启祥,工号:0909122403,基本工资987,职务工资654,岗位津贴321,五险一金963,然后再敲回车便可看到添加成功的提示。第三,

12、进行显示函数的调试,直接写5然后敲回车,可以发现以前有两个村过的数据,现在新增数据郭启祥已经加入最后一列当中去了。并且也间接证明我的函数没有问题。很成功。第4、进行查找函数的调试。查找郭启祥,用名字查找方式。那么郭启祥的信息就全部输出了!成功!第5、进行删除函数的调试,例如:删除郭启祥的所有信息,用工号查找的方式。表明郭启祥的数据已经删除。第6、进行恢复函数的调试,恢复郭启祥的数据,用姓名查找的方式。表明数据已经恢复成功!第7、修改函数的调试,例如:将郭启祥的基本工资改为1000七、 软件的特色与不足1、特色:(1)主界面用系统函数改变了界面颜色,并在每次执行完每个操作时会进行清屏等。(2)系

13、统的保密工作做得很好,只有管理员有权限修改程序,而且表面文件与数据文件分开来,使得重要数据得到隐藏。(3)每个操作的执行都会进行文件的保存,避免了因为特殊情况而导致的内存中数据丢失使得文件中的信息丢失。2、不足之处:(1)有最大存储值100,超过这个值的时候不会读入新增的数据。(2)没有链接数据库,存储是在文本文档当中存的,数据较多时读取与操作是个比较麻烦的事情。(3)程序没有与可视化连接在一起,所以界面有点单一单调。3、改进方面:(1)桥接数据库,十七能存储大容量的数据。(2)学习可视化,将界面做的更加人性化。八、 遇到的问题1、语法错误经常性忘记加“;”使得每次编译都进行的很慢。2、逻辑错

14、误()文件的写入与读出,刚开始对文件的操作不太明白,一致不能很好的操作文件,其中最大的问题是对已存在的文件读取问题,通过“显示全部学生成绩” 将数据从文件中读取,可是在使用过程中总是出现读出错误,出现乱码。()内存的分配问题,这也是困惑了我好久的问题。对于我们初学者来说对内存的分配和释放问题是比较抽象和模糊的难题,本来使用链表的方式存储数据,然而待到排序时出现了交换数据困难的问题,以及分配空间繁琐释放空间不及时的问题,造成空间浪费使得程序运行效率低的问题。因此最后采用了顺序存储记录的方式,这样就能改变前述问题。九、 设计心得与总结本次设计我选择的题目是职工工资管理系统。因为事先的计划非常明确,

15、所以我们在完成这个设计的过程也是比较顺利的。在系统分析和设计的部分仍然花了比较多的时间。模块设计部分因为涉及功能的实现,要从抽象的设计转化成实际的代码,因此对于某项功能的实现方法都思考得比较详尽。加上在开发系统之前,我阅读很多与本系统有相关内容的书籍以做参考,使得此次系统编写能顺利进行。由于班里每个人都需要做一份设计,所以我们经常互相交流。在交流的时候经常能够互相提出更好的建议。经过对职工信息管理系统的分析与编写,我得到了很大的收获。自主学习的必要性更是解决问题的基础。这次设计使我重温了以前学过的各科知识,让我对C编程有了更深刻的认识。每一个功能模块经过调查后后,各个功能逐渐显露出来,然后,反

16、复探讨,验证这项功能是否有存在的必要,是否可以改进得更好。在这样的前提下,最后顺利完成了这份设计。 这次C系统设计作业,提升了我分析问题的能力和思考问题的逻辑能力,更明白实际调研的重要性。从这次设计学到的东西,相信会对我们日后的学习工作起到很大的指导作用。一十、 参考文献c+程序设计 作者:谭浩强 出版社:清华大学出版社c+大学教程 作者:H.M.Deitel P.J.Deitel 出版社:电子工业出版社一十一、 附录第一个文件:主函数文件(mainhanshu)#includestringiostreamiomanip#includeshenming.husing namespace std

17、;/void main()/ /xitong s; /s.build(); /s.face();/void Pass() char UserName15; char Passward15; int i=1; /cout*n;n 为保护职工成绩信息,只有管理员才可以进行管理! n 管理员名和登陆密码都只有3次机会,如果超过将自动退出系统! / cout=3) exit(0); /超过3次则登陆失败,退出系统 i+;n管理员名无效!请重新输入:n请输入密码:Passward; while(strcmp(Passward,0909122409=3)n密码输入错误!ntt欢迎管理员的到来!nvoid editor()-

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2