




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文件名称:基于结构体数组.cpp文件标识:摘要:结构体数组实现学生成绩管理系统要求:多么成绩的录入,查询某个学生(姓名,学号)的成绩,计算某学生平均分某门成绩平均分的排名,退出。I* J头文彳牛*I#i nclude <stdio.h>#in clude <stri ng.h>#in clude <stdlib.h>I*常八量*I#defi ne MENU_NUM 7#define N 3II记录的最大数量#defi ne MAX 100I*结士构人体*Istructstudentcharno10;I*学号由10个字符组成charfloatn ame15;
2、scoreN;I*学生姓名*Ifloatsum ;floataverage ;I*各门课成绩*II*总分*II*平均分*I;I* int count ;struct stude nt studMAX;全局变量*/记录学生总人 数II记录学生信息I*void in put();void output。;void Prin tMe nu();void computer。;void fin d();void sort();函数声明int cmp(const void * a , const void * b ); II*III输入学生信息II输出学生信息II显示菜单II计算学生成绩II根据学号或姓名
3、查询成绩II成绩排名 排序规贝Uvoidmain()intchoose;count=0;while(1)PrintMenu();scanf("%d",&choose);switch(choose)case 1 :input();/输入成绩break;case 2 :find();/查询成绩break;case 3 :computer。;/统计成绩break;case 4 :按名次输出成绩调用库函数中的排/sort();/按成绩排序,qsort(stud,count,sizeof(structstudent),cmp);方output();break;case 5 :
4、exit(0);printf("nn");intcmp(constvoid*a,constvoid*b)structstudent*aa=(structstudent*)a;structstudent*bb=(structstudent*)b;if(aa->sum!=bb->sum)returnaa->sum<bb->sum?1:-1;elseif(aa->score0!=bb->score0)returnaa->score0<bb->score0?1:-1;if(aa->score1!=bb->sco
5、re1)returnaa->score1<bb->score1?1:-1;if(aa->score2!=bb->score2)returnaa->score2<bb->score2?1:-1;return0;/*函数名:PrintMenu* 描述:显示操作菜单* 入口参数:无* 出口参数:无*voidPrintMenu()printf("-一一'n");printf("|学生成绩管理系统|n")Printf("|1.成绩录入;|n");Printf("2.成绩查询(学号
6、或姓名)|n");Printf("|3.成绩统计(平均成绩)|n");printf("|4.成绩排名|n");printf("|5.任意键退出|n");printf("");printf("n");printf("n");printf("请输入您要进行的操作:");* 函数名:input* 描述:输入学生信息* 入口参数:无* 出口参数:无*voidinput()intn,i;floattemp;printf("请输入要录入的学生的人数
7、:”);scanf("%d",&n);for(i=0;i<n;i+)printf("输入第%d个学生信息n",i+1);printf("学号:");scanf("%s",studcount+i.no);printf("姓名:");scanf("%s",studcount+);printf("成绩1:");scanf("%f",&studcount+i.score0);printf("成绩2:&
8、quot;);scanf("%f",&studcount+i.score1);printf("成绩3:");scanf("%f",&studcount+i.score2);count+=n;* 函数名:find* 描述:根据学号或姓名查询成绩* 入口参数:无* 出口参数:无*/voidfind()inti;charch15;printf("请输入学号或姓名:”);scanf("%s",ch);printf("n");printf("|学号|姓名成绩1成绩2成绩
9、3|总分|平均分|n");for(i=0;i<count;i+)if(!strcmp(ch,studi.no)|!strcmp(ch,)printf("|%10s|%12s|%5.1f|%5.1f|%5.1f|%5.1f|%6.1f|n",studi.no,,studi.score0,studi.score1,studi.score2,studi.sum,studi.average);printf(”n");return;printf("没有找到该学生的信息!n");n");pr
10、intf("* 函数名:computer* 描述:计算学生总成绩和平均成绩* 入口参数:无* 出口参数:无*/i;for(i=0;i<count;i+)studi.sum=studi.score0+studi.score1+studi.score2;studi.average=(studi.score0+studi.score1+studi.score2)/N;output();/* 函数名:output* 描述:输出学生所有信息* 入口参数:无* 出口参数:无*/voidoutput()inti;printf(”n");printf(
11、"|学号|姓名成绩1咸绩2成绩3|总分|平均分|n");for(i=0;i<count;i+)printf("|%10s|%12s|%5.1f|%5.1f|%5.1f|%5.1f|%6.1f|n",studi.no,,studi.score0,studi.score1,studi.score2,studi.sum,studi.average);printf("n");* 函数名:sort* 描述:排序* 入口参数:无* 出口参数:无*/voidsort()inti,j,k;structstudenttemp;for(i=0;i<count-1;i+)studi.sum=studi.score0+studi.score1+studi.score2;studi.average=(studi.score0+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购相关安全协议书
- 车库出售定金协议书
- 解除车贷合同协议书
- 健身俱乐部预售协议书
- 项目合股承包协议书
- 配偶同意卖房协议书
- 餐厅人身安全协议书
- 酒店订餐免责协议书
- 餐厅员工持股协议书
- 退休人员免责协议书
- 2025-2030年辣椒素产业行业市场现状供需分析及投资评估规划分析研究报告
- 2025中国铁路南宁局集团有限公司招聘高校毕业生58人三(本科及以上学历)笔试参考题库附带答案详解
- 大国工匠活动方案
- 《华能企业文化建设》课件
- 陕西延安通和电业有限责任公司招聘笔试真题2024
- 2025年医院管理专业研究生入学考试试卷及答案
- 2025年江苏高处安装、维护、拆除作业-特种作业证考试复习题库(含答案)
- Unit7OutdoorfunIntegration(课件)-译林版(2024)英语七年级下册
- 成人重症患者人工气道湿化护理专家共识
- 2023年船员培训计划
- 2025中国铁路郑州局集团招聘614人(河南)笔试参考题库附带答案详解
评论
0/150
提交评论