//学生成绩管理系统//用户名:xdxy密码:700619#includestdio.h#includeconio.h/*清屏*/#includestdlib.h/*显示目录*/#includestring.h#defineMAX1000voidmenu();voidinput();/*输入数据函数*/voidsort();/*排序数据函数*/voiddisplay();/*显示数据函数*/voiddisplay1();/*显示各科成绩函数*/voidinsert();/*插入数据函数*/voiddel();/*删除数据函数*/voidaverage();/*平均值函数*/voidfind();/*查找数据函数*/voidsave();/*保存数据函数*/voidread();/*读出数据函数*/voiddel_file();/*删除文件函数*/voidmodify();/*修改文件函数*/intnow_no=0;structstudent//定义学生信息{intno;//学号charname[20];//姓名charsex[4];//性别floatscore1;//成绩1floatscore2;//成绩2floatscore3;//成绩3floatsort;//排序成绩floatave;//平均分floatsum;//总分};voidmain(){inth,flag1,flag2;charname[20]=xdxy,password[10]=700619;charperson[20],password1[10];printf(\t\t********欢迎进入学生成绩管理系统!********\n\n);printf(\t\t\t用户登录\n\n);for(h=0;h!=5;){printf(\t\t\t\t用户名:);gets(person);flag1=strcmp(person,name);printf(\t\t\t\t密码:);gets(password1);flag2=strcmp(password,password1);if(flag1==0&&flag2==0){printf(\t\t\t\t登陆成功!\n\n);menu();break;}else{printf(\t\t\t用户名或密码错误!\n\n);printf(\t\t\t请注意:您还剩%d次机会!\n\n,4-h);h++;}}if(h=5)printf(对不起,您输入的用户名或密码有误,已被强制退出。\n);}structstudentstu[MAX],*p;voidmenu()/*主函数*/{intas;charch;do{printf(\n\n\n\n\t\t****&****&****&****&****&****&****&****&****&****);start:printf(\n\n\n\n\t\t\t欢迎使用学生成绩管理系统\n);printf(\n\n\n\n\t\t******************按任意键继续********************);ch=getch();}while(!ch);system(cls);/*以下为功能选择模块*/do{printf(\n\t\t\t\t1.录入学生信息\n\t\t\t\t2.显示学生总成绩信息\n\t\t\t\t3.对总成绩排序\n\t\t\t\t4.显示学生单科成绩排序\n\t\t\t\t5.添加学生信息\n\t\t\t\t6.删除学生信息\n\t\t\t\t7.修改学生信息\n\t\t\t\t8.查询学生信息\n\t\t\t\t9.从文件读入学生信息\n\t\t\t\t10.删除文件中学生信息\n\t\t\t\t11.保存学生信息\n\t\t\t\t12.退出\n);printf(\t\t\t\t选择功能选项(输入所选功能前的数字):);fflush(stdin);/*可用可不用,用于清除缓存防止下次用scanf输入时出现错误*/scanf(%d,&as);switch(as){case1:system(cls);input();break;case2:system(cls);display();break;case3:system(cls);sort();break;case4:system(cls);display1();break;case5:system(cls);insert();break;case6:system(cls);del();break;case7:system(cls);modify();break;case8:system(cls);find();break;case9:system(cls);read();break;case10:system(cls);del_file();break;case11:system(cls);save();break;case12:system(exit);exit(0);default:system(cls);gotostart;}}while(1);/*while(1),1表示真,所以while(1)表示永远循环下去*//*至此功能选择模块结束*/}voidinput()/*学生信息录入模块*/{inti=0;charch;do{printf(\t\t\t\t1.录入学生信息\n输入第%d个学生的信息\n,i+1);printf(\n输入8位的学生学号:);scanf(%u,&stu[i].no);fflush(stdin);printf(\n输入学生姓名:);fflush(stdin);gets(stu[i].name);printf(\n输入学生性别:);fflush(stdin);gets(stu[i].sex);printf(\n输入学生成绩1:);scanf(%f,&stu[i].score1);printf(\n输入学生成绩2:);fflush(stdin);scanf(%f,&stu[i].score2);printf(\n输入学生成绩3:);fflush(stdin);scanf(%f,&stu[i].score3);printf(\n\n);i++;now_no=i;printf(是否继续输入?(Y/N));fflush(stdin);ch=getch();system(cls);}while(ch!='n'&&ch!='N');system(cls);}voidsort()/*排序数据函数*/{structstudenttemp;inti,j;average();for(i=1;inow_no;i++){for(j=1;j=now_no-i;j++){if(stu[j-1].avestu[j].ave){temp=stu[j];stu[j]=stu[j-1];stu[j-1]=temp;}}}printf(排序已完成进入功能2可进行显示\n);system(pause);system(cls);}voidsort1()/*排序数据函数*/{structstudenttemp;inti,j;for(i=1;inow_no;i++){for(j=1;j=now_no-i;j++){if(stu[j-1].score1stu[j].score1){temp=stu[j];stu[j]=stu[j-1];stu[j-1]=temp;}}}}voidsort2()/*排序数据函数*/{structstudenttemp;inti,j;for(i=1;inow_no;i++){for(j=1;j=now_no-i;j++){if(stu[j-1].score2stu[j].score2){temp=stu[j];stu[j]=stu[j-1];stu[j-1]=temp;}}}}voidsort3()/*排序数据函数*/{structstudenttemp;inti,j;for(i=1;inow_no;i++){for(j=1;j=now_no-i;j++){if(stu[j-1].score3stu[j].score3){temp=stu[j];stu[j]=stu[j-1];stu[j-1]=temp;}}}}voiddisplay()/*显示数据函数*/{inti;charas;average();do{printf(\t\t\t班级学生信息列表\n);printf(\t学号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n);for(i=0;inow_no&&stu[i].name[0];i++)printf(\t%u%s\t%s\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].ave);printf(\t\t\t按任意键返回主菜单);fflush(stdin);as=getch();}while(!as);system(cls);}voiddisplay1()/*显示数据函数*/{inti;charas;do{printf(\t\t\t班级学生score1成绩排序\n);printf(\t学号\t姓名\t性别\t成绩1\n);sort1();for(i=0;inow_no&&stu[i].name[0];i++)printf(\t%u%s\t%s\t%.2f\t\n,stu[i].no,stu[i].name,stu[i].sex,stu[i].score1);printf(\t\t\t班级学生score2成绩排序\n);printf(\t学号\t姓名\t性别\t成绩2\n);sort2();for(i=0;inow_no&&stu[i].name[0];i++)printf(\t%u%s\t%s\t%.2f\t\n,stu[i].no,stu[i].name,stu[i].sex,stu[i].score2);printf(\t\t\t班级学生score3成绩排序\n);printf(\t学号\t姓名\t性别\t成绩3\n);sort3();for(i=0;inow_no&&stu[i].name[0];i++)printf(\t%u%s\t%s\t%.2f\t\n,stu[i].no,stu[i].name,stu[i].sex,stu[i].score3);printf(\t\t\t按任意键返回主菜单);fflush(stdin);as=getch();}while(!as);system(cls);}voidinsert()/*插入数据函数*/{charch;do{printf(\n\t\t输入新插入学生信息\n);printf(\n输入学生学号:);scanf(%u,&stu[now_no].no);fflush(stdin);printf(\n输入学生姓名:);fflush(stdin);gets(stu[now_no].name);printf(\n输入学生性别:);fflush(stdin);gets(stu[now_no].sex);printf(\n输入学生成绩1:);fflush(stdin);scanf(%f,&stu[now_no].score1);printf(\n输入学生成绩2:);fflush(stdin);scanf(%f,&stu[now_no].score2);printf(\n输入学生成绩3:);fflush(stdin);scanf(%f,&stu[now_no].score3);printf(\n\n);now_no=now_no+1;sort();printf(是否继续输入?(Y/N));fflush(stdin);ch=getch();system(cls);}while(ch!='n'&&ch!='N