计算机科学与技术学院课程设计报告2024— 2024 学年第二学期课程名称 C 语言程序设计 题 目 学生成绩管理系统 学生 XXX 学 号 XXX 专业班级 XXX 指导老师 XXX 合 作 者 XXX 2024 年 6 月 30 日学生成绩管理系统本程序可实现对学生语数外三门课程成绩的录入与保存。1、设计目的 本程序旨在训练读者的基本编程能力,了解管理信息系统开发流程,熟悉 C 语言的各种语法、编写流程、以与能够熟练运用各种算法、以与各种函数的使用。2、功能描述本程序可实现的功能:(1)录入学生的成绩(2)输出学生的成绩(3)添加学生的成绩信息(4)删除指定学生的成绩信息(5)根据要求对学生成绩信息进行排序(6)根据学号查询指定学生的成绩(7)将学生的成绩信息以文件形式保存3、总体设计3.1 具体实现 main()函数:程序首先调用 menu()函数,显示出系统主菜单,然后将menu()函数返回的从用户读取的选项 k 值给予 k,接着进入 switch—case 语句进入对应选项函数,若输入错误没有该选项则给出提示(default)以上过程为一个死循环,直到用户输入 0 为止。menu()函数:在屏幕上打印选项名称,然后用一个 int 类型的变量接受从用户输入的选项,最后将其 return 至主函数。score *creatlink()函数:创建链表主要实现流程如下:print()函数:先令 P=head,使 p 指向第一个节点,当 head=!NULL 时说明没有到链表尾端,那么就输出 p 所指向的结构数据,然后让 p 指向下一个节点,直到发现 p==NULL 为止。而当 head==NULL 说明链表中不存在数据,直接停止输出。score *add()函数,添加新的学生信息,具体实现路程如流程图所示(图片制作时没有加 Y/N 推断,在推断图框中均为向左为真,向右为假):score *search()函数:用来查询学生成绩,传递给函数指向链表的头指针,查询时,假如找到与输入相匹配的学号则打印此学生,反之则输出“没有任何学生资料!”:score *sortdata()函数:该函数有学号、、单科成绩排序(冒泡排序法),实行过程如图:save()函数:用来保存数据,首先从用户输入取得要保存的文件名,然后定义一个指向文件的指针,以读写方式打开文件。将写生信息依次存入文件。score *load()函数:用于读取数据,通过“r+”方式打开文件并推断是否打开成功。具体实现如下:score *statistics()函数:它能实现程序的统计,通过 switch-case 语句选择统计方式,通过循环计...