c语言大作业(成绩管理系统)

上传人:第*** 文档编号:34225526 上传时间:2018-02-22 格式:DOC 页数:48 大小:240KB
返回 下载 相关 举报
c语言大作业(成绩管理系统)_第1页
第1页 / 共48页
c语言大作业(成绩管理系统)_第2页
第2页 / 共48页
c语言大作业(成绩管理系统)_第3页
第3页 / 共48页
c语言大作业(成绩管理系统)_第4页
第4页 / 共48页
c语言大作业(成绩管理系统)_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《c语言大作业(成绩管理系统)》由会员分享,可在线阅读,更多相关《c语言大作业(成绩管理系统)(48页珍藏版)》请在金锄头文库上搜索。

1、计算机科学学院计算机科学与应用系 C 程序设计报告成 绩 管 理 系 统 设 计学生姓名:* *学 号:1004681082班 级:计 科 102指导老师:* *报告日期: 2011-02-161.题目与要求1)问题提出本人计划编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。2)本系统涉及的知识点单链表、结构体、函数、循环、指针、选择3)功能要求(1)建立学生信息,每个学生的信息包括:学号、姓名、成绩。(2)求出每个学生的总分和平均分。(3)查找:根据学号、姓名、成绩、总分、平均分中任一项查询该生的基本信息。(4)排序:根据学号或总分将学生的信息按照一定的顺序进行排序。(5)根据

2、需要修改学生的基本信息。(6)根据实际情况删除某生的信息。(7)根据实际情况插入某生的信息。(8)输出。2.功能设计1)算法设计(1)利用 switch 语句设计如图所示的主菜单。图 1 学生信息管理系统主菜单请输入选项编号1查 找2排 序3学生信息的修改4链表的删除5链表的插入6链表的输出7退 出(2)选择 1 后,调用查找函数 search,进入查找函数后利用 switch 语句实现如图所示的查找子菜单。该菜单中每个选项调用一个函数(除选项 10 外) 。图 2 查找子菜单查找菜单请输入选项编号1按学号查找2按姓名查找3按 C 语言分数查找4按高数分数查找5按英语分数查找6按总分查找7按平

3、均分查找8总分前三名9不及格者10班级成绩情况11退出(3)选项 2 后, 调用排序函数 arrange,进入查找函数后利用 switch 语句实现如图所示的查找子菜单。该菜单中每个每个选项调用一个函数(除 3 外) 。排序菜单 输入选项编号1按学号排序2按总分排序3退 出图 3 排序子菜单(4)选择 3 后,调用修改函数 correct,修改某个学生的信息。(5)选择 4 后,调用删除函数 del,根据需要删除某个学生的信息。(6)选择 5 后,调用插入函数 insert,根据需要插入某个学生的信息。(7)选择 6 后,调用输出函数 output,将每个学生的信息全部输出。(8)选择 7 后

4、,退出学生信息管理系统。(9)根据所选菜单编号编写相应代码。(a)函数 welcome:欢迎用户使用。(b)函数 about: 简要介绍本程序。(c)函数 create:创建单链表,采用循环输入的方式输入学生的基本信息。(d)函数 SnoSearch:根据学号查找,输出该生的基本信息。(e)函数 NameSearch:根据姓名查找,输出该生的基本信息。(f)函数 CYuYanSearch:根据 C 语言成绩成绩查找,输出该生的基本信息。(g)函数 GaoShuSearch:根据高数成绩查找,输出该生的基本信息。(h)函数 YingYuSearch:根据英语成绩查找,输出该生的基本信息。(i)函

5、数 ZongFenSearch:根据总分查找,输出该生的基本信息。(j)函数 AverageSearch:根据平均分查找,输出该生的基本信息。(k)函数 QSMSearch:查看班级前三名学生信息情况。(l)函数 BuJiGeSearch:查看班级不及格学生信息情况。成绩菜单 输入选项编号1C 语言不及格者2高数不及格者3英语不及格者4不及格者5全不及格者6退出图 4 成绩子菜单(m)函数 ClassScore:查看班级成绩平均分整体情况。(n)函数 SnoArrange:按照学号将学生信息进行排序。(o)函数 ZongFenArrange:按照总分将学生信息进行排序。(n)函数 over:感

6、谢用户使用。2)画模块图主模块显示欢迎界 面按 C语言不及格者查 找显示程序介 绍输 入成 绩查 找排 序修改学生信 息按学号查找按姓名查找按成绩查找按总分查找按平均分查 找按高数不及格者查 找pnew-score=pnew-score1+pnew-score2+pnew-score3;pnew-avg=pnew-score/3结束3)画部分模块的流程图pnew-score=pnew-score1+pnew-score2+pnew-score3;pnew-avg=pnew-score/3a=pnew-snoN Yp-next=NULL输入学生信息输入学生信息开始删除学生信 息输出学生信 息显示

