#include#include#include#include#include#include#defineYES1#defineNO0typedefstruct{intnum;floatmath_score;floatengl_score;floatchin_score;floatphy_score;floatchem_score;doubleaver_score;doublesum_score;charsex;}StudentDate;//学生基本信息typedefstructstudent{charname[20];//学生姓名StudentDateone;//学生其他信息intrank;//成绩排名structstudent*next;}Student,*List;Student*startCheck(void);//开始检查Student*createListHead(void);//创建链表的头voidmenu(void);//主菜单voidsortList(Student*pHead);//排序链表voidreadListWithFile(Student*pHead,char*file_name);//从文件中读取数据,并保存在链表中voidsorttList(Student*pHead);//排序链表intuserChioce(Student*pHead);//用户选择intsortMenu(void);//打印选择菜单voidpasswordCheck(void);//密码检测voidcorrectWord(void);//修改密码voidaddStudentInfo(Student*pHead);//向链表的末尾添加数据intscanMenu(void);//浏览菜单voidfindStudentInfo(Student*pHead);//查找学生信息voiddelStudentInfo(Student*pHead);//删除某一个学生信息voidalterStudentInfo(Student*pHead);//修改学生信息voidsaveList(Student*pHead);//将链表保存在文件里voidprintList(Student*pHead);//打印链表voidstatisStudentInfo(Student*pHead);//查看学生信息intstatisMenu(void);//查看菜单voidgotoxy(intx,inty);//改变光标位置函数voidinputData(Student*pHead,Student*node);//输入信息,并检测是否合法intmain(void){Student*pHead;HANDLEhOut=GetStdHandle(STD_OUTPUT_HANDLE);//得到窗口句柄SMALL_RECTrc={0,0,94-1,30-1};//{Y位置,X位置,宽,高}SetConsoleWindowInfo(hOut,true,&rc);//重置窗口位置和大小system("color5B");//设置控制台颜色pHead=startCheck();//读取信息while(1){if(9==userChioce(pHead))//按9时退出系统{break;}}return0;}voidmenu(void){system("CLS");//清屏printf("\n\n\n\t\t\t\t┌─────────────────┐\n");printf("\t\t\t\t│学生成绩统计系统│\n");printf("\t\t\t\t─────────────────\n");├┤printf("\t\t\t\t│1增加学生记录│\n");printf("\t\t\t\t─────────────────\n");├┤printf("\t\t\t\t│2删除学生记录│\n");printf("\t\t\t\t─────────────────\n");├┤printf("\t\t\t\t│3修改学生记录│\n");printf("\t\t\t\t─────────────────\n");├┤printf("\t\t\t\t│4查找学生信息│\n");printf("\t\t\t\t─────────────────\n");├┤printf("\t\t\t\t│5统计学生成绩│\n");printf("\t\t\t\t─────────────────\n");├┤printf("\t\t\t\t│6查看学生成绩│\n");printf("\t\t\t\t─────────────────\n");├┤printf("\t\t\t\t│7修改登陆密码│\n");printf("\t\t\t\t─────────────────\n");├┤printf("\t\t\t\t│8关于│\n");printf("\t\t\t\t─────────────────\n");├┤printf("\t\t\t\t│9退出系统│\n");printf("\t\t\t\t└─────────────────┘\n");}voidgotoxy(intx,inty)//x为列坐标,y为行坐标{COORDpos={x,y};HANDLEhOut=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(hOut,pos);}Student*startCheck(void){Student*pHead;FILE*fp1;charpassword[20]="123456";inti;if((fp1=fopen("password.dat","rb"))==NULL)//若密码文件不存在,新建密码文件{fp1=fopen("password.dat","wb");fwrite(password,20,1,fp1);fclose(fp1);printf("密码初始化完成!(默认密码为:123456)");passwordCheck();}else{passwordCheck();}//读条system("CLS");system("title学生成绩统计系统-载入中");//将标题栏命名为“学生成绩统计系统”printf("\n\n\t\t\t欢迎进入本系统!正在载入.....");printf("\n\n\n\n\t\t\t...