1、C+程序课程设计题目:工资管理 (A级)同组:XXX指导老师:XXX提交日期:20XX-XX-XX程序功效介绍这是一个职员工资管理程序。工资管理数据文件中存放有职员姓名和工资,该程序能够录入、显示、修改、删除、查找职员姓名和工资。课程设计要求(1) 用类形式改写程序,将程序中工资数据用链表形式存放,定义一个链表类,封装关键操作函数。(2) 显示、修改、删除数据项时大小通用。(3) 工资数据按工资值大小进行排序存放。(4) 修改、删除数据前增加提醒信息,用户确定后才能深入操作,不然操作取消。(5) 增加程序文件输入输出功效,在实施程序中首先将工资数据从文件中读出再进行管理,在程序结束时能将工资数
2、据保留在原文件。源程序分析整个源程序采取一个超长while循环语句,实现功效循环使用。再经过if语句,依据用户不一样命令运行不一样功效。源程序首先定义了职员结构类型,封装了姓名、工资和删除标识三种数据。主程序中,分为五个大模块,实现5个不一样功效:(1)添加工资统计 先输入数据,然后将赋值变量输入进文件,添加完成。(2)显示工资统计 先以读方法打开工资文件,依次循环读取文件显示工资数据,最终显示数据总个数。(3)依据姓名查询工资数据 输入要查找姓名,然后输出。(4)依据姓名删除工资数据 输入欲删除姓名,循环查找,将全部数据写入临时文件,以写方法打开数据文件,以读方法打开临时文件,再将未标识数据
3、写入原文件。(5)依据姓名修改工资数据 输入要修改姓名,再将新数据写入。新程序设计思绪将数据采取链表形式存放,具体是将链表定义成一个类,将结点视为类中数据组员。这么立即结点视为一个整体,包含结点插入、输出、删除等操作。一样,结点也定义成一个类,在结点中,将具体数据形式定义成数据类型指针,全部针对数据操作全部转换为对指针操作,在数据类中再具体实现。最终,将数据具体形式定义成一个类。新增模块功效介绍在程序中,我新增了第一个数据类,其中封装了工资、姓名、删除标识三种数据,还有返回这些数据公有函数,和一个显示姓名、工资Show函数。第二个是结点类,其中定义了用于指向数据指针(这是每个数据不一样部分)和
4、指向链表指针这两种数据,还有返回结点指针、输入数据、显示数据函数,而且把链表定义成友元类。第三个是链表类,其中定义了链表头结点指针这一个数据,还有在首部添加结点、打印整个链表、删除整个链表、按工资次序插入一个结点函数。 在这三个类基础上,我又具体定义了分别实现添加工资统计、显示工资统计、依据姓名查询工资数据、依据姓名删除工资数据、依据姓名修改工资数据五个功效函数,具体请看源程序。最终主函数中先输出欢迎界面,然后经过Switch语句由用户选择功效,然后深入运行程序。编程中碰到问题及处理方法在编写程序过程中,也出现了部分问题,有是基础概念模糊,翻了书本就清楚了。但有相关链表问题,实在有点棘手,比如
5、删除指定一个结点,返回该结点指针,还有查找一个指定数据,返回该数据所在结点在链表中指针,于是我找了同学一起讨论和研究,最终基础得到了处理。程序运行结果分析(包含截屏、正确性分析)1、 添加数据2、 显示数据3、 查询数据4、 删除数据,并显示以验证正确性5、 修改数据,显示以验证正确性6、退出心得体会这是一个数据管理类程序,因为以前没接触过,所以刚开始无从着手。经过学习,知道了这类程序通常采取链表形式存放。然后将链表定义成一个类,将结点视为类中数据组员,这也是第一次这么操作,认为有点困难。一样,结点也定义成一个类,再将数据具体形式定义成一个类。这么利用了类优越性,而且针对不一样数据管理,只要改动部分就能够了。这么,实现了程序结构化。经过C+课程设计,从以前做相对简单独立小程序到设计复杂管理类程序,当中确实经历过艰苦,让我深深体会到了学海无涯,很多东西是要我们自己去探索。幸运是,我没有放弃,经过自己努力,尽自己最大努力一步一步脚扎实地地设计程序,最终最终尝到了成功喜悦和成就感。这既培养了我战胜困难勇气,也知道了合作是多么关键,有时只有经过合作才能做部分看似不可能完成任务。而且这次课程设计让我体会到了C+程序设计魅力,这是一个充满挑战性领域,这里随时会迸发出新奇思想。大学十二个月C+学习没有白费,培养起来逻辑思维相信对以后学习中一定会大有裨益。