学生信息管理系统数组呕心沥血整理版.docx
- 文档编号:30585324
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:15
- 大小:17.19KB
学生信息管理系统数组呕心沥血整理版.docx
《学生信息管理系统数组呕心沥血整理版.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统数组呕心沥血整理版.docx(15页珍藏版)》请在冰豆网上搜索。
学生信息管理系统数组呕心沥血整理版
#include h> #include〈stdlib。 h〉 #include〈malloc.h> structDATA { intyear; intmonth; intday; }; structSCORE { intmath; intchinese; intenglish; }; structSTUDENT { charname[20]; charsex[3]; DATAdata; SCOREscore; structSTUDENT*next; }; #defineMEM(structSTUDENT*)malloc(sizeof(structSTUDENT)) voidmsg(); voidmsg_in(); voidmsg_find(); //voidread(); voidmsg_add(); voidmsg_delete(); voidmsg_replace(); voidmsg(); voidfind_by_name(); voidave(); voidnum(); voidpaixu(); voidread() { structSTUDENT*head,*tmp,*p; head=NULL; tmp=NULL; p=NULL; FILE*fp; fp=fopen(”student",”rb”); if(fp==NULL) { printf("打开失败\n"); } else { intn; tmp=MEM; n=fread(tmp,sizeof(structSTUDENT),1,fp); if(n==1) { head=tmp; tmp=tmp—>next; } while(n==1) //while(! feof(fp)) { tmp=MEM; n=fread(tmp,sizeof(structSTUDENT),1,fp); tmp=tmp—>next; } } tmp=MEM; tmp=NULL; tmp=head; printf(”—-—-—-—————-—-——-———————------——-—----—-——-—--—--—--——------\n"); printf(”姓名\t性别\t生日\t\t语文\t数学\t英语\n"); while(tmp! =NULL) { printf("%s\t%s\t%d-%d-%d\t%d\t%d\t%d\n”,tmp—>name,tmp—〉sex,tmp-〉data。 year, tmp->data.month,tmp->data。 day,tmp—>score。 chinese,tmp->score。 math,tmp—>score。 english); tmp=tmp—〉next; } fclose(fp); } intreadall() { structSTUDENT*head; head=MEM; inti=0; FILE*fp; fp=fopen(”student”,"rb"); if(fp==NULL) { printf("打开失败\n"); } else { while(! feof(fp)) { fread(head,sizeof(structSTUDENT),1,fp); head-〉next=MEM; head=head-〉next; i++; } } fclose(fp); return(i-1); } voidmsg_add() { structSTUDENT*tmp; printf("--——---—--—-——————————-————-——-—-—--—---——----—-—————-—————-\n”); tmp=MEM; printf("请输入姓名: ”); scanf(”%s”,&tmp—〉name); printf("请输入性别: ”); scanf(”%s",&tmp—>sex); printf(”请输入生日年份: "); scanf("%d”,&tmp—>data.year); printf(”月: ”); scanf("%d”,&tmp—〉data.month); printf(”日: ”); scanf("%d”,&tmp—〉data.day); printf(”请输入语文分数: ”); scanf("%d”,&tmp-〉score.chinese); printf("请输入数学分数: "); scanf(”%d”,&tmp—〉score。 math); printf("请输入英语分数: ”); scanf(”%d”,&tmp-〉score.english); printf(”显示输入的信息: \n”); printf("—-—--———-—--—-——-——————————-——--———-————---—————-——————-—-——\n”); printf(”姓名\t性别\t生日\t\t语文\t数学\t英语\n”); printf("%s\t%s\t%d—%d-%d\t%d\t%d\t%d\n”,tmp-〉name,tmp—〉sex,tmp—〉data。 year, tmp-〉data.month,tmp—〉data.day,tmp—>score。 chinese,tmp—〉score。 math,tmp—〉score。 english); printf("—-——-—--———--——-—---——————-———--—----—————-——--———-——-———--—\n”); printf(”是否保存文件? 1。 是2.返回上层\n”); printf(”—-—-—-—-————-———--——-———-—--———-——---——-—-——-—————————--————\n"); inte; scanf("%d",&e); if(1==e) { FILE*fp; fp=fopen(”student”,”a+b"); fwrite(tmp,sizeof(structSTUDENT),1,fp); fclose(fp); } elseif(e==2) msg_in(); else exit (1); printf(”\n”); printf(”1.继续添加学生信息2回到上层目录3退出\n"); scanf("%d”,&e); switch(e) { case1: msg_add(); break; case2: msg_in(); break; default: exit (1); } } voidmsg_delete() { } voidmsg_replace() { } voidfind_by_name() { } voidave() { } voidnum() { } voidzf_paixu() { } voidchinese_paixu() { } voidmath_paixu() { } voidenglish_paixu() { } voidpaixu() { printf(”-—-——-—----—-———-—-———————————-——-—--——-—————————--————---——\n"); printf(”1。 按总分排序\n2。 按语文分数排序\n3。 按数学分数排序\n4.按英语分数排序\n5。 返回上层\n”); inta; printf(”—-——--———-——-———-—————————-————-——--———--——--——--—-——-----——\n”); printf(”请输入您的操作: \n”); printf(”—-———-———————-———-----—————-——————--———-———-—————----——-————\n”); scanf(”%d”,&a); switch(a) { case1: zf_paixu(); break; case2: chinese_paixu(); break; case3: math_paixu(); break; case4: english_paixu(); break; case5: msg_find(); break; default: exit (1); } } voidmsg() { printf(”*********主菜单*********”); printf(”\n”); printf(”请选择操作: 1。 数据录入2.数据查询3查看信息4。 退出系统\n”); printf(”-—-—-—-——--——-—————-——————-----———---—---———---———--———-——-—\n”); intb; printf(”请选择您的操作: \n”); scanf(”%d”,&b); switch(b) { case1: msg_in(); break; case2: msg_find(); break; case3: read(); break; default: exit (1); } } voidmsg_in() { printf("**********数据录入*********"); printf(”\n”); printf(”-——--—-—--——--———————--—---——-———-———-—————-—--——--—-—-———--\n"); printf(”1。 新增2.删除3。 修改4。 返回主菜单\n"); printf(”-——-—-————--——————-——-———-—-—---—-—-—-—————-—--——-—--—————-—\n”); intc; printf(”请选择您的操作: \n"); printf(”—————-————-—-————-----——-——————————————---———---—-—-—--——-——\n"); scanf(”%d”,&c); switch(c) { case1: msg_add(); break; case2: msg_delete(); break; case3: msg_replace(); break; case4: msg(); break; default: exit (1); } } voidmsg_find() { printf(”**********数据查询**********\n"); printf("\n”); printf("————————---—----—---———--—-———————————--—-———-——--————---—-—\n"); printf(”1。 分数从高到低排序\n”); printf("2.按姓名查询\n"); printf("3。 全班的平均分\n"); printf(”4.分数段人数\n"); printf(”5。 返回主菜单\n"); printf(”—--——---—-—-——-—---——---——————————-——-——-—-—-——-—--—-—————-—\n”); printf("\n"); intd; printf("请选择您的操作: \n”); printf(”———-——-—-—--———--————--————————-—--—-——-———————-——————-—---—\n"); scanf("%d”,&d); switch(d) { case1: paixu(); break; case2: find_by_name(); break; case3: ave(); break; case4: num(); break; case5: msg(); default: exit (1); } } voidmain() { printf(”%d”,readall()); printf(”#####欢迎进入学生信息管理系统#####\n"); printf(”\n"); printf(”****1.进入主菜单****2.退出系统****\n”); inta; printf(”请选择您的操作: \n”); scanf(”%d”,&a); if(a==1) msg(); else exit (1); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 数组 呕心沥血 整理