学生成绩查询c语言程序Word下载.docx
《学生成绩查询c语言程序Word下载.docx》由会员分享,可在线阅读,更多相关《学生成绩查询c语言程序Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
7、完成成绩输出:
按单科输出、输出所有成绩、按平均分由高到低输出,输出奖学金名单等;
.
作业要求
第1、2、3周、完成成绩录入、排序和统计
第4、5、6周、完成菜单和函数编制
第2、8、9周、完成成绩查询和统计
第10、11周、完成查询输出
第12、13周、讲程序进行函数化、模块化
第14、15周、应用指针、指针函数以及函数指针等
第16周,完善程序、验收。
最后打印出完整代码清单
代码如下:
#include<
stdio.h>
structstudent
{
floatmath;
floatChinese;
floatEnglish;
floataverage;
charname[5];
};
voidinputgread(structstudentstu)//输入成绩
inta=0;
scanf("
%s"
stu.name);
printf("
按顺序输入数学成绩,语文成绩,英语成绩"
);
%f%f%f"
&
stu.math,&
stu.Chinese,&
stu.English);
}
voidChinesecompositor(structstudentstu[])//按语文排序
intnum=0,num2=0;
structstudentp;
for(num2;
num2<
9;
num2++)
{
for(num;
num<
num++)
{
if(stu[num].Chinese<
stu[num+1].Chinese)
{
p=stu[num];
stu[num]=stu[num+1];
stu[num+1]=p;
}
}
}
for(num=0;
10;
printf("
%c:
%f"
stu[num].name,stu[num].Chinese);
voidmathcompositor(structstudentstu[])//按数学排序
if(stu[num].math<
stu[num+1].math)
stu[num].name,stu[num].math);
voidEnglishcompositor(structstudentstu[])//按英语排序
if(stu[num].English<
stu[num+1].English)
stu[num].name,stu[num].English);
voidAverage(structstudentstu)//平均分
intnum=0;
stu.average=(stu.Chinese+stu.English+stu.math)/3;
voidAveragecompositor(structstudentstu[])//按平均分排序
if(stu[num].average<
stu[num+1].average)
stu[num].name,stu[num].average);
voidnamecheck(structstudentstu[],char*na)//按姓名查询
for(num;
if(na==stu[num].name)
姓名:
%s数学:
%f语文:
%f英语:
stu[num].name,stu[num].math,stu[num].English);
voidscholarship(structstudentstu[])//奖学金
intnum=0,count=0;
一等奖学金名单:
\n"
if(stu[num].Chinese>
=90&
&
stu[num].English>
stu[num].math>
=90)
printf("
%s"
stu[num].name);
count++;
\n二等奖学金名单:
=80&
=80)
奖学金人数:
%d"
count);
voidscorecut(structstudentstu[],intn)//分数段
switch(n)
case1:
语文成绩分数段:
90分以上:
for(num;
if(stu[num].Chinese>
=90){printf("
%s\n"
80---90:
\n"
for(num=0;
stu[num].Chinese<
90){printf("
70--80:
=70&
80){printf("
60--70:
=60&
70){printf("
不及格:
if(stu[num].Chinese<
60){printf("
case2:
平均分成绩分段:
if(stu[num].average>
stu[num].average<
if(stu[num].average<
voidmenu()
1.成绩录入\n"
2.成绩查询\n"
3.分数段查询\n"
4.奖学金查询\n"
5.成绩排序\n"
main()
structstudentstu[10];
intnum=0,n;
char*na;
while
(1)
menu();
n);
for(num;
输入第%d个学生姓名"
num+1);
inputgread(stu[num]);
Average(stu[num]);
}break;
printf("
1.按姓名查询\n"
2.查询平均分\n"
3.退出查询\n"
scanf("
switch(n)
{
case1:
{printf("
输入学生姓名:
"
scanf("
na);
namecheck(stu,na);
}
case2:
for(num=0;
{
printf("
3科平均分:
%f\n"
case3:
break;
}
case3:
case4:
1.语文单科成绩分段\n"
2.平均分分段\n"
scanf("
scorecut(stu,n);
break;
case5:
按数学成绩排序:
mathcompositor(stu);
按语文成绩排序:
Chinesecompositor(stu);
按英语成绩排序:
Englishcompositor(stu);
按平均分排序:
Averagecompositor(stu);
}