c语言大作业 班级成绩管理系统.docx
- 文档编号:8656089
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:20
- 大小:18.48KB
c语言大作业 班级成绩管理系统.docx
《c语言大作业 班级成绩管理系统.docx》由会员分享,可在线阅读,更多相关《c语言大作业 班级成绩管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
c语言大作业班级成绩管理系统
#include
#include
#include
#include
#defineMAX100/*宏定义一个常量*/
voidinput();/*录入函数*/
voidfindname();/*姓名查询函数*/
voidfindnumber();/*学号查询函数*/
voidmodify();/*修改函数*/
voidsort();/*排序函数*/
voidstatistics();/*统计函数*/
voiddisplay();/*显示函数*/
voiddisplay0();/*显示数据函数0*/
voiddisplay1();/*显示函数1*/
voiddisplay2();/*显示函数2*/
voiddisplay3();/*显示函数3*/
voiddisplay4();/*显示函数4*/
voiddisplay5();/*显示数据函数5*/
voiddisplay6();/*显示数据函数6*/
voidread();/*读取函数*/
voidaverage();/*求平均分函数*/
voidsum();/*求总分函数*/
voidsave();/*数据备份函数*/
voidsortname();/*按姓名排序函数*/
voidmath();/*数学函数*/
voidenglish();/*英语函数*/
voidClanguage();/*C语言函数*/
voidMdrawing();/*机械制图函数*/
voidPhysics();/*物理函数*/
intnumber=0;/*声明一个全局变量:
现在所输入的人数*/
structstudent
{
intno;
charname[20];
charsex[4];
floatscore1;
floatscore2;
floatscore3;
floatscore4;
floatscore5;
floatsort;
floatave;
floatsum;
};
structstudentstu[MAX],*p;/*定义结构体数组和结构体指针*/
voidmain()/*主函数*/
{
intas;
system("color0E");/*系统颜色的调用*/
printf("\n\t\t\t欢迎进入学生成绩管理系统\n\t\t*******************************************\n");
do
{/*一下为功能选择模块*/
printf("\n\n\t\t\t\t1.录入");
printf("\n\n\t\t\t\t2.姓名查询");
printf("\n\n\t\t\t\t3.学号查询");
printf("\n\n\t\t\t\t4.修改");
printf("\n\n\t\t\t\t5.排序");
printf("\n\n\t\t\t\t6.统计");
printf("\n\n\t\t\t\t7.数据备份");
printf("\n\n\t\t\t\t0.退出");
printf("\n\n\t\t\t请选择:
");
fflush(stdin);
scanf("%d",&as);
switch(as)
{
case1:
system("cls");input();break;/*清除屏幕;调用input()函数;退出switch()语句*/
case2:
system("cls");findname();break;
case3:
system("cls");findnumber();break;
case4:
system("cls");modify();break;
case5:
system("cls");sort();break;
case6:
system("cls");statistics();break;
case7:
system("cls");save();break;
case0:
system("exit");break;/*退出系统*/
default:
printf("\t\t\t数据错误!
请重新选择:
");
}
}while
(1);
}/*到此该功能结束*/
voidinput()/*数据录入模块*/
{
inti=0;
charch;
do
{
printf("\t\t\t\t1.录入学生信息\n输入第%d个学生的信息\n",i+1);
printf("\n学号:
");
scanf("%d",&stu[i].no);
fflush(stdin);
printf("\n姓名:
");
fflush(stdin);
scanf("%s",&stu[i].name);
printf("\n性别:
");
fflush(stdin);
scanf("%s",&stu[i].sex);
printf("\n高等数学成绩:
");
fflush(stdin);
scanf("%f",&stu[i].score1);
printf("\n英语成绩:
");
fflush(stdin);
scanf("%f",&stu[i].score2);
printf("\nC语言成绩:
");
fflush(stdin);
scanf("%f",&stu[i].score3);
printf("\n机械制图成绩:
");
fflush(stdin);
scanf("%f",&stu[i].score4);
printf("\n物理成绩:
");
fflush(stdin);
scanf("%f",&stu[i].score5);
printf("\n\n");
i++;
number=i;
printf("是否继续输入?
(Y/N)");
fflush(stdin);
ch=getch();
system("cls");
}
while(ch!
='n'&&ch!
='N');
system("cls");
}
voidfindname()/*姓名查询函数*/
{
inti;
charstr[20],as;
do
{
printf("输入要查询的学生姓名:
");
fflush(stdin);
gets(str);
for(i=0;i if(! strcmp(stu[i].name,str)) {average(); printf("\t学号\t姓名\t性别\t高数\t英语\tC语言\t机械制图\t物理\t平均分\n"); printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].score4,stu[i].score5,stu[i].ave); } printf("\t\t按任意键返回主菜单."); fflush(stdin); as=getch(); } while(! as); system("cls"); } voidfindnumber()/*学号查询函数*/ { inti; charas; intnum; do { printf("输入要查询的学生学号: "); fflush(stdin); scanf("%d",&num); for(i=0;i if(stu[i].no==num) {average(); printf("\t学号\t姓名\t性别\t高数\t英语\tC语言\t机械制图\t物理\t平均分\n"); printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].score4,stu[i].score5,stu[i].ave); } printf("\t\t按任意键返回主菜单."); fflush(stdin); as=getch(); } while(! as); system("cls"); } voidmodify()/*修改数据函数*/ { inti; charstr[20]; printf("输入要修改的学生姓名: "); fflush(stdin); gets(str); for(i=0;i if(! strcmp(stu[i].name,str)) { system("cls"); printf("\n\t\t输入新插入学生信息\n"); printf("\n学号: "); fflush(stdin); scanf("%d",&stu[i].no); printf("\n姓名: "); fflush(stdin); scanf("%s",&stu[i].name); printf("\n性别: "); fflush(stdin); scanf("%s",&stu[i].sex); printf("\n高数成绩: "); fflush(stdin); scanf("%f",&stu[i].score1); printf("\n英语成绩: "); fflush(stdin); scanf("%f",&stu[i].score2); printf("\nC语言成绩: "); fflush(stdin); scanf("%f",&stu[i].score3); printf("\n机械制图成绩: "); fflush(stdin); scanf("%f",&stu[i].score4); printf("\n物理成绩: "); fflush(stdin); scanf("%f",&stu[i]); printf("\n\n"); break; } system("cls"); } voidsort()/*排序数据函数*/ { intk; do {/*一下为功能选择模块*/ printf("\n\n\t\t\t\t1.按平均分排序"); printf("\n\n\t\t\t\t2.按数学排序"); printf("\n\n\t\t\t\t3.按英语排序"); printf("\n\n\t\t\t\t4.按C语言排序"); printf("\n\n\t\t\t\t4.按机械制图排序"); printf("\n\n\t\t\t\t4.按物理排序"); printf("\n\n\t\t\t\t5.按姓名排序"); printf("\n\n\t\t\t请选择: "); fflush(stdin); scanf("%d",&k); switch(k) { case1: system("cls");average();break;/*清除屏幕;调用average()函数;退出switch()语句*/ case2: system("cls");math();break;/*清除屏幕;调用math()函数;退出switch()语句*/ case3: system("cls");english();break;/*清除屏幕;调用english()函数;退出switch()语句*/ case4: system("cls");Clanguage();break;/*清除屏幕;调用Clanguage()函数;退出switch()语句*/ case5: system("cls");Mdrawing();break;/*清除屏幕;调用Mdrawing()函数;退出switch()语句*/ case6: system("cls");Physics();break;/*清除屏幕;调用Physics()函数;退出switch()语句*/ case7: system("cls");sortname();break;/*清除屏幕;调用sortname();函数;退出switch()语句*/ default: printf("\t\t\t数据错误! 请重新选择: "); } }while(k<1||k>7); structstudenttemp;/*结构体函数*/ inti,j; average(); for(i=1;i { for(j=1;j<=number-i;j++) { if(stu[i-1].ave { temp=stu[i]; stu[i]=stu[i-1]; stu[i-1]=temp; } } }display(); } voidmath()/*数学函数*/ { structstudenttemp; inti,j; for(i=1;i { for(j=1;j<=number-i;j++) { if(stu[i-1].score1 { temp=stu[i]; stu[i]=stu[i-1]; stu[i-1]=temp; } } }display1(); } voidenglish()/*英语函数*/ { structstudenttemp; inti,j; for(i=1;i { for(j=1;j<=number-i;j++) { if(stu[i-1].score2 { temp=stu[i]; stu[i]=stu[i-1]; stu[i-1]=temp; } } }display2(); } voidClanguage()/*c语言函数*/ { structstudenttemp; inti,j; for(i=1;i { for(j=1;j<=number-i;j++) { if(stu[i-1].score3 { temp=stu[i]; stu[i]=stu[i-1]; stu[i-1]=temp; } } }display3(); } voidMdrawing()/*机械制图函数*/ { structstudenttemp; inti,j; for(i=1;i { for(j=1;j<=number-i;j++) { if(stu[i-1].score4 { temp=stu[i]; stu[i]=stu[i-1]; stu[i-1]=temp; } } }display5(); } voidPhysics()/*物理函数*/ { structstudenttemp; inti,j; for(i=1;i { for(j=1;j<=number-i;j++) { if(stu[i-1].score5 { temp=stu[i]; stu[i]=stu[i-1]; stu[i-1]=temp; } } }display6(); } voidsortname()/*按姓名排序函数*/ { structstudenttemp; inti,j; for(i=1;i { for(j=1;j<=number;j++) { if(strcmp(stu[i].name,stu[i+1].name)<0)//比较首字符的ASCII { temp=stu[i];//互换 stu[i]=stu[i+1]; stu[i+1]=temp; } } }display4(); } voiddisplay()/*显示数据函数*/ { inti; charas; average(); do { printf("\t\t\t班级学生信息列表\n"); printf("\n按平均分排序\n"); printf("\t学号\t姓名\t性别\t高数\t英语\tC语言\t机械制图\t物理\t平均分\n"); for(i=0;i printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].score4,stu[i].score5,stu[i].ave); printf("\n\t\t按任意键返回主菜单."); fflush(stdin); as=getch(); } while(! as); system("cls"); } voiddisplay0()/*显示数据函数0*/ { inti; charas; sum(); do { printf("\t\t\t班级学生信息列表\n"); printf("\n按总分排序\n"); printf("\t学号\t姓名\t性别\t高数\t英语\tC语言\t机械制图\t物理\t总分\n"); for(i=0;i printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].score4,stu[i].score5,stu[i].sum); printf("\n\t\t按任意键返回主菜单."); fflush(stdin); as=getch(); } while(! as); system("cls"); } voiddisplay1()/*显示数据函数1*/ { inti; charas; do { printf("\t\t\t班级学生信息列表\n"); printf("\n按数学排序\n"); printf("\n\t学号\t姓名\t性别\t高数\n"); for(i=0;i printf("\t%d\t%s\t%s\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1); printf("\n\t\t按任意键返回主菜单."); fflush(stdin); as=getch(); }while(! as); system("cls"); } voiddisplay2()/*显示数据函数2*/ { inti; charas; do { printf("\t\t\t班级学生信息列表\n"); printf("\n按英语排序\n"); printf("\n\t学号\t姓名\t性别\t英语\n"); for(i=0;i printf("\t%d\t%s\t%s\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score2); printf("\n\t\t按任意键返回主菜单."); fflush(stdin); as=getch(); }while(! as); system("cls"); } voiddisplay3()/*显示数据函数3*/ { inti; charas; do { printf("\t\t\t班级学生信息列表\n"); printf("\n按C语言排序\n"); printf("\n\t学号\t姓名\t性别\tC语言\n"); for(i=0;i printf("\t%d\t%s\t%s\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score3); printf("\n\t\t按任意键返回主菜单."); fflush(stdin); as=getch(); }while(! as); system("cls"); } voiddisplay4()/*显示数据函数4*/ { inti; charas; do { printf("\t\t\t班级学生信息列表\n"); printf("\n按姓名排序\n"); printf("\n\t学号\t姓名\t性别\t数学\t英语\tC语言\t机械制图\t物理\n"); for(i=0;i printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].score4,stu[i].score5); printf("\n\t\t按任意键返回主菜单."); fflush(stdin); as=getch(); }while(! as); system("cls"); } voiddisplay5()/*显示数据函数5*/ { inti; charas; do { printf("\t\t\t班级学生信息列表\n"); printf("\n按机械制图排序\n"); printf("\n\t学号\t姓名\t性别\t机械制图\n"); for(i=0;i printf("\t%d\t%s\t%s\t%.2f\n",stu[i].no,stu[i].name
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言大作业 班级成绩管理系统 语言 作业 班级 成绩管理系统