学生成绩查询c语言程序文件.docx
- 文档编号:28898697
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:13
- 大小:16.24KB
学生成绩查询c语言程序文件.docx
《学生成绩查询c语言程序文件.docx》由会员分享,可在线阅读,更多相关《学生成绩查询c语言程序文件.docx(13页珍藏版)》请在冰豆网上搜索。
学生成绩查询c语言程序文件
填写说明:
1、同一名教师在不同教学班教授的同一门课程只须填写一份教学日历;由不同教师教授的同一门课程每人填写一份教学日历。
2、“作业、实验”栏中的作业,是指教师计划布置的,应该批改的作业。
3、法定假日不安排教学容,其课次顺排。
系统开发语言作业
现有一个班级,共10人,本学期共学习三门课程,设计一个学生成绩管理系统,要求如下:
1、完成三门课程成绩输入;或单门课程录入、或同时录入三门课。
2、完成成绩排序:
按单科成绩排序、按平均分排序;
3、完成成绩统计:
按单科分段统计人数、按平均分分段统计(60分以下,60-79分,80以上);
4、用结构体完成学生和成绩的输入:
5、完成成绩查询:
单科查询、平均分查询、按查询、分段查询等;
6、完成奖学金统计:
三门课均高于90分,一等奖学金;三门课均高于80分,二等奖学金,统计获奖学金人数
7、完成成绩输出:
按单科输出、输出所有成绩、按平均分由高到低输出,输出奖学金等;.
作业要求
第1、2、3周、完成成绩录入、排序和统计
第4、5、6周、完成菜单和函数编制
第2、8、9周、完成成绩查询和统计
第10、11周、完成查询输出
第12、13周、讲程序进行函数化、模块化
第14、15周、应用指针、指针函数以及函数指针等
第16周,完善程序、验收。
最后打印出完整代码清单
代码如下:
#include
structstudent
{
floatmath;
floatChinese;
floatEnglish;
floataverage;
charname[5];
};
voidinputgread(structstudentstu)//输入成绩
{
inta=0;
scanf("%s",stu.name);
printf("按顺序输入数学成绩,语文成绩,英语成绩");
scanf("%f%f%f",&stu.math,&stu.Chinese,&stu.English);
}
voidChinesecompositor(structstudentstu[])//按语文排序
{
intnum=0,num2=0;
structstudentp;
for(num2;num2<9;num2++)
{
for(num;num<9;num++)
{
if(stu[num].Chinese { p=stu[num]; stu[num]=stu[num+1]; stu[num+1]=p; } } } for(num=0;num<10;num++) { printf("%c: %f",stu[num].name,stu[num].Chinese); } } voidmathcompositor(structstudentstu[])//按数学排序 { intnum=0,num2=0; structstudentp; for(num2;num2<9;num2++) { for(num;num<9;num++) { if(stu[num].math { p=stu[num]; stu[num]=stu[num+1]; stu[num+1]=p; } } } for(num=0;num<10;num++) { printf("%c: %f",stu[num].name,stu[num].math); } } voidEnglishcompositor(structstudentstu[])//按英语排序 { intnum=0,num2=0; structstudentp; for(num2;num2<9;num2++) { for(num;num<9;num++) { if(stu[num].English { p=stu[num]; stu[num]=stu[num+1]; stu[num+1]=p; } } } for(num=0;num<10;num++) { printf("%c: %f",stu[num].name,stu[num].English); } } voidAverage(structstudentstu)//平均分 { intnum=0; stu.average=(stu.Chinese+stu.English+stu.math)/3; } voidAveragecompositor(structstudentstu[])//按平均分排序 { intnum=0,num2=0; structstudentp; for(num2;num2<9;num2++) { for(num;num<9;num++) { if(stu[num].average { p=stu[num]; stu[num]=stu[num+1]; stu[num+1]=p; } } } for(num=0;num<10;num++) { printf("%c: %f",stu[num].name,stu[num].average); } } voidnamecheck(structstudentstu[],char*na)//按查询 { intnum=0; for(num;num<10;num++) { if(na==stu[num].name) { printf(": %s数学: %f语文: %f英语: %f",stu[num].name,stu[num].math,stu[num].English); } } } voidscholarship(structstudentstu[])//奖学金 { intnum=0,count=0; printf("一等奖学金: \n"); for(num;num<10;num++) { if(stu[num].Chinese>=90&&stu[num].English>=90&&stu[num].math>=90) { printf("%s",stu[num].name); count++; } } printf("\n二等奖学金: \n"); for(num;num<10;num++) { if(stu[num].Chinese>=80&&stu[num].English>=80&&stu[num].math>=80) { printf("%s",stu[num].name); count++; } } printf("奖学金人数: %d",count); } voidscorecut(structstudentstu[],intn)//分数段 { intnum=0,count=0; switch(n) { case1: { printf("语文成绩分数段: \n"); printf("90分以上: \n"); for(num;num<10;num++) { if(stu[num].Chinese>=90){printf("%s\n",stu[num].name);} } printf("80---90: \n"); for(num=0;num<10;num++) { if(stu[num].Chinese>=80&&stu[num].Chinese<90){printf("%s\n",stu[num].name);} } printf("70--80: \n"); for(num=0;num<10;num++) { if(stu[num].Chinese>=70&&stu[num].Chinese<80){printf("%s\n",stu[num].name);} } printf("60--70: \n"); for(num=0;num<10;num++) { if(stu[num].Chinese>=60&&stu[num].Chinese<70){printf("%s\n",stu[num].name);} } printf("不及格: \n"); for(num=0;num<10;num++) { if(stu[num].Chinese<60){printf("%s\n",stu[num].name);} } } case2: { printf("平均分成绩分段: \n"); printf("90分以上: \n"); for(num;num<10;num++) { if(stu[num].average>=90){printf("%s\n",stu[num].name);} } printf("80---90: \n"); for(num=0;num<10;num++) { if(stu[num].average>=80&&stu[num].average<90){printf("%s\n",stu[num].name);} } printf("70--80: \n"); for(num=0;num<10;num++) { if(stu[num].average>=70&&stu[num].average<80){printf("%s\n",stu[num].name);} } printf("60--70: \n"); for(num=0;num<10;num++) { if(stu[num].average>=60&&stu[num].average<70){printf("%s\n",stu[num].name);} } printf("不及格: \n"); for(num=0;num<10;num++) { if(stu[num].average<60){printf("%s\n",stu[num].name);} } } } } voidmenu() { printf("1.成绩录入\n"); printf("2.成绩查询\n"); printf("3.分数段查询\n"); printf("4.奖学金查询\n"); printf("5.成绩排序\n"); } main() { structstudentstu[10]; intnum=0,n; char*na; while (1) { menu(); scanf("%d",&n); switch(n) { case1: for(num;num<10;num++) { printf("输入第%d个学生",num+1); inputgread(stu[num]); Average(stu[num]); }break; case2: { printf("1.按查询\n"); printf("2.查询平均分\n"); printf("3.退出查询\n"); scanf("%d",&n); switch(n) { case1: {printf("输入学生: "); scanf("%s",&na); namecheck(stu,na); } case2: { for(num=0;num<10;num++) { printf("3科平均分: \n"); printf("%c: %f\n",stu[num].name,stu[num].average); } } case3: break; } } case3: { } case4: {printf("1.语文单科成绩分段\n"); printf("2.平均分分段\n"); scanf("%d",&n); switch(n) { case1: scorecut(stu,n); case2: scorecut(stu,n); case3: break; } } case5: { printf("按数学成绩排序: \n"); mathcompositor(stu); printf("按语文成绩排序: \n"); Chinesecompositor(stu); printf("按英语成绩排序: \n"); Englishcompositor(stu); printf("按平均分排序: \n"); Averagecompositor(stu); } } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩 查询 语言 程序 文件
![提示](https://static.bdocx.com/images/bang_tan.gif)