版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安邺雷孥院
西安邺雷孥院C语言课程设计报告书(xianyoudiandaxue)系部名称电子信息与工程系学生姓名张倩专业名称电子信息工程一班级电子0701班学号05071013指导教师 街霞2008年06月09日至时间2008年06月20日实验题目 学生信息管理系统一、 实验目的:(1) 本课程设计为学生提供了一个既动手又动脑,自学,查资料,独立实践的机会。将本学期课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实际、实践编程的能力,使对C语言系统编程有一个大致的了解。(2) C语言的实践。掌握C语言函数的定义方法,函数的声明及函数的调用过程。掌握结构体类型变量的定义和使用,综合应用C语言的知识,实现一个完整的系统,提高编程能力,体会软件程序的开发过程。二、 实验内容:(1) 运用结构体数组编辑一个简单的学生管理系统,使之能够完成学生信息的创建、添加,查询、修改,删除、统计、排序等操作,并对文件进行保存和读取。(2) 执行编译操作,并根据提示调试此程序,排除所有的错误和警告。直到编译成功为止。(3) 执行运行操作,逐一对每个模块进行调试。直到全部程序运行成功为止。(4) 请老师检查,向老师演练此程序,并能回答老师提出的相关问题。三、 需求分析:(1) 根据学生信息管理的需要,建立一个“学生信息管理系统”系统具有输入、输出、查询、修改、删除、统计、排序等基本功能;以方便对信息的管理操作。每一条记录包括一个学生的学号、姓名、成绩、性别,年龄,出生年月日,家庭住址.系统的各个功能模块都用函数的形式来实现;可以将学生成绩信息保存在文件中,并从文件中读取出来。有一个清晰美观界面来调用各个功能。本程序是由C语言的基本单位一函数来设计实现与其功能的多次使用函数调用以及函数的嵌套调用。本程序分为7个模块,分别为创建学生资料;添加学生的资料;查询学生的成绩;修改学生的资料;删除学生的资料;统计学生的成绩;对学生的资料进行排序。本程序可以处理多个学生的成绩的输入、添加、修改、排序等问题。本程序的使用特别方便,每做完一个模块,下面都有提示信息。使用环境为Tc。(2) 创建该学生成绩管理系统目的就是能够对学生基本信息进行创建、追加、查询、修改、删除、统计、排序等功能,这样可以简化许多人工做起来很复杂的问题。譬如:“排序”,有了此程序只需将信息输入,计算机就可自动执行,省时、省力。另外,它还可以重复使用,方便、快捷。(3) 该学生基本信息管理系统是在WIN-TC中文简体环境下运行。该系统要测试的数据如下:输入模块:(输入5个学生的信息)
序号姓名学号成绩年龄性别家庭住址出生年月日01MaryA10019818femaleshandong1988-5-602LindaA10028618fameladalian1988-12-2303TomA10249519malenanshang1988-9-804JimA10258019malebeishang1988-5-2305SusanA10477818femalexishan1988-8-9添加模块:(再加1个信息)06KingA10485619malenanjing1989-9-23查询模块:(查询Jim的基本信息)A1024(按学号即可查询)或Jim(按姓名也可查询)修改模块:(修改Linda的信息)(输入)1(修改名字)(输入)2(修改学号)(输入)3(修改成绩)(输入)4(修改性别)(输入)5(修改年龄)(输入)6(修改家庭住址)(输入)7(修改出生年月日)删除模块:(删除King的基本信息)学号即可删除)统计模块:可统计男女人数,统计各分数段人数。排序模块:按成绩,学号,分别进行排序。四、概要设计(1)主函数结构图:(2)模块功能详细说明:入、输入模块:此模块可以连续输入30个学生的资料,若学生数少于30,则可以在输入序号处输入0便可退出此模块,并把输入的信息保存到c:\\students文件中。B、输出模块:此模块中先打开c:\\students文件中的学生信息,后输出要学生信息."更新模块:此模块包括添加,修改,删除模块.修改模块:此模块中可以修改学生的任何一个信息。修改完毕后输入尸可以继续修改,输入口则退出此模块。删除模块:此模块中用到的删除原理为覆盖要删除的学生的资料。过程简述,先输入要删除的学生的学号,系统找到此学生的信息后给它复制下一个学生的信息,给下一个学生的纪录复制下下一个学生的信息,一直到最后一个学生的信息复制给倒数第二个学生的信息为止。然后文件中的学生总数减一含了三个小模块.添加模块:此模块中先打开c:\\students统计文件中的学生,后输入要添加的学生的学号,系统确认此学号在c:\\students不存在时开始纪录新学生的资料,便清楚使用者。D.查询模块:此模块中使用者可以用三种方式查询学生成绩。分别为(1)按学号查询(2)按姓名查询。在这里以按学号查询为列:先选择按学号查询,输入要查询的学生的学号,系统确认此学号在c:\\stud存在后读取信息并在屏幕上输出学生纪录。F、 排序模块:此模块用的为指针。在此模块中可以按两种方法进行排序,分别为(1)按成绩排序(2)按学号排序(3)按序号排序输出时分别以从大到小和从小到大从小到大的循序进行输出。G、 此模块较简单,统计文件c:\\students中的男和女的学生个数和各成绩段的人数。五、详细设计及运行结果(1)各个模块的程序流程图添加模块:删除模块:排序模块:
(2)函数之间相互调用的图示:(3)主要函数之间相互调用如下:主函数的调用:main(){intchoice;sum=read_message();bioskey(0);printf("pressanykeytocontinue:\n");getch();do{**************studentmanagesystemsystem("cls");**************studentmanagesystemprintf("\n\n\n**************\n\n");l.inputmessage\n\n");2.outputmessage\n\n");l.inputmessage\n\n");2.outputmessage\n\n");3.renewmessage\n\n");4.inquiremessage\n\n");5.sortmessage\n\n");printf("printf("printf("printf("printf(" 6.countmessage\n\n");printf(" 0.exitthesystem\n\n");printf(" pleaseselectthechoice");scanf("%d",&choice);switch(choice){case1:input_message();break;case2:output_message();break;case3:renew_message();break;case4:inquire_message();break;case5:sort_message();break;case6:count_message();break;case0:break;}}while(choice!=0);save_message(sum);printf("\n-messagehassaved!-(filename:students.txt)\n");删除函数的调用delete_message()(chardelete_number[10];inti;system("cls");printf("pleaseinputthenumberyouwanttodelete:");scanf("%s”,delete_number);for(i=0;i<sum;i++){if(strcmp(stud[i].number,delete_number)==0){for(;i<sum;i++)stud[i]=stud[i+1];sum=sum-1;printf("themessagehasbeendeleted!");}elseprintf("thestudentisnotexist!");}}
添加函数的调用insert_message(){inti=sum,j,flag=0;charchoice;system("cls");printf("\n\n addanewstudent\n");printf(" \n");do{stud[i].num=++sum;printf("\n thenewstudent'snum:%d",stud[i].num);printf("\n thenewstudent'sname:");scanf("%s",stud[i].name);printf("\n thenewstudent'snumber:");scanf("%s",stud[i].number);printf("\n thenewstudent'sscore:");scanf("%d",&stud[i].score);printf("\n thenewstudent'sage:");scanf("%d",&stud[i].age);printf("\n thenewstudent'ssex:");scanf("%s",stud[i].sex);printf("\n thenewstudent'saddress:");scanf("%s",stud[i].address);printf("\n thenewstudent'sbirthday:");scanf("%d %d %d",&stud[i].birthday.year,&stud[i].birthday.month,&stud[i].birthday.(ay);printf("\nDoyouwanttocontinue?(Y/N)");choice=getch();if(choice=='y'||choice=='Y'){printf("\ncontinue!\n");i++;flag=1;}elseflag=0;六、调试情况,设计技巧及体会(1)、调试中的问题:刚开始没有那个初始化函数,程序运行后没有输入任何数据就试得去执行显示功能,结果output_message显示的是一些乱码!加入初始化函数后,这种现象也随之消失。在输入函数中设了最大值,可以输入30个学生的成绩信息,当输入数字‘0’时停止,并保存信息。在没有输入任何信息的情况下,不能执行查询、修改、删除、统计、排序功能。有时候,忘记定义就直接调用,使得出错。定义的成绩是浮点型的,但输入数据的时候却忘记输成整型,导致输入和输出均错误。最后,将定义的成绩改为整型才正确。我这时候才真正体会到了一致性的重要。检查程序很多遍但却始终不知道输入的数据有错,很令人头疼。(2)对自己程序的总结与评价:本程序是由C语言的基本单位一函数来设计实现与其功能的多次使用函数调用以及函数的嵌套调用。本程序分为7个模块,分别为(1)输入学生资料。(2)输出学生的资料(3)更新学生的成绩(4)查询学生的资料(5)排序学生的资料(6)统计学生的成绩(7)退出信息管理系统。本程序可以处理多个学生的信息的输入、添加、修改、排序等问题。本程序的使用特别方便,每做完一个模块,下面都有提示信息。使用环境为Tc。此程序的不足之处在学生基本信息方面还不够完善,另一方面就是在运行此程序时,需要执行操作的提示语不够具体和完善.改进方法:可以在学生基本信息的结构体中添加更多的学生信息,像是多输入几门课的成绩,删除的时候,应多加一个按照序号删除,查询时也应加入一个按照序号查询,使得学生信息更加完善,应用的时候更加的方便,快捷。此外,还可以在编程时加一些必要的提示语,用printf("”);语句直接可输入.(3)、在设计过程中的感受:首先经过两周的编程实习,并在后一段的报告总结,我对C语言这门科有新的认识,本人实在是获益不浅!要想编写一个准确、高效并有使用价值的程序,一定先要对课本知识熟悉,还要掌握必要的上机操作能力,写程序其实很容易而关键在于调试程序。这次设计,让我重新掌握了C语言,而且还得到了用C语言解决实际问题的宝贵经验。其次,通过此次编程我也发现了自己在学习中的错误和不足,复习了以前学过的知识。同时也学到了一些没学过的知识,让我从中收益非浅,也为期末考试准备了一下!更重要的是培养了独立思考问题和解决问题的能力,熟悉了一些基本操作和解决问题的方法!再则,因为初次接触等原因此次设计遇到了许多问题,我深刻体会到老师发挥的重要作用,C语言程序对我们来说比较难,在匆忙的学习中更是难上加难,似乎觉得自己仅是个匆匆过客,但在老师的帮助下我学会了如何调试,如何查找系统没有提示的错误,最后终于排除万难把程序搞定,体会到原来编程也挺有意思的快感.我想没有老师的帮助我很难在短期内把程序设计做的这样好,在此特地感谢老师的帮助。(4)测试数据:输入模块:序号:01姓名:mary学号:a1005成绩:89年龄:19性别:女家庭住址fangdong:出生年月曰:1988-9-16序号:02姓名:jim学号:a1021成绩:76年龄:18性别:男家庭住址linhe:出生年月曰:1989-6-12序号:03姓名:ham学号:a1012成绩:68年龄:18性别:男家庭住址kongtou:出生年月日:1989-1-23输出模块:序号姓名学号成绩年龄性别家庭住址出生年月日01marya10058919女fangdong1988-9-1602jima10217618男Linhe1989-6-1203hama10126818男kongtou1989-1-23添加模块:序号:04姓名:susan学号:a1025成绩:78年龄:18性别:女家庭住址kongtou:
出生年月日:1989-6-30输出:序号姓名学号成绩年龄性别家庭住址出生年月日01marya10058919女fangdong1988-9-1602jima10217618男Linhe1989-6-1203hama10126818男kongtou1989-1-2304susana10257818女kongtou1989-6-30删除模块:输入要删除的学号:a1025输出:序号姓名学号成绩年龄性别家庭住址出生年月日01Marya10058919女fangdong1988-9-1602Jima10217618男Linhe1989-6-1203Hama10126818男kongtou1989-1-23修改模块:输入要修改的学号:a1021你想修改哪一项?姓名学号成绩年龄性别家庭住址出生年月日:请选择(广7)3成绩:98序号姓名学号成绩年龄性别家庭住址出生年月日02Jima10219818男linhe1989-6-12查询模块:按学号查询:输入你要查询的学号:a1021序号姓名学号成绩年龄性别家庭住址出生年月日02Jima10219818男linhe1989-6-12按姓名查询:输入你要查找的姓名:jim序号姓名学号成绩年龄性别家庭住址出生年月日02Jima10219818男linhe1989-6-12统计模块:统计男女人数:男的:2女的:2统计成功!按任意键返回!统计各分数段人数:90分以上:080分以上:170分以上:260分以上:360分以下:无统计成功!按任意键返回!排序模块:按学号:序号姓名学号成绩年龄性别家庭住址出生年月日01Marya10058919女fangdong1988-9-1603Hama10126818男kongtou1989-1-2302jima10217618男linhe1989-6-122.按成绩:序号姓名学号成绩年龄性别家庭住址出生年月日01Marya10058919女fangdong1988-9-1602Jima10217618男Linhe1989-6-1203Hama10126818男kongtou1989-1-233.按序号:序号姓名学号成绩年龄性别家庭住址出生年月日01Marya10058919女fangdong1988-9-1602Jima10217618男Linhe1989-6-1203Hama10126818男kongtou1989-1-23程序运行:主 函NNNNKNNNNKNNNNStlldentFianagCSystemNNNKNNNNKNNNNN1.inputmessage2.outputmessagerenewmessage4.inquiremessagesortmessagecountmessageO.exitthesystempleaseselectthechoice1.输入模块:enterthestudents1messages<notmorethan30>the1thstudentstudentfsnun:lstudentfsname:marystudent1snumber:al008student1sscore:78student1sage:18studentfssex:fenalestudentfsaddress:111student1sbirthday:1988-5-6the2thstudentstudent1snum:2studentfsname:jinstudentfsnumber:al028student1sscore:89student1sage:19studentfssex:nalestudentfsaddress:fffstudent1sbirthday:1989-5-23the3thstudent
student1snum:0——2studentsmessagehauebeeninput?——pressan</keyreturntomenu?输出模块: studentmessagelist the1thpageum—name—number—score—age—sex—address—birtlidaij<year-month-day>,mary,al008,78,18,female,111,1988-5-6,jin,al028,89,19,male,ff£,1989-5-23ressanpkeytomenuf3 ^ 更新模块MMJO<J<XMMXJO<MMXMXJOfnEWtllEStudentllEWWHgEMMMXMMMJOCMXMMXM1.insertmessagedeletemessagereuisemessage0.returntomenupleaseselectyourchoice:.插入模块:addaneustudenttheneustudent1sinun:3theneustudent1sinane:dauidtheneustudent1sinunber:alO58theneustudent1j>score:89theneustudent1jiage:18theneustudent1j>sex:maletheneustudent1j>address:ssssstheneustudent1j;birthday:1989-6-20Doyou.uanttocontinue?<¥/N>pressanykeytomenu, studentmessagelist the1thpagenum一一name—number—score一一age一一sex—address一一birthd己y<year-nonth-day>mari/,al008,78,18,female,111,1988-5-6jim,al028,89,19,nale,fff,1989-5-233J.dauidJ.al058,89,18,maleJ.sssssJ.1989—6—20pressan^Fkeytomenuf.删除模块pleaseinputthenumberyouuanttodelete:al028 studentmessagelist the1thpagenum—name—number—score—age—sex—address—birthdav《year-month-day>nariF,al008,78,18,fenale,111,1988-5-6dauid,al058,89,18,male,sssss,1989——6——20pressmnykeytomenu!.修改模块:inputthestudent1snumberijouuanttoreuise:al008——studentsmessage——num——name——number——score——age——sex——address——birtlida^r<year-month-day>1,al008,78,18,female,111,1988-5-6whichonedoyouwanttoreuise?namenumberscoresex5.ageaddressbirthdaypleaseselectyourchoice:3peuisedscore:98num一一name一一number一一score一一age一一sex一一address一一birthda<year-nonth-day>1,al008,98,18,female,111,1988-5-6Doi/ouuanttocontinuetoreuise?<¥/N>pressanykeyreturntonenuf studentmessagelist the1thpagenurn——name——number——score——age——sex——address——birth曲y<year-nontli-day>1,mari/,al008,98,18,female,111,1988-5-6dauid,al058,89,18,male,sssss,1989—6—20pressan</keytomenu!查询模块:1)按学号查询:inputrequirednLimber:al008——studentsmessage——num一一name一一number一一score一一age一一sex一一address一一bii't}iday<yeai'-iiont}i-day>l,mary,al008,98,18,female,111,1988-5-62)按姓名查询:inputtheinquiredname:dauid——studentsmessage——num一一name一一number一一score一一age一一sex一一address一一birthdavyear-month-day>3J.dauidJ.al058J.89,18J.male,sssss,1989—6—20排序模块:MUOOCMJOOCMJOOCMMJCwtudEnt:SOFtIDEWW丑如><><>*JOCKXMJOCKMMMsortnumbersortscoresortnunB.retiiFntomenupleaseselectyourchoice:1)按学号排序:sortnumbersortnunnamenumberscoreagesexaddressbirthdaiF1nwyal0089818fenale1111988562dauida!0588918malesssss19896202)按成绩排序:sortscoresortnumnamenumberscoreagesexaddressbirthday1marual0089818female1111988562dauidal0588918malesssss19896203)按序号排序:sortnumsortnumnamenumberscoreagesexaddressbirthdaymaryal0089818female111198856dauidal0588918malesssss19896206.统计模块:
MMMMlOOOCMMMMMMMMMMMcDUnttheStudents^IDESS己卵***MMMMMMMMMMX1_countsex2.countscore0.returntomenupleaseselectyourchoice:1)统计男女:themale:1thefemale:lcountsuccessfully.pressanvkeytomenu2)统计成绩:themorethanstudents:1themorethan80themorethan70themorethemorethanstudents:1themorethan80themorethan70themorethan60passedstudents:passedstudents:0countsuccessfully,pressanvkeytomenu?7.退出模块七、源程序清单:#include<stdio.h>#include<string・h>#defineMAX30#definePAGE5#define PRINT1printf(" -\n")#define PRINT2printf("num--name--number--score--age--sex--address--birthday(year-month-day)\n")#define PRINT3printf("%d,%s,%s,%d,%d,%s,%s,%d-%d-%d\n〃,stud[i].num,stud[i].name,stud[i].number,stud[i].score,stud[i].age,stud[i].sex,stud[i].address,stud[i]・birthday・year,stud[i]・birthday.month,stud[i].birthday・day)intsum;structDATE{intyear;intint};struct{intmonth;day;studnum;charname[21];charnumber[10];intscore;intage;charsex[11];charaddress[27];structDATEbirthday;}stud[MAX];save_message(intsum){FILE*fp;inti;if((fp=fopen("students.txt","wb"))==NULL){printf("readfilewrong!\n");return;}for(i=0;i<sum;i++)if(fwrite(&stud[i],sizeof(structstud),1,fp)!=1)printf("writefilewrong!\n");fclose(fp);}input_message(){inti=0,s=MAX;system("cls");enterthestudents'messages(notmoreprintf("\n\nenterthestudents'messages(notmorethan%d)\n",s);printf("\n");do\n");do{printf("\nthe%dthstudent”,i+1);printf("\nstudent'snum:");scanf("%d",&stud[i].num);if(stud[i].num―0)break;printf("\nstudent'sname:");scanf("%s",stud[i].name);printf("\nstudent'snumber:");scanf("%s”,stud[i].number);printf("\nscanf("%d”,&stud[i].score);printf("\nscanf("%d",&stud[i].age);printf("\nscanf("%s",stud[i].sex);printf("\nscanf("%s",stud[i].address);printf("\nstudent'sscore:");student'sage:");student's 5、sex:);student'saddress:");student'sbirthday:");stud),1,fp)inti=0,j=0,page=1;system("cls");printf("\n\n--printf("\n\nstud),1,fp)inti=0,j=0,page=1;system("cls");printf("\n\n--printf("\n\nstudentmessagelistthe%dthscanf("%d-%d-%d",&stud[i]・birthday.year,&stud[i].birthday,month,&stud[i].birthday.day);i++;}while(i<MAX);printf("\n --%dstudentsmessagehavebeeninput!--\n",i);sum=i;printf("\npressanykeyreturntomenu!");bioskey(0);intread_message(){FILE*fp;inti=0;if((fp=fopen("students.txt","rb"))==NULL){printf("\n\n**thereisnomessage,pressanykeytomenuandinputmessage!*****\n");return;while(feof(fp)!=1)fread(&stud[i],sizeof(structstud),1,fp);if(stud[i].num==0)break;elsei++;fclose(fp);return;output_message()page\n\n",page);PRINT2;PRINT1;do{if(stud[i].num!=0){j++;if(j%PAGE!=0){PRINT3;PRINT1;}else{PRINT3;PRINT1;if(stud[i+1].num!=0){printf("pressanykeytocontinue!");bioskey(0);system("cls");printf("\n\n studentsmessagelistthe%dthpages\n\n",++page);PRINT2;PRINT1;}}}i++;}while(stud[i].num!=0);printf("pressanykeytomenu!");bioskey(0);}insert_message(){inti=sum,j,flag=0;charchoice;system("cls");printf("\n\naddanewstudent\n");printf(" \n");do{stud[i].num=++sum;printf("\n thenewstudent'snum:%d",stud[i].num);printf("\n thenewstudent'sname:");scanf("%s”,stud[i].name);printf("\n thenewstudent'snumber:");scanf("%s”,stud[i].number);printf("\n thenewstudent'sscore:");scanf("%d",&stud[i].score);printf("\n thenewstudent'sage:");scanf("%d",&stud[i].age);printf("\n thenewstudent'ssex:");scanf("%s",stud[i].sex);printf("\n thenewstudent'saddress:");scanf("%s",stud[i].address);printf("\n thenewstudent'sbirthday:");scanf("%d %d %d",&stud[i]・birthday,year,&stud[i]・birthday,month,&stud[i]・birthday.day);printf("\nDoyouwanttocontinue?(Y/N)");choice=getch();if(choice=='y'||choice=='Y'){printf("\ncontinue!\n");i++;flag=1;}elseflag=0;}while(flag==1);printf("\n pressanykeytomenu!");bioskey(0);}delete_message(){chardelete_number[10];inti;system("cls");printf("pleaseinputthenumberyouwanttodelete:");scanf("%s",delete_number);for(i=0;i<sum;i++){if(strcmp(stud[i].number,delete_number)==0){for(;i<sum;i++)stud[i]=stud[i+1];sum=sum-1;printf("themessagehasbeendeleted!");}elseprintf("thestudentisnotexist!");}}revise_message(){inti=0;intchoice,flag;charrevise_number[10];do{system("cls");printf("\n inputthestudent'snumberyouwanttorevise:");scanf("%s",revise_number);for(i=0;i<sum;i++)if(strcmp(stud[i].number,revise_number)==0){printf("\n --studentsmessage--\n");PRINT1;PRINT2;PRINT3;printf("\nwhichonedoyouwanttorevise?\n");printf("\n 1.name\n");printf("\n 2.number\n");printf("\n 3.score\n");printf("\n 4.sex\n");printf("\n 5.age\n");printf("\n 6.address\n");printf("\n 7.birthday\n");printf("\n pleaseselectyourchoice:");scanf("%d",&choice);switch(choice){case1:printf("\n revisedname:");scanf("%s",stud[i].name);break;case2:printf("\n revisednumber:");scanf("%s",stud[i].number);break;case3:printf("\n revisedscore:");scanf("%d",&stud[i].score);break;case4:printf("\n revisedage:");scanf("%d",&stud[i].age);break;case5:printf("\n revisedsex:");scanf("%s",stud[i].sex);break;case6:printf("\n revisedaddress:");scanf("%s",stud[i].address);break;case7:printf("\n revisedbirthday:");scanf("%d%d%d”,&stud[i].birthday.year,&stud[i].birthday.month,&stud[i].birthday.day);}PRINT1;PRINT2;PRINT3;break;}if(i==sum){printf("\n thestudentisnotexist!");bioskey(0);}printf("\n\nDoyouwanttocontinuetorevise?(Y/N)");choice=getch();if(choice==,Y,||choice==,y,){flag=1;printf("\ncontinue!\n");}elseflag=0;}while(flag==1);printf("\npressanykeyreturntomenu!");bioskey(0);}renew_message(){intchoice;do{system("cls");printf("\n\n\n ******************renewthestudentmessage***************\n\n");printf(" 1.insert message\n\n");printf(" 2.delete message\n\n");printf(" 3.revise message\n\n");printf(" 0.return tomenu\n\n");printf(" pleaseselectyourchoice:");scanf("%d",&choice);switch(choice){case1:insert_message();break;case2:delete_message();break;case3:revise_message();break;case0:break;}}while(choice!=0);}inquire_number(){inti,choice,j=0;charinquire_number[10];system("cls");printf("\ninputrequirednumber:");scanf("%s”,inquire_number);for(i=0;i<sum;i++)if(strcmp(stud[i].number,inquire_number)==0){printf("\n --studentsmessage--\n");PRINT1;PRINT2;PRINT3;}elsej++;if(j==sum)printf("\nthestudentnotexist!");bioskey(0);}inquire_name(){inti,choice,j=0;charinquire_name[10];system("cls");printf("\ninputtheinquiredname:");scanf("%s",inquire_name);for(i=0;i<sum;i++)if(strcmp(stud[i].name,inquire_name)==0&&stud[i].num!=0){printf("\n --studentsmessage--\n");PRINT1;PRINT2;PRINT3;}elsej++;if(j==sum)printf("\nthestudentnotexist!");bioskey(0);}inquire_message(){intchoice;do{system("cls");printf("\n\n\n **************inquirethestudents'message****************\n\n");printf(" 1.inquirenumber\n\n");printf(" 2.inquirename\n\n");printf(" 0.returntomenu\n\n");printf(" pleaseselectyourchoice:");scanf("%d”,&choice);switch(choice){case1:inquire_number();break;case2:inquire_name();break;case0:break;}}while(choice!=0);}count_sex(){structstud*p,*q[MAX];intm_num=0,f_num=0,i;system("cls");p=stud;for(i=0;i<sum;i++)q[i]=p++;for(i=0;i<sum;i++){if(strcmp(q[i]->sex,"male")==0||strcmp(q[i]->sex,"MALE")==0)m_num++;elsef_num++;}printf("\nthemale:%d",m_num);printf("\nthefemale:%d",f_num);printf("countsuccessfully.pressanykeytomenu\n");bioskey(0);}count_score(){structstud*p,*q[MAX];inta=0,b=0,c=0,d=0,e=0;inti;system("cls");p=stud;for(i=0;i<sum;i++)q[i]=p++;for(i=0;i<sum;i++)TOC\o"1-5"\h\z{if(q[i]->score>=90) a++;if(q[i]->score>=80) b++;if(q[i]->score>=70) c++;if(q[i]->score>=60) d++;else e++;}printf("\nthemorethan90students:%d\n”,a);printf("\nthemorethan80students:%d\n”,b);printf("\nthemorethan70students:%d\n”,c);printf("\nthemorethan60students:%d\n",d);printf("\nnotpassedstudents:%d\n”,e);printf("countsuccessfully.pressanykeytomenu!");bioskey(0);}count_message(){intchoice;do{system("cls");printf("\n\n\n *******************countthestudents'message**************\n\n");printf(" 1.countsex\n\n");printf(" 2.countscore\n\n");printf(" 0.returntomenu\n\n");printf(" pleaseselectyourchoice:");scanf("%d",&choice);switch(choice){case1:count_sex();break;case2:count_score();break;case0:break;}}while(choice!=0);}sort_number(){structstud*p,*q[MAX];inti,j,k;system("cls");sortnumber\n");printf("\nsortnumber\n");printf(" \n");printf("\nsortnumnamenumberscoreagesexaddressbirthday\n");p=stud;for(i=0;i<sum;i++)q[i]=p++;for(i=0;i<sum;i++){k=i;for(j=i+1;j<sum;j++)if(strcmp(q[k]->number,q[j]->number)>0)k=j;if(k!=i){p=q[i];q[i]=q[k];q[k]=p;}}for(i=0;i<sum;i++)printf("\n%d%d%s%s%d%d%s%s%d%d%d\n",i+1,q[i]->num,q[i]->name,q[i]->number,q[i]->score,q[i]->age,q[i]->sex,q[i]->address,q[i]->birthday.year,q[i]->birthday.month,q[i]->birthday.day);bioskey(0);}sort_score(){structstud*p,*q[MAX];inti,j,k;system("cls");printf("\n sortscore\n");printf(" ——\n");printf("\nsortnumn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商务合同范本-工程合同模板
- 品牌策划合作协议-合同范本
- 合伙协议书范文
- 2024房屋租赁居间合同
- 2024运输合同物流运输合同纠纷案例
- 2024设立有限责公司出资协议模板
- 2024年冷库转让协议合同书
- 深圳发展银行委托贷款操作流程
- 2024年学校食堂用工合同协议书样本
- 北京借款合同的范本2024年
- 2024年秋新人教版七年级上册数学教学课件 第三章 代数式 数学活动
- 2024小学道德与法治新教材培训:教材逻辑分析与教学要点梳理
- 百果园品牌特许经营合同范本(2024年版)
- 中国古代刑罚
- 广东省佛山市2023届普通高中教学质量检测(二)化学试题
- 奇安信1+X考试附有答案
- CJ/T 109-2007 潜水搅拌机 标准
- 2024-2030年中国安胎药市场运营态势及未来销售规模建议研究报告
- GB/T 44158-2024信息技术云计算面向云原生的应用支撑平台功能要求
- 南京市育英外国语学校2022-2023八年级上学期数学期初试卷及答案
- 教育培训挂靠合作协议
评论
0/150
提交评论