1、一、一、需求分析需求分析:本程序设计的名称是学生成绩信息记录簿的设计,设计内容是设计一 个学生成绩记录簿系统,该系统要求对学生成绩信息进行管理和维护。任务和要求:编制 一个 C 语言成绩记录簿,每个学生信息包括:学号、姓名、C 语言成绩。具体功能: (1) 创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的成绩; (3)按 学号或姓名查询成绩; (4)添加成绩记录; (5)修改指定姓名或学号的学生的成绩并可存 盘; (6)显示输出 60 分以下、6079、8089、90 分以上各分数段的学生信息(可选项)。 此编程用于对学生的饿 C 语言成绩进行管理。 二、二、算法设计:算
2、法设计: 流程图: 、 重要的数据结构: (1)有主菜单 menu();的编写,用 printf();将相应的选项输出在 屏幕上,便于操作者进行选择,menu();中包括学生成绩信息记录簿设计,主菜单,1、输 入所有学生的学号、姓名、C 语言分数 2、显示所有学生的信息 3、按学号或姓名查询成绩 4、 添加成绩记录 5、 修改指定姓名或学号的学生的成绩并可存盘 6、 输出 60 分以下、 6079、 8089、90 分以上各分数段的学生信息 7、结束; (2)子函数:主要有creat();input();search() 输出结果 请继续输入你想选 择 输出数字键 7 开始 菜单选择,输入你想
3、 选择的数字键 1、输入学 生的信息 2、读取磁 盘文件 3、查 询 4、添 加 5、修改 并存盘 6、筛选 成绩 7、退出 程序 结束 Insert();modi()以及 sort();(3)主函数:main();主要使用了 switch()语句。 主要算法思想:运行程序后,会显示主菜单,根据主菜单中的提示选择相应的数字键, 会实现相应的功能。主要使用了界面的制作、使用了相应的子函数,同时使用了动态链表 的创建、文件的读写等。本程序主要有三大设计模块,第一模块是主菜单 menu();的编写, 其作用是便于操作者进行相应问题的选择,具有提示信息的作用。第二模块是相应子函数 的编写,第一个子函数
4、 creat();主要思想是运用了链表的动态创建,使用了 malloc 函数, 将每位学生的信息动态传递下去,并使用了文件的读取操作, 使用了文件中 w+的打开模式, 读取磁盘文件并显示所有学生的信息。主要作用是在显示屏及磁盘文件 stut.txt 中显示 每个学生的信息。 第二个子函数 input();主要使用了文件中 r+的打开模式,打开已有文件 stut.txt, 并在显示屏中显示所有学生的信息 第三个子函数 search();主要实现了当输入一个学生的姓名或学号时,显示屏中会显 示该学生的所有信息,该子函数实现了子函数的调用,即子函数调用子函数,调用了 name () ;和 num() ;两个子函数,当输入学生的姓名或学号与文件中的 name 或 num 相等时, 即 strcmp(xs.name,name)=0 或 xs.num=num 时输出该生的所有信息包括学号、姓名以及 C 语言的成绩。 第四个子函数 insert();即插入一个学生的信息并可以读取到磁盘文件中,主要运用 了结构体数组及文件的读取操作。 第五个子函数 modi();实现修改指定姓名或学号