- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++程序课程设计
题目:工资管理 (A 级)
同组:XXX
指导老师:XXX
提交日期:20XX-XX-XX
页脚
程序功能简介
这是一个员工工资管理程序。工资管理的数据文件中存储有员工和工资,该
程序可以录入、显示、修改、删除、查找员工和工资。
课程设计要求
(1) 用类的形式改写程序,将程序中工资数据用链表的形式存放,定义一个链
表类,封装主要的操作函数。
(2) 显示、修改、删除数据项时大小通用。
(3) 工资数据按工资值的大小进行排序存放。
(4) 修改、删除数据前增加提示信息,用户确认后才能进一步操作,否则操作
取消。
(5) 增加程序的文件输入输出功能,在执行程序中首先将工资数据从文件中读
出再进行管理,在程序结束时能将工资数据保存在原文件。
源程序分析
整个源程序采用一个超长的 while 循环语句,实现功能的循环使用。再通过
if语句,根据用户的不同命令运行不同的功能。
源程序首先定义了员工的结构类型,封装了、工资和删除标记三种数据。主程序
中,分为五个大的模块,实现5 个不同的功能:
(1)添加工资记录 先输入数据,然后将赋值的变量输入进文件,添加完成。
(2)显示工资记录 先以读的方式打开工资文件,依次循环读取文件显示工
资数据,最后显示数据总个数。
(3)根据查询工资数据 输入要查找的,然后输出。
(4)根据删除工资数据 输入欲删除的,循环查找,将所有数据写入临时
文件,以写的方式打开数据文件,以读的方式打开临时文件,再将未标记的数据
写入原文件。
(5)根据修改工资数据 输入要修改的,再将新数据写入。
新程序设计思路
将数据采用链表的形式存储,具体是将链表定义成一个类,将结点视为类中
的数据成员。这样即将结点视为一个整体,涉及结点的插入、输出、删除等操作。
同样,结点也定义成一个类,在结点中,将具体的数据形式定义成数据类型的指
针,所有针对数据的操作都转换为对指针的操作,在数据类中再具体实现。最后,
将数据具体形式定义成一个类。
新增模块功能介绍
在程序中,我新增了第一个数据类,其中封装了工资、、删除标记三种数据,
还有返回这些数据的公有函数,以及一个显示、工资的 Show 函数。第二个是结点
类,其中定义了用于指向数据的指针 (这是每个数据的不同部分)和指向链表的
页脚
指针这两种数据,还有返回结点指针、输入数据、显示数据的函数,并且把链表
定义成友元类。第三个是链表类,其中定义了链表头结点指针这一种数据,还有
在首部添加结点、打印整个链表、删除整个链表、按工资顺序插入一个结点的函
数。
在这三个类的基础上,我又具体定义了分别实现添加工资记录、显示工资记
录、根据查询工资数据、根据删除工资数据、根据修改工资数据五个功能的函数,
具体请看源程序。最后主函数中先输出欢迎界面,然后通过 Switch 语句由用户选
择功能,然后进一步运行程序。
编程中遇到的问题及解决方法
在编写程序的过程中,也出现了一些问题,有的是基本概念模糊,翻了课本
就清晰 了。但有的关于链表的问题,实在有点棘手 ,比如删除指定的一个结点,
返回该结点的指针,还有查找一个指定的数据,返回该数据所在结点在链表中的
指针,于是我找 了同学一起讨论和研究 ,最后基本得到了解决。
程序运行结果分析 (包括截屏、正确性分析)
1、添加数据
2、显示数据
页脚
3、查询数据
4、删除数据,并显示以验证准确性
页脚
5、修改数据,显示以验证准确性
页脚
6、退出
页脚
心得体会
这是一个数据管理类的程序,因为以前没接触过,所以刚开始无从着手。通
过学习,知道了这类程序一般采用链表的形式存储。然后将链表定义成一个类,
将结点视为类中的数据成员,这也是第一次这么操作,觉得有点困难。同样,结
点也定义成一个类,再将数据具体形式定义成一个类。这样利用了类的优越性,
而且针对不同的数据管理,只要改动部分就可以了。这样,实现了程序的结构化。
通过 C++课程设计,从以前做相对简单的独立的小程序到设计复杂的管理
原创力文档


文档评论(0)