#includestdio.h#includeconio.h#includewindows.h/*#includebios.h*/#includedos.h#includeio.h#includestdlib.h#includestdio.h#defineVIDEO_INT0x10#defineSTUSIZE40/*假定处理的学生不超过40人*/structstudent{intstunum;/*学号*/charstuname[10];/*学生姓名*/floatstuscore[5];/*3门成绩、平均成绩、总成绩*/}stu[STUSIZE];/*定义学生数组*/intstunum=0;/*用来记录当前学生记录数*/voidStuCover();/*项目封面函数声明*/voidMainMenu();/*主菜单函数声明*/voidEditMenu();/*编辑子菜单函数声明*/voidDispMenu();/*显示子菜单函数声明*/voidCompMenu();/*计算子菜单函数声明*/voidSortMenu();/*排序子菜单函数声明*/voidOpen(structstudentstu[],int*size);/*打开文件子菜单函数声明*/voidSave(structstudentstu[],int*size);/*保存文件函数声明*/intAdd(structstudentstu[],int*size);/*增加学生记录函数声明*/intDel(structstudentstu[],int*stusize);/*删除学生记录函数声明*/intModify(structstudentstu[],int*stusize);/*修改学生记录函数声明*/intDispOne(structstudentstu[],int*stusize);/*查看一个记录函数声明*/intDispAll(structstudentstu[],intsize);/*显示全部记录函数声明*/voidAsceSort(structstudentstu[],intstusize);/*按升序排序函数声明*/voidDropSort(structstudentstu[],intstusize);/*按降序排序函数声明*/voidNotElig(structstudentstu[],intstusize);/*查找不及格记录函数声明*/voidCompSum(structstudentstu[],intstusize);/*计算总成绩和平均成绩函数声明*/voidSearchMax(structstudentstu[],intstusize);/*查找最高成绩函数声明*/voidSearchMin(structstudentstu[],intstusize);/*查找最低成绩函数声明*/voidExplain();/*程序说明函数声明*/voidQuit(int);/*退出函数声明*/voidgotoxy(intx,inty);/*光标定位函数声明*/intmain(){intchoose,editnum,dispnum,compnum,sortnum;/*定义5个输入变量*/system(cls);StuCover();getch();while(1)/*外循环开始*/{MainMenu();/*调用主菜单函数*/printf(\t\t请输入序号:);scanf(%d,&choose);switch(choose)/*主菜单的switch开始*/{case1:Open(stu,&stunum);break;case2:Save(stu,&stunum);break;case3:do/*内循环1开始*/{EditMenu();/*调用编辑子菜单函数*/printf(\t\t请输入序号:);scanf(%d,&editnum);switch(editnum)/*编辑子菜单switch开始*/{case1:Add(stu,&stunum);break;case2:Del(stu,&stunum);break;case3:Modify(stu,&stunum);break;case0:Quit(0);break;}/*编辑子菜单switch结束*/}while(editnum!=0);/*内循环1结束*/break;case4:do/*内循环2开始*/{DispMenu();/*调用查看子菜单函数*/printf(\t\t请输入序号:);scanf(%d,&dispnum);switch(dispnum)/*显示子菜单switch开始*/{case1:DispOne(stu,&stunum);break;case2:DispAll(stu,stunum);break;case3:do/*内循环3开始*/{SortMenu();printf(\t\t请输入序号:);scanf(%d,&sortnum);switch(sortnum)/*排序子菜单switch开始*/{case1:AsceSort(stu,stunum);break;case2:DropSort(stu,stunum);break;case0:Quit(0);break;}/*排序子菜单switch结束*/}while(sortnum!=0);/*内循环3结束*/break;case4:NotElig(stu,stunum);break;case0:Quit(0);break;}/*显示子菜单switch结束*/}while(dispnum!=0);/*内循环2结束*/break;case5:do/*内循环4开始*/{CompMenu();/*调用计算子菜单函数*/printf(\t\t请输入序号:);scanf(%d,&compnum);switch(compnum)/*计算子菜单switch开始*/{case1:CompSum(stu,stunum);break;case2:SearchMax(stu,stunum);break;case3:SearchMin(stu,stunum);break;case0:Quit(0);break;}/*计算子菜单switch结束*/}while(compnum!=0);/*内循环4结束*/break;case6:Explain();break;/*程序说明*/case0:Quit(1);break;}/*主菜单的switch结束*/}return0;/*外循环结束*/}voidgotoxy(intx,inty){COORDc;c.X=x-1;c.Y=y-1;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);}voidQuit(intflag)/*退出函数*/{if(flag==1){system(cls);printf(\n\n\n\n\n\n\t\t\t操作结束,退出系统!);getch();system(cls);exit(0);/*退出程序,返回到操作系统库函数*/}elseif(flag==0)/*返回上级菜单*/{system(cls);printf(\n\n\n\n\n\n\t\t\t操作结束,返回上级菜单!);getch();system(cls);}}voidExplain()/*程序说明*/{system(cls);gotoxy(10,3);/*光标定位函数*/printf(这是一个教学程序。它以开发班级学生成绩管理系统为主要项目,);gotoxy(10,5);printf(旨在通过简单学生成绩管理系统软件的开发,使读者了解并掌握用C语);gotoxy(10,7);printf(言开发程序的方法与技巧。);gotoxy(10,9);printf(该项目由15个任务来完成,将C语言基本知识与理论溶入到任务中!);gotoxy(10,11);printf(完成15个任务后就完成整个项目的设计。通过任务驱动和项目导向教学,);gotoxy(10,13);printf(最终实现教学目的,达到培养目标!);gotoxy(10,15);printf(该项目实施贯穿在整个教学过程中,它将重点与难点分散在各个任务);gotoxy(10,17);printf(中,达到循序渐进,逐个突破的目的,教学最后将安排一定的时间归纳汇);gotoxy(10,19);printf(总。);getch();}voidStuCover()/*项目封面函数*/{system(cls);/*执行DOS清屏命令函数*/printf(\n\n\n);printf(\t\t班级学生成绩管理系统\n\n);printf(\t\t版本号:1.0\n\n);printf(\n\n\n);printf(\t\t2011年9月\n\n);printf(\t\t章国华软件工作室\n);}voidMainMenu()/*项目主菜单函数*/{intn;system(cls);printf(\n\n\n);printf(|*****学生成绩管理系统*****|\n);printf(|....................................|\n);printf(|请选择菜单序号(0~6)|\n);printf(|....................................|\n);printf(|1----打开文件|\n);printf(|2----保存文件|\n);printf(|3----编辑数据|\n);printf(|4----显示数据|\n);printf(|5----数据计算|\n);printf(|6----程序说明|\n);printf(|0----退出系统|\n);printf(|....................................|\n);printf(\t\t请选择序号:);scanf(%d,&n);printf(您选择了第%d项!\n,n);}voidDispMenu()/*项目主菜单函数*/{intn;system(cls);printf(\n\n\n);printf(|*******显示子菜单*****|\n);printf(|....................................|\n);printf(|请选择菜单序号(0~4)|\n);printf(|....................................|\n);printf(|1----查看选定记录|\n);printf(|2----显示全部记录|\n);printf(|3----显示排序记录|\n);printf(|4----显示不及格记录|\n);printf(|0----返回上级菜单|\n);printf(|....................................|\n);printf(\t\t请选择序号:);scanf(%d,&n);printf(您选择了第%d项!\n,n);}voidEditMenu()/*项目编辑子菜单函数*/{intn;system(cls);printf(\n\n\n);printf(|*******编辑子菜单******|\n);printf(|....................................|\n);printf(|请选择菜单序号(0~3)|\n);printf(|....................................|\n);printf(|1----增加记录|\n);printf(|2----删除记录|\n);printf(|3----修改记录|\n);printf(|0----返回上级菜单|\n);printf(|....................................|\n);printf(\t\