C课程设计报告资料.docVIP

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

文档评论(0)

181****8523 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档