附件1: | |
学 号: |
课 程 设 计
题 目 | |
学 院 | 人工智能(计信)学院 |
专 业 | 人工智能/智能科学与技术 |
班 级 | |
学生姓名 | |
指导教师 |
2023 | 年 | 12 | 月 | 29 | 日 |
一、问题描述
大学生成绩管理系统
功能:成绩管理系统包含了学生的全部信息,每个学生是一个记录,包括学号、姓名、性别、各科成绩等。系统可完成:
1)信息录入--录入学生成绩信息 (包括学生学号、姓名、各门课程的成绩等);
2)信息查询-输入学号,查询学生各门课程的成绩及所有课程的平均成绩;查询所有学生各门课程的成绩,并按可选的自定义规则进行排序;
3)信息删除与修改-输入学号,删除该学生的成绩信息;
输入学号,查询并显示出该学生的成绩信息,并在此基础上进行修改;
4)信息保存-将学生的学号、姓名及各门课程的成绩等信息保存于外部存储器的文件中。
二、需求分析
成绩录入,用户需要在控制台选择要录入的学号,接下来依次根据显示的姓名、性别等信息输入对应的信息,结束后,给出显示录入结束提示信息,根据提示信息来判断是否继续录入或结束录入,回到主函数里。
成绩查询,可以实现对姓名查询,若查询成功,则输出成绩信息。若未查询信息,则提示“没有找到相关信息!”。
成绩修改,可以实现对学号、姓名、性别等信息的修改,用户输入需要修改学生学号,然后在所有信息中查找,若输入学号与查找到学号信息一致,则提示用户输入修改后的信息,这样就实现了对成绩信息的修改。
成绩删除,可以实现对成绩信息的删除,用户输入需要删除的学号,然后查找,若输入学号与学号一致,则删除该成绩信息。
成绩排序,可以实现对成绩信息的排序,根据语文,数学和英语成绩来进行排序。
成绩显示,打印信息的个数,再依次打印每个人的所有信息。
三、概要设计
概要设计主要进行软件模块设计、数据结构设计。
3.1模块设计
设计该学生信息管理系统分为添加功能,查询功能,显示功能,修改功能,删除功能,排序功能和保存功能和读取功能。
3.2 数据结构设计
本次课程设计采用结构体类型数据来作为核心的数据结构,定义结构体PeoInfo用以存储个人信息,包括学号、姓名、性别等信息。
代码如下:
struct PeoInfo //个人信息的结构体
{
char num[30];//学号
char name[30];//姓名
char sex[30];//性别
int english;//英语成绩
int math;//数学成绩
int chinese;//语文成绩
float ave;//平均成绩
};
四、详细设计
1.录入信息算法
(1)算法功能描述
该算法可以实现从控制台输入学生信息,录入学号、姓名、性别和成绩信息。
(2)算法流程图
录入信息算法流程图如图所示:
2.信息查找算法
(1)算法功能描述
可以按照姓名来进行查找学生信息,如果strcmp(list[i].name, name) == 0则表名查找到信息,输出信息即可,否则继续循环。
(2)算法流程图
信息查找算法流程图如图所示:
3.信息显示算法
(1)算法功能描述
可以显示所有学生信息。
(2)算法流程图
信息显示算法流程图如图所示:
五、运行测试
5.4修改数据
六、设计总结
经过实际测试,该大学生成绩管理系统可以实现对学生信息的增加、删除、修改和查询,完成了题目所要求的功能。今后会在创新方面更加努力研究。 在设计过程中遇到很多困难, 但是通过各种参考文献, 从中找到了自己的不足之处, 加以修改, 得以完善。 通过这次自己亲手实验, 让我更加了解 C++ 语言编程。
七、用户手册
进入系统后,首先会读取当前工作目录下的student.txt文件,将文件内的学生信息读取到内存中。之后打印菜单。
选择1,进行添加学生成绩信息。
选择2,进行显示学生成绩信息。
选择3,进行查找学生成绩信息。
选择4,进行删除学生成绩信息。
选择5,进行排序学生成绩信息。
选择6,进行修改学生成绩信息。
选择0,退出系统。