用c语言编写学生成绩管理系统.docx
- 文档编号:298562
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:13
- 大小:44.45KB
用c语言编写学生成绩管理系统.docx
《用c语言编写学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《用c语言编写学生成绩管理系统.docx(13页珍藏版)》请在冰豆网上搜索。
用c语言编写学生成绩管理系统
用c语言编写学生成绩管理系统
#include
#include
#include
#include
#defineN30
#defineM3
typedefstructstudent
{charnumber[10];
charname[20];
floatscore[M];
floataver;
floattotal;
}STU;
STUstu[N];
intn;
voidinputscore(void);
voidsavescore(void);
voidavergescore(void);
voidtotal(void);
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();break;/*查看成绩*/
case'3':
searchscore();break;/*查找成绩*/
case'4':
statistic();break;/*成绩统计*/
case'5':
modify();break;/*修改成绩*/
case'6':
add();break;/*添加成绩*/
case'7':
delscore();break;/*删除成绩*/
case'8':
savescore();break;/*保存成绩*/
case'9':
exit(0);break;/*退出程序*/
default:
printf("输入有误\n");
}
printf("按任意键继续\n");
getch();
menu();
}while(flag==1);
}
voidmenu(void)
{
system("cls");//清屏
printf("\n");
printf("*********欢迎进入学生会成绩管理系统**************\n");
printf("菜单\n");
printf("输入成绩-------------------------------------1\n");
printf("查看成绩及成绩排序---------------------------2\n");
printf("查询学生成绩---------------------------------3\n");
printf("成绩统计-------------------------------------4\n");
printf("修改成绩-------------------------------------5\n");
printf("添加成绩-------------------------------------6\n");
printf("删除成绩-------------------------------------7\n");
printf("保存成绩-------------------------------------8\n");
printf("退出系统-------------------------------------9\n");
printf("***********************************************\n");
printf("请输入您的选择(1~9)\n");
}
/***************输入各个同学的学生信息******************************/
voidinputscore(void)
{inti,j;
system("cls");
printf("已经转到输入成绩菜单\n");
printf("请输入学生总数:
\n");
scanf("%d",&n);
printf("提示:
输入学号时请输入由1位大写字母和8位数字组成的学号,如P01214000\n");/*因二维表上下需对正故有此要求*/
for(i=0;i {printf("\n"); printf("请输入第%d位学生的学号: \n",i+1); scanf("%s",stu[i].number); printf("姓名: \n"); scanf("%s",stu[i].name); printf("请输入学生成绩: \n"); printf("出勤分\t值班分\t贡献分\n"); for(j=0;j scanf("%f",&stu[i].score[j]); } printf("成功输入(按任意键继续后请输入8进行保存)\n"); } /*****************计算各个同学的总分*****************************/ voidtotal(void) {inti,j; for(i=0;i {stu[i].total=0; for(j=0;j { stu[i].total+=stu[i].score[j]; } } } /*****************计算各个同学的平均分*****************************/ voidavergescore(void) {inti,j; for(i=0;i {stu[i].aver=0; for(j=0;j { stu[i].aver+=stu[i].score[j]; } stu[i].aver=stu[i].aver/M; } } /************查看学生成绩及根据平均分对学生进行排序*********************/ voidlookscore(void) {inti,j,k; STUt; total(); avergescore(); system("cls"); printf("已经转到查看成绩及成绩排序菜单\n"); for(i=0;i {for(k=i,j=i+1;j if(stu[j].aver>stu[k].aver) k=j; if(k! =j) {t=stu[k]; stu[k]=stu[i]; stu[i]=t; } } printf("名次\t学号\t\t姓名\t\t出勤分\t值班分\t贡献分\t总分\t平均分\n"); for(i=0;i {printf("%d\t%s\t%s\t",i+1,stu[i].number,stu[i].name); for(j=0;j printf("%4.2f\t",stu[i].score[j]); printf("%4.2f\t",stu[i].total); printf("%4.2f",stu[i].aver); printf("\n"); } } /*****************通过输入学号查找学生成绩***************************/ voidsearchscore(void) {chara[10]; inti,j; system("cls"); printf("已经转到查询学生成绩菜单\n"); printf("请输入需查询的学生学号\n"); scanf("%s",a); for(i=0;i {if(strcmp(a,stu[i].number)==0) {printf("名次\t学号\t\t姓名\t\t出勤分\t值班分\t贡献分\t总分\t平均分\n"); printf("%d\t%s\t%s\t",i+1,stu[i].number,stu[i].name); for(j=0;j printf("%4.2f\t",stu[i].score[j]); printf("%4.2f\t",stu[i].total); printf("%4.2f",stu[i].aver); printf("\n"); break;/*找到该学生成绩信息后跳出for循环*/ } else printf("未找到该学生信息\n"); } } /*******统计学生成绩信息,平均分及格率,优秀率****************/ voidstatistic(void) { STU*p=stu; inti; floatcount=0.0,sum=0.0; system("cls"); printf("已经转到成绩统计菜单\n"); for(i=0;i {sum+=(p+i)->aver;} printf("该学生会平均分为%4.2f\n",sum/n);/*平均分计算*/ for(i=0;i {if((p+i)->aver>=60) count++; } printf("该学生会及格率为%4.2f%%\n",count/n*100);/*及格率计算*/ count=0.0; for(i=0;i {if((p+i)->aver>=90) count++; } printf("该学生会优秀率为%4.2f%%\n",count/n*100);/*优秀率计算*/ printf("平均分低于60的学生会成员名单\n"); for(i=0;i { if(stu[i].aver<60) printf("%s\n",stu[i].name); }/*统计不及格学生名单*/ } /***************修改学生成绩*****************/ voidmodify(void) { chara[10]; inti,j; system("cls"); printf("已经转到修改成绩菜单\n"); printf("请输入需要修改成绩的学生学号\n"); scanf("%s",a); for(i=0;i {if(strcmp(a,stu[i].number)==0) {printf("名次\t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编写 学生 成绩管理系统