- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级语言(C语言)课程设计说明书
起止日期: 2012 年 07 月 2 日 至 2012 年 07 月 14 日
题目
学生成绩管理系统
学生姓名
十月走
班级
电子信息工程1101班
学号
xxxxxxxxxxxxxxxx
成绩
优秀
通信与信息工程学院
说明书撰写提纲
课程设计要求
课程设计系统组成及模块功能:学生成绩管理是教学管理中的一项重要内容,主要包括成绩的录入、显示、查询和统计四大模块。各主要模块的功能如下:
录入模块
通过键盘录入某同学的学号,姓名,3门课成绩。
显示模块
显示所有录入的成绩。
查询模块
查询相关同学的成绩。
统计模块
计算全部同学的总分和平均分。
设计要求:
(1)界面菜单主菜单,具体要求如下:
***************MENU***************
1. Enter list /*输入记录*/
2. Delete a record from list /*从表中删除记录*/
3. print list /*显示单链表中所有记录*/
4. Search record on name /*按照姓名查找记录*/
5. compute the score /*计算所有学生的总分和均分*/
6. sort by score /*排序*/
7. Quit /*退出*/
(2)需要定义多个函数对应菜单
/*以下是函数原型对应以上菜单*/
STUDENT *create(); /*输入记录*/
STUDENT *delete(STUDENT *h); /*删除记录*/
void print(STUDENT *h); /*显示所有记录*/
void search(STUDENT *h); /*查找*/
void computer(STUDENT *h); /*计算总分和均分*/
STUDENT *sort(STUDENT *h); /*排序*/
int menu_select(); /*菜单函数*/
(3) 要求设计流程图
(4) 要求功能框图
(5)代码
二、程序的功能设计
开始
开始
主界面
输入数字
1
2
3
4
5
6
7
输入
删除数据
打印列表
查找数据
求总成绩
排序
输入数据
是否为零?
退出
结束
N
Y
程序的数据结构
主要功能的实现
函数明细:
整个系统除了主函数外,另外还有14个函数,实现八大功能:输入功能、显示功能、查找功能、排序功能、插入功能、保存功能、读取功能。各个函数的详细设计说明分别如下:
主函数 main()
利用无限次循环for(;;)和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。
菜单选择函数 int menu_select()
这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,再自行返回该函数。
初始化函数 STUDENT *init()
这是一个无参函数,里面只有两个语句,它的作用是使链表初始化,使head的值为NULL和一个清屏语句。比如:没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码!
输入记录函数 STUDENT *create()
这是一个无参函数,用来执行第学生成绩记录的输入,当学生为@时停止输入,函数结束后,带回一个指链表头的指针向head。将下一个学生的信息插在表头。
显示记录函数 void print(STUDENT *h)
这是一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生成绩记录的输出,不足之处就是不能对学生成绩进行分页显示。
算法:先将p结点的指针指向第一个结点,将p结点(即第一个结点)的数据输出。然后再将p结点的指针指向p指针的的指针(即下一结点),将p结点(即第一结点)的数据输出。重复执行此步聚直到p指针指向NULL为止。
查找记录函数 void search(STUDENT *h)
这是一个不返回值的有参函数,形参为“链表头的指针”,实现按学号对某个学生进行查找,并显示所查找到的记录。
算法:采用线性查找法往下一个结点查找。输入所要查找的学生的学号s,设一个指针变量p,先指向第一个结点,当strcmp(p-name,s) p != NULL时,使p后移一个结点,如果p!=NULL,输出p所指的结点。
文档评论(0)