程序设计课程设计[2009级][09专升本汉班]内蒙古师范大学《程序设计基础》课程设计题目:1.学生成绩管理程序2.链表信息管理姓名_________________班次_________________学号_______________指导教师___________________成绩__________________1程序设计课程设计[2009级][09专升本汉班]内蒙古师范大学计算机与信息工程学院2009年10月20日2题目1:学生成绩管理程序[问题描述]设计一个实用的小型学生成绩管理程序,它要求不用链表,而用数组来设计这个程序。它有查询和检索等功能,并且能够对指定文件操作,也可将多个文件组成一个文件。[基本要求]1.功能要求(包括输入、输出、精度等方面的要求)设计要求实现的功能较多,所以将它们分为几个部分叙述。1.建立文件(1)可以使用默认文件名或指定文件名将记录存储到文件;(2)文件保存成功返回0,失败返回-1;(3)设置保存标志savedTag作为是否已对记录进行存储操作的信息;(4)写同名文件将覆盖原来文件的内容;2.增加学生记录(1)可在已有记录后面追加新的记录;(2)可以随时用它增加新的记录,它们仅保存在结构数组中;(3)可以将一个文件读入,追加在已有记录之后;(4)如果已经采取用文件追加的方式,在没有保存到文件之前,将继续保持文件追加状态,以便实现连续文件追加操作方式;(5)如果没有记录存在,给出提示信息。3.新建学生信息文件(1)用来重新建立学生信息记录;(2)如果已经有记录存在,可以覆盖原记录或者在原记录后面追加,也可以将原有记录信息保存到一个指定文件,然后重新建立记录;(3)给出相应的提示信息。4.显示记录(1)如果没有记录可供显示,给出提示信息;(2)可以随时显示内存中的记录;(3)显示表头。第2页共35页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共35页5.文件存储(1)可以按默认名字或指定名字存储记录文件;(2)存储成功返回0,否则返回-1;(3)更新存储标志。6.读取文件(1)可以按默认名字或指定名字将记录文件读入内存;(2)读取成功返回0,否则返回-1;(3)可以将指定或默认文件追加到现有记录的尾部;(4)可以将文件连续追加到现有记录并更新记录的名次。(5)更新存储标志。7.删除记录(1)可以按“学号”、“姓名”或“名次”方式删除记录;(2)给出将被删除记录的信息,经确认后再删除;(3)如果已经是空表,删除时应给出提示信息并返回主菜单;(4)如果没有要删除的信息,输出没有找到的信息;(5)应该更新其他记录的名次;(6)删除操作仅限于内存,只有执行存记录时,才能覆盖原记录;(7)更新存储标志。8.修改记录(1)可以按“学号”、“姓名”或“名次”方式修改记录内容;(2)给出将被修改记录的信息,经确认后进行修改;(3)如果已经是空表,应给出提示信息并返回主菜单;(4)如果没有找到需要修改的信息,输出提示信息;(5)应该同时更新其他记录的名次;(6)修改操作仅限于内存,只有进行存储操作时,才能覆盖原记录;(7)更新存储标志。9.查询记录(1)可以按“学号”、“姓名”或“名次”方式查询记录;(2)能给出查询记录的信息;第3页共35页第2页共35页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共35页(3)如果查询的信息不存在,输出提示信息。10.对记录进行排序(1)可以按学号进行升序或降序排序;(2)可以按名称进行升序和降序排序;(3)可以按名次进行升序和降序排序;(4)如果属于选择错误,可以立即退出排序;(5)更新存储标志。11.头文件(1)使用条件编译定义头文件;(2)函数原型声明;(3)数据结构及包含文件;12.测试程序(1)应列出测试大纲对程序进行测试;(2)应保证测试用例测试到程序的各种边缘情况是基本要求,希望通过对本章设计的理解,重新考虑如何改进设计。2.运行环境要求devc++[系统分析]1.程序系统结构分析程序(系统)结构主程序名称子程序名称调用关系说明主函数(main)insert(Students[],intn)输入“1”时调用show(Students[],intn)输入“2”时调用sort(Students[],intn)输入“3”时调用search(Students[],intn)输入“4”时调用第4页共35页第3页共35页开始根据需求调用子函数是否继续调用编号:时间:2021年x月x日书山有路勤为径,学海无涯...