7、结束界 面插入学生信 息按前三名查 找 按不及格查 找 按学号排序 按总分排序 按英语不及格者查 找按不及格者查 找按全不及格者查 找图 5 成绩管理系统模块图图 6 creat 函数流程图开始输入 at+t=num+1 图 7 SnoSearch 函数流程图a=p-sno输出学生信息结束YNYp=p-nextN开始输入 bt=0;flag=0;p=head;t+t=num+1flag=0 k=0flag=1输出学生信息p=p-next结束开始s=0;r=0;w=0;t=0m=0;n=0;p=head;s!=nums+tscorep=head;s=0s!=numY NYNYNYN图 8 Nam

8、eSearch 函数流程图 YN 图 9 QSMSearch 函数流程图t=p-scorep=p-nexts+YNt=p-score输出学生信息Yp=p-nextNp=head结束开始p=head输入 ba=1Yn=1Na1&anextYi=0i!=a-2Yp=p-nexti+Na=numNYn=3n=2j=0j!=a-2Yp=p-nextj+Np-next=p-next-next p-next=NULLnum=num-1结束(1)函数原型:void about()(2)功能:简要介绍本程序。(3)说明:getchar() 函数用于使屏幕停止,按下 Enter 键后再执行下面程序。4.crea

9、te 函数 :(1)函数原型:void create()(2)功能:利用单链表、while 循环和 scanf 函数完成对学生信息的输入(学号、姓名、三门成绩) ,并计算出总分和平均分,再存入单链表中。(3)变量及类型:int a=0; /判断学生信息输入是否结束(学号是否为 0)struct student *p,*pnew; /结构体指针指向结点(4)说明:学生的人数不受限制,输入结束符号即可。5.search 函数:(1)函数原型:void search()(2)功能:通过选项来选择调用不同函数,完成不同的功能。(3)变量及类型:int m,n; /switch 选择变量6.SnoSea

10、rch 函数:(1)函数原型:void SnoSearch()(2)功能:通过学号来查找该生的基本信息。(3)变量及类型:int a,t; /a 用来存储学号;t 用来计数,以便跳出循环struct student *p; /指针 p 用于指向头结点7.NameSearch 函数:(1)函数原型:void NameSearch()(2)功能:通过姓名来查找该生的基本信息。(3)变量及类型:int k,t,flag; /k 用于判断;t 用于计数; flag 起标记作用char b20; /数组 b 用于存放姓名struct student *p; /指针 p 用于指向头结点8.CYuYanSe

11、arch 函数:(1)函数原型:void CYuYanSearch()(2)功能:通过 C 语言成绩来查找该生的基本信息。(3)变量及类型:int t,flag; /t 用于计数;flag 起标记作用float a; /a 用于存放 C 语言成绩struct student *p; /指针 p 用于指向头结点9.GaoShuSearch 函数:(1)函数原型:void GaoShuSearch()(2)功能:通过高数成绩来查找该生的基本信息。(3)变量及类型:int t,flag; /t 用于计数;flag 起标记作用float b; /b 用于存放高数成绩struct student *p;

12、 /指针 p 用于指向头结点10.YingYuSearch 函数:(1)函数原型:void YingYuSearch()(2)功能:通过英语成绩来查找该生的基本信息。(3)变量及类型:int t,flag; /t 用于计数;flag 起标记作用float c; /c 用于存放英语成绩struct student *p; /指针 p 用于指向头结点11.ZongfenSearch 函数:(1)函数原型:void ZongfenSearch()(2)功能:通过总分来查找该生的基本信息。(3)变量及类型:int t,flag; /t 用于计数;flag 起标记作用float d; /d 用于存放总分

13、struct student *p; /指针 p 用于指向头结点12.AverageSearch 函数:(1)函数原型:void AverageSearch()(2)功能:通过平均分来查找该生的基本信息。(3)变量及类型:int t,flag; /t 用于计数;flag 起标记作用float e; /e 用于存放平均分struct student *p; /指针 p 用于指向头结点13.QSMSearch 函数:(1)函数原型:void QSMSearch()(2)功能:显示前三名的基本信息(3)变量及类型:int s=0,r=0,w=0; /s,r,w 均用做计数float t=0,m=0,

14、n=0; /t,m,n 均用做记录最高分struct student *p; /指针 p 用于指向头结点14. BuJiGeSearch 函数:(1)函数原型:void BuJiGeSearch()(2)功能:通过 switch 选择输出不及格情况。(3)变量及类型:int n,m,r,s,t,k,h,flag; /n,m 为 switch 选择变量;r,s,t,k,h 用做计数;flag 起标记作用struct student *p; /指针 p 用于指向头结点15.ClassScore 函数:(1)函数原型:void ClassScore()(2)功能:查看班级成绩的整体情况。(3)变量及类型:int i; /i 用于 for 循环float a=0,b=0,c=0,d,e; /a,b,c,d,e 均用于中间变量struct student *p; /指针 p 用于指向头结点16.arrange 函数:(1)函数原型

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号