文档介绍:中南大学
C语言程序设计实践
实****报告
题 目: 学生信息管理系统
学生姓名:
指导教师:
学 院: 信息科学与工程学院
专业班级:
完成时间: 2012年6月29日
目 录
1、系统功能介绍 3
2、功能模块结构 4
3、数据结构设计 6
4、主要模块算法说明 7
5、运行结果 14
6、认识实****心得体会 17
7、附录(程序源代码) 19
8、参考文献 30
一、系统功能介绍
1、录入学生基本信息:学号、姓名、班级、性别、年龄、宿舍号码、电话号码等。并且录入学生五门课程(数学、离散数学、C语言、物理、英语)的基本信息:编号、学分、考试成绩、平时成绩、综合成绩、是否重修等;
2、计算每个学生各门功课的平均成绩,并按照平均成绩从高到低的次序输出学生信息;
3、修改所指定姓名学生的学生信息和课程基本信息;
4、删除所指定姓名学生的学生信息和课程基本信息;
5、插入某个学生的信息;
6、按学生姓名或按学生学好查询该学生各项的信息;
7、列出不及格的学生清单;
8、保存学生的信息;
9、读取学生的信息;
10、安全退出系统。
二、功能模块结构
1、主要结构模式图如下:
主菜单控制模块
信息输出模块
信息插入模块
信息录入模块
信息删除模块
信息查询模块
信息修改模块
信息保存模块
输出不及格的学生信息
输出所有学生的信息
按姓名查询学生信息
按学号查询学生信息
2、模块总述:
整个程序结构比较清晰,由一个主函数和多个子函数组成。主函数main()利用switch函数多种情况把各个子函数穿插使用在其中,构成了整个系统运行的主控模块。
整个程序中包含了信息录入、信息输出、信息修改、信息插入、信息查找、信息删除、信息保存和安全退出8大模块,分别蕴含了数据的输入、输出、插入、修改、查找、删除和保存功能,由各个子函数支撑其运行。其中,信息的查找可以从姓名查找和学号查找两个方向进行。而输出的信息也可分为处处全部学生信息和输出不及格学生信息两部分。整个程序大致上由以上几大模块构成,下面就分别进行细致具体的说明。
3,功能模块描述:
主控模块:
这是整个程序的灵魂部分,支撑着程序所有功能的选择和运行。每个模块都是通过主控模块所指向的,系统通过主控模块进入其他模块的运行。也就是说主控模块是整个系统的入口,然后由主控模块根据指令或特定条件通向相应的模块实现相应功能。
信息录入模块:
录入学生信息,把所输入进去的学生信息以链表的形式建立,是其他模块的先决条件,否则其他模块会出现“这是一个空表”的提示。
信息输出模块:
输出所有学生的信息,并且是按平均成绩的高低的顺序输出的。也可以选择输出所有不及格的学生信息。
信息插入模块:
在已输入了学生信息基础上插入其他学生的信息,即将数据插入到以建立的链表中。
信息修改模块:
先找到要修改的学生的信息,然后构造一个修改界面,有供选择修改的各项信息。修改之后退出该界面。
信息查找模块:
可以根据学生姓名查找,也可以根据学生学号查找。若表中没有该学生的信息会输出“没找到该生信息”提示说明。若找到会输出该生信息。
信息删除模块:
找到要删除的学生信息,并删除该生的全部信息。删除信息后会给予提示。
信息保存模块:
将学生信息保存在指定的文件中。
(9) 安全退出系统
三、数据结构设计
整个程序是建立一个链表,然后通过对链表的一系列操作,来完成整个程序的运行。定义函数来建立链表、输出链表,对链表进行插入操作、删除操作等等。
本程序使用了结构体类型的数据