学生成绩管理系统-C语言程序设计(3)

时间:2026-01-21

本成绩管理系统要求采用单链表实现,如图2.1所示,它由如下五大功能模块组成: 输入记录模块。完成将数据存入单链表的工作。记录可以从以二进制形式存储的数据文件中读入,也可从键盘逐个输入学生记录。学生记录由学生的基本信息和成绩信息字段构成。当从数据文件中读入记录时,也就是把在以记录为单位存储的数据文件中,将记录逐条复制到单链表中。

查询记录模块。完成在单链表中查找满足相关条件的学生记录。在此成绩管理系统中,用户可以按照学生的学号或姓名在单链表中进行查找。若找到该学生的记录,则返回指向该学生的记录的指针。否则返回一个值为NULL的空指针,并打印出未找到该学生记录的提示信息。

更新记录模块。完成对学生记录的维护。在此成绩管理系统中,它实现了对学生记录的修改、删除、插入和排序操作,并将修改后的数据存入源数据文件。 统计记录模块。完成对各门功课最高分和不及格人数的统计。

输出记录模块。一是实现对学生记录的存盘,即将记录写入数据文件中;二是实现将记录信息以表格的形式在屏幕上打印出来。

2.2 详细设计 2.2.1数据结构设计 学生成绩信息结构体

struct student {

char num[10]; /*学号*/ char name[15]; /*姓名*/

int cgrade; /*C语言成绩*/ int mgrade; /*数学成绩*/ int egrade; /*英语成绩*/ int total; /*总分*/ float ave; /*平均分*/ };

结构体struct student将用于存储学生的基本信息,它将作为单链表的数据域。为了简化程序,只取了3门成绩。

单链表node结构体

typedef struct node {

struct student data; /*数据域*/ struct node *next; /*指针域*/ }Node,*Link;

这样就定义了一个单链表的结构,data为struct student结构类型的数据,作为单链表结构中的数据域,next为单链表中的指针域,用来存储其直接节点的地址。

2.2.2 主控main()函数执行流程

学生成绩管理系统-C语言程序设计(3).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:4.9 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:19元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219