一个简单的学生成绩管理系统附运行结果.docx
《一个简单的学生成绩管理系统附运行结果.docx》由会员分享,可在线阅读,更多相关《一个简单的学生成绩管理系统附运行结果.docx(20页珍藏版)》请在冰豆网上搜索。
一个简单的学生成绩管理系统附运行结果
#include
#defineN100
intiNumOfStu=0;
structscore
{
floatmath;
floatenglish;
floatcomputer;
};
structstudent
intnumber;
charname[20];
structscoresco;
floataverage;
structstudentstu[N];
voidprint_menu(void);//输出菜单
voidchoosemenu(void);//菜单选择
voidinput_student1(int);//输入学生信息
voidinput_student2(void);//输入总函数
voidinput_student3(int&,int);//判断学号是否重复
voidinput_student4(int,int);//覆盖原信息
voidsort_student3(students[],int);//按照英语成绩排序
voidsort_student4(students[],int);//按照计算机成绩排序
voidsort_student2(students[],int);//按照数学成绩排序
voidsort_student5(students[],int);//按照平均成绩排序
floatinput_score2(int);//计算学生平均成绩
voidprint_student2(void);//显示表头
voidprint_student3(int);//显示学生信息
voidprint_student1(int);//显示全部学生资料
voidsort_student1(void);//排序总函数
voidmenu(void);//菜单调度总函数
intsearch_student2(int);//按学号查询学生信息并输出
voidsearch_student3(int);//按平均分最高查询并输出
voidsearch_student1(void);//查询总函数
voiddelete_student2(int,int);//删除学生信息
voiddelete_student1(void);//删除总函数
voidchange_student2(int);//修改学生资料
voidchange_student1(void);//修改总函数
voidinput_score3(int);//统计成绩
voidinput_score1(void);//统计成绩总函数
voidprint_help(void);//输出帮助信息
voidexit_student(void);//退出系统
voidsave_student(student*,int);//保存学生信息
voidmain()
menu();
}
voidsave_student(student*s,inta)//保存学生信息
FILE*fp;
if((fp=fopen("d:
\\学生信息.txt","wb"))==NULL)
printf("不能打开文件!
\n");
else
printf("保存信息到D盘\n");
fprintf(fp,"本班所有学生具体信息如下:
\r\n");
fprintf(fp,"学号姓名数学成绩英语成绩计算机成绩平均成绩\r\n");
for(inti=0;i{fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i]puter,stu[i].average);fprintf(fp,"\r\n");}fclose(fp);printf("信息保存成功!\n");}}voidexit_student(void)//退出系统{exit(1);}voidprint_help(void)//输出帮助信息{printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。\n感谢使用!\n",N);}voidinput_score1(void)//统计成绩总函数{intc;c=search_student2(iNumOfStu);printf("学号:%d\n",stu[c].number);printf("姓名:%s\n",stu[c].name);input_score3(c);printf("新成绩录入成功!\n");stu[c].average=input_score2(c);}voidinput_score3(inta)//统计成绩{printf("数学新成绩:");scanf("%f",&stu[a].sco.math);printf("英语新成绩:");scanf("%f",&stu[a].sco.english);printf("计算机新成绩:");scanf("%f",&stu[a]puter);}voidchange_student2(inta)//修改学生资料{printf("学号:%d----修改为:",stu[a].number);scanf("%d",&stu[a].number);getchar();printf("姓名:%s----修改为:",stu[a].name);gets(stu[a].name);printf("数学成绩:%.2f----修改为:",stu[a].sco.math);scanf("%f",&stu[a].sco.math);printf("英语成绩:%.2f----修改为:",stu[a].sco.english);scanf("%f",&stu[a].sco.english);printf("计算机成绩:%.2f----修改为:",stu[a]puter);scanf("%f",&stu[a]puter);}voidchange_student1(void)//修改总函数{intc;c=search_student2(iNumOfStu);getchar();printf("是否要修改此学生信息?(“y”代表是)");chard;scanf("%c",&d);if(d=='y'||d=='Y'){change_student2(c);stu[c].average=input_score2(c);printf("信息修改成功!\n");}}voiddelete_student1(void)//删除总函数{intc;c=search_student2(iNumOfStu);getchar();printf("是否删除此条记录?(“y”代表是)");chard;scanf("%c",&d);if(d=='y'||d=='Y'){delete_student2(c,iNumOfStu);printf("记录已删除!\n");}}voiddelete_student2(inta,intb)//删除学生信息{for(inti=a;i{stu[i]=stu[i+1];}--iNumOfStu;}voidsearch_student1(void)//查询总函数{printf("1、按学号查询\n2、按平均分最高查询\n请选择:");intc;scanf("%d",&c);switch(c){case1:{search_student2(iNumOfStu);break;}case2:{search_student3(iNumOfStu);break;}default:break;}}voidmenu(void)//菜单调度总函数{print_menu();choosemenu();}voidsort_student1(void)//排序总函数{printf("1、按数学成绩排序\n2、按英语成绩排序\n3、按计算机成绩排序\n4、按平均成绩排序\n请选择:");intc;scanf("%d",&c);switch(c){case1:{sort_student2(stu,iNumOfStu);break;}case2:{sort_student3(stu,iNumOfStu);break;}case3:{sort_student4(stu,iNumOfStu);break;}case4:{sort_student5(stu,iNumOfStu);break;}default:break;}}voidprint_student1(inta)//显示全部学生资料{printf("本班所有学生具体信息如下\n");print_student2();for(inti=0;i{print_student3(i);}}voidprint_student3(inta)//显示学生信息{printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a]puter,stu[a].average);}voidprint_student2(void)//显示表头{printf("学号姓名数学成绩英语成绩计算机成绩平均成绩\n");}voidinput_student4(inta,intb)//覆盖原信息{stu[a]=stu[b-1];--iNumOfStu;}voidinput_student3(int&a,intb)//判断学号是否重复{if(a!=0){inti=0;do{if(stu[a].number==stu[i].number){printf("此学号代表的学生已录入\n1、覆盖原信息\n2、重新输入\n请选择:");intc;scanf("%d",&c);switch(c){case1:{
fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i]puter,stu[i].average);
fprintf(fp,"\r\n");
fclose(fp);
printf("信息保存成功!
voidexit_student(void)//退出系统
exit
(1);
voidprint_help(void)//输出帮助信息
printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。
\n感谢使用!
\n",N);
voidinput_score1(void)//统计成绩总函数
intc;
c=search_student2(iNumOfStu);
printf("学号:
%d\n",stu[c].number);
printf("姓名:
%s\n",stu[c].name);
input_score3(c);
printf("新成绩录入成功!
stu[c].average=input_score2(c);
voidinput_score3(inta)//统计成绩
printf("数学新成绩:
");
scanf("%f",&stu[a].sco.math);
printf("英语新成绩:
scanf("%f",&stu[a].sco.english);
printf("计算机新成绩:
scanf("%f",&stu[a]puter);
voidchange_student2(inta)//修改学生资料
%d----修改为:
",stu[a].number);
scanf("%d",&stu[a].number);
getchar();
%s----修改为:
",stu[a].name);
gets(stu[a].name);
printf("数学成绩:
%.2f----修改为:
",stu[a].sco.math);
printf("英语成绩:
",stu[a].sco.english);
printf("计算机成绩:
",stu[a]puter);
voidchange_student1(void)//修改总函数
printf("是否要修改此学生信息?
(“y”代表是)");
chard;
scanf("%c",&d);
if(d=='y'||d=='Y')
change_student2(c);
printf("信息修改成功!
voiddelete_student1(void)//删除总函数
printf("是否删除此条记录?
delete_student2(c,iNumOfStu);
printf("记录已删除!
voiddelete_student2(inta,intb)//删除学生信息
for(inti=a;i{stu[i]=stu[i+1];}--iNumOfStu;}voidsearch_student1(void)//查询总函数{printf("1、按学号查询\n2、按平均分最高查询\n请选择:");intc;scanf("%d",&c);switch(c){case1:{search_student2(iNumOfStu);break;}case2:{search_student3(iNumOfStu);break;}default:break;}}voidmenu(void)//菜单调度总函数{print_menu();choosemenu();}voidsort_student1(void)//排序总函数{printf("1、按数学成绩排序\n2、按英语成绩排序\n3、按计算机成绩排序\n4、按平均成绩排序\n请选择:");intc;scanf("%d",&c);switch(c){case1:{sort_student2(stu,iNumOfStu);break;}case2:{sort_student3(stu,iNumOfStu);break;}case3:{sort_student4(stu,iNumOfStu);break;}case4:{sort_student5(stu,iNumOfStu);break;}default:break;}}voidprint_student1(inta)//显示全部学生资料{printf("本班所有学生具体信息如下\n");print_student2();for(inti=0;i{print_student3(i);}}voidprint_student3(inta)//显示学生信息{printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a]puter,stu[a].average);}voidprint_student2(void)//显示表头{printf("学号姓名数学成绩英语成绩计算机成绩平均成绩\n");}voidinput_student4(inta,intb)//覆盖原信息{stu[a]=stu[b-1];--iNumOfStu;}voidinput_student3(int&a,intb)//判断学号是否重复{if(a!=0){inti=0;do{if(stu[a].number==stu[i].number){printf("此学号代表的学生已录入\n1、覆盖原信息\n2、重新输入\n请选择:");intc;scanf("%d",&c);switch(c){case1:{
stu[i]=stu[i+1];
--iNumOfStu;
voidsearch_student1(void)//查询总函数
printf("1、按学号查询\n2、按平均分最高查询\n请选择:
scanf("%d",&c);
switch(c)
case1:
search_student2(iNumOfStu);
break;
case2:
search_student3(iNumOfStu);
default:
voidmenu(void)//菜单调度总函数
print_menu();
choosemenu();
voidsort_student1(void)//排序总函数
printf("1、按数学成绩排序\n2、按英语成绩排序\n3、按计算机成绩排序\n4、按平均成绩排序\n请选择:
sort_student2(stu,iNumOfStu);
sort_student3(stu,iNumOfStu);
case3:
sort_student4(stu,iNumOfStu);
case4:
sort_student5(stu,iNumOfStu);
voidprint_student1(inta)//显示全部学生资料
printf("本班所有学生具体信息如下\n");
print_student2();
for(inti=0;i{print_student3(i);}}voidprint_student3(inta)//显示学生信息{printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a]puter,stu[a].average);}voidprint_student2(void)//显示表头{printf("学号姓名数学成绩英语成绩计算机成绩平均成绩\n");}voidinput_student4(inta,intb)//覆盖原信息{stu[a]=stu[b-1];--iNumOfStu;}voidinput_student3(int&a,intb)//判断学号是否重复{if(a!=0){inti=0;do{if(stu[a].number==stu[i].number){printf("此学号代表的学生已录入\n1、覆盖原信息\n2、重新输入\n请选择:");intc;scanf("%d",&c);switch(c){case1:{
print_student3(i);
voidprint_student3(inta)//显示学生信息
printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a]puter,stu[a].average);
voidprint_student2(void)//显示表头
printf("学号姓名数学成绩英语成绩计算机成绩平均成绩\n");
voidinput_student4(inta,intb)//覆盖原信息
stu[a]=stu[b-1];
voidinput_student3(int&a,intb)//判断学号是否重复
if(a!
=0)
inti=0;
do
if(stu[a].number==stu[i].number)
printf("此学号代表的学生已录入\n1、覆盖原信息\n2、重新输入\n请选择:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1