用c语言编写学生成绩管理系统Word文档格式.docx
《用c语言编写学生成绩管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《用c语言编写学生成绩管理系统Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
voidmodifyscore(void);
voidlookscore(void);
voidsearchscore(void);
voidstatistic(void);
voidadd(void);
voidmodify(void);
voiddelscore(void);
voidmenu(void);
voidmain()
{shortintflag=0;
menu();
do
{flag=1;
switch(getch())
{case'
1'
:
inputscore();
break;
/*输入成绩*/
case'
2'
lookscore();
/*查看成绩*/
3'
searchscore();
/*查找成绩*/
4'
statistic();
/*成绩统计*/
5'
modify();
/*修改成绩*/
6'
add();
/*添加成绩*/
7'
delscore();
/*删除成绩*/
8'
savescore();
/*保存成绩*/
9'
exit(0);
break;
/*退出程序*/
default:
printf("
输入有误\n"
);
}
printf("
按任意键继续\n"
getch();
menu();
}while(flag==1);
}
voidmenu(void)
{
system("
cls"
//清屏
\n"
*********欢迎进入学生会成绩管理系统**************\n"
菜单\n"
输入成绩-------------------------------------1\n"
查看成绩及成绩排序---------------------------2\n"
查询学生成绩---------------------------------3\n"
成绩统计-------------------------------------4\n"
修改成绩-------------------------------------5\n"
添加成绩-------------------------------------6\n"
删除成绩-------------------------------------7\n"
保存成绩-------------------------------------8\n"
退出系统-------------------------------------9\n"
***********************************************\n"
请输入您的选择(1~9)\n"
/***************输入各个同学的学生信息******************************/
voidinputscore(void)
{inti,j;
已经转到输入成绩菜单\n"
请输入学生总数:
scanf("
%d"
&
n);
提示:
输入学号时请输入由1位大写字母和8位数字组成的学号,如P01214000\n"
/*因二维表上下需对正故有此要求*/
for(i=0;
i<
n;
i++)
{printf("
请输入第%d位学生的学号:
i+1);
%s"
stu[i].number);
姓名:
scanf("
stu[i].name);
请输入学生成绩:
出勤分\t值班分\t贡献分\n"
for(j=0;
j<
M;
j++)
scanf("
%f"
stu[i].score[j]);
}
成功输入(按任意键继续后请输入8进行保存)\n"
/*****************计算各个同学的总分*****************************/
voidtotal(void)
{stu[i].total=0;
{
stu[i].total+=stu[i].score[j];
/*****************计算各个同学的平均分*****************************/
voidavergescore(void)
{stu[i].aver=0;
stu[i].aver+=stu[i].score[j];
stu[i].aver=stu[i].aver/M;
/************查看学生成绩及根据平均分对学生进行排序*********************/
voidlookscore(void)
{inti,j,k;
STUt;
total();
avergescore();
已经转到查看成绩及成绩排序菜单\n"
n-1;
{for(k=i,j=i+1;
if(stu[j].aver>
stu[k].aver)
k=j;
if(k!
=j)
{t=stu[k];
stu[k]=stu[i];
stu[i]=t;
}
名次\t学号\t\t姓名\t\t出勤分\t值班分\t贡献分\t总分\t平均分\n"
%d\t%s\t%s\t"
i+1,stu[i].number,stu[i].name);
printf("
%4.2f\t"
stu[i].score[j]);
stu[i].total);
%4.2f"
stu[i].aver);
/*****************通过输入学号查找学生成绩***************************/
voidsearchscore(void)
{chara[10];
inti,j;
已经转到查询学生成绩菜单\n"
请输入需查询的学生学号\n"
a);
{if(strcmp(a,stu[i].number)==0)
{printf("
for(j=0;
break;
/*找到该学生成绩信息后跳出for循环*/
}
else
未找到该学生信息\n"
/*******统计学生成绩信息,平均分及格率,优秀率****************/
voidstatistic(void)
{
STU*p=stu;
inti;
floatcount=0.0,sum=0.0;
printf("
已经转到成绩统计菜单\n"
{sum+=(p+i)->
aver;
该学生会平均分为%4.2f\n"
sum/n);
/*平均分计算*/
{if((p+i)->
aver>
=60)
count++;
该学生会及格率为%4.2f%%\n"
count/n*100);
/*及格率计算*/
count=0.0;
=90)
count++;
该学生会优秀率为%4.2f%%\n"
/*优秀率计算*/
平均分低于60的学生会成员名单\n"
{
if(stu[i].aver<
60)
%s\n"
}/*统计不及格学生名单*/
/***************修改学生成绩*****************/
voidmodify(void)
chara[10];
已经转到修改成绩菜单\n"
请输入需要修改成绩的学生学号\n"
名次\t