logo资料库

学生成绩管理系统C语言实现报告链表实现,内含流程图,代码.doc

第1页 / 共70页
第2页 / 共70页
第3页 / 共70页
第4页 / 共70页
第5页 / 共70页
第6页 / 共70页
第7页 / 共70页
第8页 / 共70页
资料共70页,剩余部分请下载后查看
第一章、设计任务分析
1.1目标
1.2要求
1.3学生成绩管理系统的功能
第二章、模块设计
2.1主控模块(main函数执行流程)
2.2初始化模块
2.3输入记录
2.4从表中删除记录
2.5显示所有记录
2.6查询记录模块
2.7保存记录到文件
2.8.从文件中读入记录
2.9计算所有学生的总分和平均分
2.10插入记录到表中
2.11更新记录模块
2.12排序
2.13追加记录到文件
2.14索引
2.15分类合计
第三章、主要数据结构
第五章、源代码
第六章、测试情况
6.1登陆页面如图6-1所示
6.2输入学生信息数据页面如图6-2所示
6.3删除记录页面如图6-3所示
6.4查找全部记录页面如图6-4所示
6.6保存文件页面如图6-6所示
6.7排序页面如图6-7所示
6.8显示记录页面如图6-8所示
6.9插入记录页面如图6-9所示
6.10分类合计页面如图6-10
第七章、小结
09 计算机本科 3 班 汤玉宝 学号:50902013032 C 语 言 课 程 设 计 报 告
09 计算机本科 3 班 汤玉宝 学号:50902013032 1 学生成绩管理系统 姓 名:_____ 班 级:____ 学 号:_____ __ 指导老师:_______ ______ _ 完成时间: 完成地点:_______ 第 1 页 共 70 页
09 计算机本科 3 班 汤玉宝 学号:50902013032 2 目录 第一章、设计任务分析.............................................................................................................. 3 1.1 目标.................................................................................................................................. 3 1.2 要求.................................................................................................................................. 3 1.3 学生成绩管理系统的功能.............................................................................................. 3 第二章、模块设计...................................................................................................................... 5 2.1 主模块.............................................................................................................................. 5 2.2 初始化模块...................................................................................................................... 7 2.3 输入记录.......................................................................................................................... 7 2.4 从表中删除记录.............................................................................................................. 8 2.5 显示所有记录.................................................................................................................. 8 2.6 查询记录模块.................................................................................................................. 8 2.7 保存记录到文件.............................................................................................................. 8 2 8 从文件中读入记录.......................................................................................................... 9 2.9 计算所有学生的总分和平均分..................................................................................... 9 2.10 插入记录到表中............................................................................................................ 9 2.11 更新记录模块.............................................................................................................. 10 2.12 排序.............................................................................................................................. 10 2.13 追加记录到文件.......................................................................................................... 11 2.14 索引.............................................................................................................................. 11 2.15 分类合计...................................................................................................................... 11 第三章、主要数据结构............................................................................................................ 12 第四章、函数功能实现............................................................................................................ 13 第五章、源代码........................................................................................................................ 17 第六章、测试情况.................................................................................................................... 56 6.1 登陆页面如图 6-1 所示................................................................................................56 6.2 输入学生信息数据页面如图 6-2 所示........................................................................57 6.3 删除记录页面如图 6-3 所示........................................................................................58 6.4 查找全部记录页面如图 6-4 所示................................................................................59 6.6 保存文件页面如图 6-6 所示........................................................................................62 6.7 排序页面如图 6-7 所示................................................................................................63 6.8 计算总分和平均分页面如图 6-8 所示........................................................................64 6.9 插入记录页面如图 6-9 所示........................................................................................66 6.10 分类合计页面如图 6-10.............................................................................................67 第七章 、小结.......................................................................................................................... 68 第 2 页 共 70 页
09 计算机本科 3 班 汤玉宝 学号:50902013032 3 第一章、设计任务分析 1.1 目标 (1)掌握和利用 C 语言进行程序设计的能力。 (2)理解和运用结构化程序设计的思想和方法。 (3)掌握开发一个小型实用系统的基本方法。 (4)学会调试一个较长程序的基本方法。 (5)掌握书写程序设计开发文档的能力。 1.2 要求 (1)用 C 语言实现系统。 (2)利用结构体数组实现学生成绩的数据结构设计。 (3)系统具有增加、查询、插入、排序等基本功能。 (4)系统的各个功能模块要求用函数的形式实现。 (5)完成设计任务并书写课程设计报告。 (6)将学生成绩信息存在文件中。 1.3 学生成绩管理系统的功能 学生成绩管理系统主要利用单链表实现,它由如下五大功能模块组成。 (1) 输入记录模块:输入记录模块主要完成将数据存入单链表中的工作。在此学生成绩 管理系统中,记录可以从以二进制形式存储的数据文件中读入,也 可以从键盘逐个输入学生记录。学生记录由学生的基本信息和成绩 信息字段构成。当从数据文件中读入记录时,它就是在以记录为单 位存储的数据文件中,将记录逐条复制到单链表中。 (2) 查询记录模块:查询记录模块主要完成在单链表中查找满足相关条件的学生记录。 在此学生成绩管理系统中,用户可以按照学生的学号或姓名在单链 表中进行查找。若找到该学生的记录,它返回执行该学生记录的指 第 3 页 共 70 页
09 计算机本科 3 班 汤玉宝 学号:50902013032 4 针。否则,它返回一个值为 NULL 的空指针,并打印出未找到该学 生记录的提示信息。 (3) 更新记录模块:更新记录模块主要完成对学生记录的维护。在此学生成绩管理系统 中,它实现对学生记录的修改、删除、插入和排序操作。一般而言, 系统进行了这些操作之后,需要将修改的数据存入源数据文件。 (4) 统计记录模块:统计记录模块主要完成了对各门功课最高分和不及格人数的统计。 (5) 输出记录模块:输出记录模块主要完成了两个任务。第一,它实现了对学生记录的 存盘操作,即将单链表中的各节点中存储的学生记录信息写入数据 文件中。第二,它实现了将单链表中存储的学生记录信息以表格的 形式在屏幕上打印出来。 随着科学的发展和社会的进步,许多过去由人工处理的繁杂事务开始交付计算机来 完成。学生成绩管理系统是一个教育单位的得力助手,它利用计算机对学生成绩进行统 一管理,实现学生成绩信息管理工作流程的系统化、规范化和自动化,提高了广大教师 的工作效率。因此,学生成绩管理系统在教育部门或单位起着越来越重要的作用。 学生成绩管理系统旨在训练读者的基本编程能力,了解管理信息系统的开发流程, 熟悉 C 语言的文件和单链表的各种基本操作。本程序中涉及结构体、单链表、文件等方 面的知识。通过本程序的训练,使读者能对 C 语言的文件操作有一个更深的了解,掌握 利用单链表存储结构实现对学生成绩管理的原理,为进一步开发出高质量的信息管理系 统打下坚实的基础。 第 4 页 共 70 页
09 计算机本科 3 班 汤玉宝 学号:50902013032 5 图 1.1 学生成绩管理系统功能模块图 第二章、模块设计 将学生成绩管理系统划分为以下几个模块 2.1 主控模块(main 函数执行流程) 功能:显示系统菜单。 使用 switch 条件语句调用主菜单函数,选择菜单中要选择对象来执行不同的模块。 本学生成绩管理系统执行主程序如图 1.2 所示。它先以可以读写的方式打开 数据文件,此文件的默认路径为 C:\student,若该文件不存在,则新建此文件。当 打开文件操作成功后,它则从文件中读出一条记录,写入添加到新建的单链表中, 然后执行显示主菜单和进入主循环操作,进行按键判断。 第 5 页 共 70 页
09 计算机本科 3 班 汤玉宝 学号:50902013032 6 图 1.2 主控模块 main()函数执行流程 第 6 页 共 70 页
09 计算机本科 3 班 汤玉宝 学号:50902013032 7 在判断键值时,有效的输入为 0—9 之间的任意数值,其它输入都被视为按键错误。 若输入为 0(即变量 select=0),它会继续判断在对记录进行了更新操作之后是否进行了 存盘操作,若未存盘,则全局变量 saveflag=1,系统会提示用户是否需要进行数据存盘操 作,用户输入 Y 或 y,系统会进行存盘操作。最后,系统执行退出成绩管理系统的操作。 选择如下: 1 调用 Add()函数,执行增加学生记录操作; 2 调用 Del()函数,执行删除学生记录操作; 3 调用 Qur()函数,执行查询学生记录操作; 4 调用 Modify()函数,执行修改学生记录操作; 5 调用 Insert()函数,执行插入学生记录操作; ⑥ 调用 Tongji()函数,执行统计学生记录操作; ⑦ 调用 Sort()函数,执行按降序进行排序学生记录的操作; ⑧ 调用 Save()函数,执行将学生记录存入磁盘中的数据文件的操作; ⑨ 调用 Disp()函数,执行将学生记录以表格形式打印输出至屏幕的操作; ⑩ 如果输入【0—9】之外的数值,调用 Wrong()函数,给出按键错误的提示。 2.2 初始化模块 功能:初始化单链表为空指针。 2.3 输入记录 功能:连续添加学生的信息,其中包括学生姓名、学号和课程的相关信息。 输入记录模块主要实现将数据存入单链表中。这部分的操作较为简单, 当从数据文件读出记录时,它调用 fread(p,sizeof(Node),1,fp)文件读取函数,执 行一次从文件中读取一条学生成绩记录信息存入指针变量 p 所指向的节点中的 操作,并且这个操作实在 main()函数中执行,即当学生成绩管理系统进入显示 菜单界面时,该操作以及执行了。 若文件中没有数据时,系统会提示单链表为空,没有任何学生记录可操作 并且此时用户应该选择 1,调用 Add(l)函数,进行学生记录的输入,即完成 在单链表 l 中添加节点的操作。值得一提的是,这里的字符串和数值的输入分 别采用了函数来实现,在函数中完成输入数据任务,并且对数据进行条件判断, 直到满足条件为止,这大大减少了代码的重复和冗余,符合模块化程序设计的 特点。 第 7 页 共 70 页
分享到:
收藏