C 课程设计报告

发布 2022-09-30 17:50:28 阅读 7250

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++课程设计,从以前做相对简单的独立的小程序到设计复杂的管理类程序,当中确实经历过艰难,让我深深体会到了学海无涯,很多东西是要我们自己去探索的。幸运的是,我没有放弃,通过自己的努力,尽自己的最大努力一步一步脚踏实地地设计程序,最后终于尝到了成功的喜悦和成就感。这既培养了我战胜困难的勇气,也懂得了合作是多么重要,有时只有通过合作才能做一些看似不可能完成的任务。

而且这次课程设计让我体会到了c++程序设计的魅力,这是一个充满挑战性的领域,这里随时会迸发出新奇的思想。大学一年的c++学习没有白费,培养起来的逻辑思维相信对以后的学习中一定会大有裨益。

c语言课程设计报告 课程设计报告

周口师范学院。课程设计报告。院 系 计算机科学与技术学院 班级。学生姓名学号。设计题目 职工工资管理系统。完成日期 年月日 课程设计任务书。设计题目 工资管理系统 教研室主任指导教师 年月日。摘要11设计内容 任务及具体要求2 1.1设计内容2 1.2设计任务及具体要求2 2概要设计3 2.1该系统...

C课程设计报告

题目各类图形面积与周长计算和高考倒计时。学生姓名张磊 学号 20131344054 学院计算机与软件学院 专业软件工程 指导教师马瑞。二 一五年六月 25 日。目录。1 引言 1 1.1 系统开发背景和意义 1 1.2 服务器运行环境 2 1.3 课题内容 2 2 系统需求分析及相关技术介绍 2 2...

C 课程设计报告

c 程序课程设计报告。学院 资源与安全工程学院 专业班级 城市地下空间工程1303 姓名卢途。指导教师 彭述权。课程设计时间 2013 2014学年第二学期18 19周。一 题目一 设计一 学生成绩管理系统 它的主要功能是对学生的成绩进行输入 修改和管理。系统功能要求 界面要求 学生成绩管理系统 1...