1、管理的信息包括:
(1) 学生信息:学号、姓名、性别、专业、班级。
学号具有唯一性,可自主定义学号的形式
允许出现同名的学生
学生信息应包含不同专业和年级的学生
(2) 课程信息:课程代码、课程名称、学分
课程代码具有唯一性
课程代码、课程名称、学分可参考学校课程信息
(3) 成绩信息:课程代码、学号、成绩(成绩均采用百分制)。
每名学生可以选修多门课,所以成绩信息中一个学生有多个成绩
但是一个学生、一门课只有一个成绩【若重修,则该成绩是重修成绩,即初修成绩被重修成绩替换】
2、信息的增加、编辑、删除功能,包括:
(1) 新增信息
学生信息新增时,考虑学号可否自动生成,或人工指定时是否已存在的检测及处理
课程信息新增时,课程代码可能面临的问题与学号类似
新增成绩时,学生学号和课程代码信息是否存在,若不存在如何处理
(2) 编辑信息
学生信息中,需要正确处理修改学号可能会破坏学生信息与课程信息之间的对应关系的问题
编辑课程信息中的课程代码、成绩信息中的学号、课程代码,都可能会影响三类信息之间的对应关系
(3) 删除信息
删除学生信息时,需要考虑若该生已存在成绩信息如何处理
删除课程信息时,需要考虑若该课程已存在成绩信息如何处理
3、信息查询功能以精确与模糊方式实现:
(1) 学生信息检索:
允许以学号、姓名、性别、专业、班级等查询信息进行精确查询【完全匹配】
允许以学号、姓名、性别、专业、班级等查询信息进行模糊查询【部分匹配】
(2) 课程信息检索:
允许以课程代码、课程名称、学分等查询信息进行精确查询【完全匹配】
允许以课程代码、课程名称、学分等查询信息进行模糊查询【部分匹配】
(3) 成绩信息检索
允许以学号、课程代码等查询信息进行精确查询【完全匹配】
允许以姓名、课程名称等查询信息进行精确查询【完全匹配】
(4) 综合检索:
按学生姓名或学号,检索并输出选修的课程成绩信息【输出信息包括学号、姓名、课程名称、成绩】
按课程代码或课程名称,检索并输出选修该课程的学生信息【输出信息包括学号、姓名、专业、年级、成绩】
4、统计功能支持以下信息的统计:
(1) 按学生姓名或学号,统计并输出该生选修的课程门数、平均成绩、总学分数。
(2) 按课程代码或课程名称,统计并输出选修该课的学生人数、平均成绩、最高成绩、最低成绩。
(3) 统计并输出所有选修课的平均成绩不及格的学生信息。
5、其他要求
(1) 合理划分系统各个功能模块,准确定义和实现各功能模块,并支持菜单方式选择各个模块。
(2) 精心考虑和设计系统所有信息存储和组织形式(数据结构),建议采用结构体、链表等形式,所有信息支持以文件方式存储、读写。
(3) 该设计题目以团队协作形式共同完成,系统的模块划分、定义、任务分工、测试、汇报等环节由团队负责人组织和管理。
(4) 课程结束时,团队制作演示PPT,并进行公开答辩。答辩过程中回答老师或其他学生的提问,发表和回答问题情况应作为考核学生成绩的依据。
(5) 每名学生独立完成《课程设计报告书》并提交。
(6) 最终成绩 = 过程考核成绩(50%) + 课程设计报告书成绩(50%)组成,其中过程考核由课堂表现(10%)、操作(40%)等组成。

