文档介绍:计算机科学学院计算机科学与应用系C程序设计报告
成绩管理系统设计
学生姓名:* *
学号:1004681082
班级:计科102
指导老师:* *
报告日期:2011--02--16
1)问题提出
本人计划编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。
2)本系统涉及的知识点
单链表、结构体、函数、循环、指针、选择
3)功能要求
(1)建立学生信息,每个学生的信息包括:学号、姓名、成绩。
(2)求出每个学生的总分和平均分。
(3)查找:根据学号、姓名、成绩、总分、平均分中任一项查询该生的基本信息。
(4)排序:根据学号或总分将学生的信息按照一定的顺序进行排序。
(5)根据需要修改学生的基本信息。
(6)根据实际情况删除某生的信息。
(7)根据实际情况插入某生的信息。
(8)输出。
1)算法设计
(1)利用switch语句设计如图所示的主菜单。
请输入选项编号
1——查找
2——排序
3——学生信息的修改
4——链表的删除
5——链表的插入
6——链表的输出
7——退出
图1 学生信息管理系统主菜单
(2)选择1后,调用查找函数search,进入查找函数后利用switch语句实现如图所示的查找子菜单。该菜单中每个选项调用一个函数(除选项10外)。
查找菜单
请输入选项编号
1——按学号查找
2——按姓名查找
3——按C语言分数查找
4——按高数分数查找
5——按英语分数查找
6——按总分查找
7——按平均分查找
8——总分前三名
9——不及格者
10——班级成绩情况
11——退出
图2 查找子菜单
(3)选项2后, 调用排序函数arrange,进入查找函数后利用switch语句实现如图所示的查找子菜单。该菜单中每个每个选项调用一个函数(除3外)。
排序菜单
输入选项编号
1——按学号排序
2——按总分排序
3——退出
图3 排序子菜单
(4)选择3后,调用修改函数correct,修改某个学生的信息。
(5)选择4后,调用删除函数del,根据需要删除某个学生的信息。
(6)选择5后,调用插入函数insert,根据需要插入某个学生的信息。
(7)选择6后,调用输出函数output,将每个学生的信息全部输出。
(8)选择7后,退出学生信息管理系统。
(9)根据所选菜单编号编写相应代码。
(a)e:欢迎用户使用。
(b)函数about: 简要介绍本程序。
(c)函数create:创建单链表,采用循环输入的方式输入学生的基本信息。
(d)函数SnoSearch:根据学号查找,输出该生的基本信息。
(e)函数NameSearch:根据姓名查找,输出该生的基本信息。
(f)函数CYuYanSearch:根据C语言成绩成绩查找,输出该生的基本信息。
(g)函数GaoShuSearch:根据高数成绩查找,输出该生的基本信息。
(h)函数YingYuSearch:根据英语成绩查找,输出该生的基本信息。
(i)函数ZongFenSearch:根据总分查找,输出该生的基本信息。
(j)函数AverageSearch:根据平均分查找,输出该生的基本信息。
(k)函数QSMSearch:查看班级前三名学生信息情况。
(l)函数BuJiGeSearch:查看班级不及格学生信息情况。
成绩菜单
输入选项编号
1——C语言不及格者
2——高数不及格者
3——英语不及格者
4——不及格者
5——全不及格者
6——退出
图4 成绩子菜单
(m)函数ClassScore:查看班级成绩平均分整体情况。
(n)函数SnoArrange:按照学号将学生信息进行排序。
(o)函数ZongFenArrange:按照总分将学生信息进行排序。
(n)函数over:感谢用户使用。
2)画模块图
按学号查找
显示欢迎界面
按姓名查找
显示程序介绍
按C语言不及格者查找
按成绩查找
输入
成绩
按高数不及格者查找
按总分查找
查找
排序
主
模块
按平均分查找
修改学生信息
按英语不及格者查找
按前三名查找
删除学生信息
按不及格查找
插入学生信息
按不及格者查找
按学号排序
输出学生信息
按全不及格者查找
按总分排序
显示结束界面
图5 成绩管理系统模块图
3)画部分模块的流程图
开始
输入学生信息
pnew->score=pnew->score1+pnew->score2+pnew->score3;
pnew->avg=pnew->score/3
pnew