亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c語言成績管理系統中學號排序的問題

c語言成績管理系統中學號排序的問題

C
寒月映雪 2017-11-16 11:06:32
//為什么我輸入1再輸入3,輸入1?1?1回車3?3?3回車2?2?2后輸入5輸入1之后并沒有進行按照學號升序排列? #include?<stdio.h> #include?<stdlib.h> #include?<string.h> #include?<conio.h> int?main_menu();????????????//主界面 int?menu_5();???????????????//輸入'5'時的界面 void?overview();????????????//實現全覽功能的函數 void?ID_select();???????????//按學號順序 int?menu_6();???????????????//輸入'6'時的界面 void?statistics();??????????//實現統計功能的函數 void?add();?????????????????//學生成績新增 void?mark_statistics();?????//成績分布統計 //定義學生結構體 struct?Student { ????char?ID[20]; ????char?Name[20]; ????int?Mark; }; //聲明學生數組及學生數量 struct?Student?students[1000]; int?num=0; int?main() { ????char?ch; ????while(1) ????{ ????????switch(main_menu())??????????//獲取main_menu()函數輸入的數據 ????????{ ????????????case?1: ????????????????system("CLS"); ????????????????add(); ????????????????break; ????????????case?2: ????????????????system("CLS"); ????????????????printf("\n查詢學生成績信息功能待完成!\n"); ????????????????//以后版本插入函數??check() ????????????????break; ????????????case?3: ????????????????system("CLS"); ????????????????printf("\n修改學生成績信息功能待完成!\n"); ????????????????//以后版本插入函數??revise() ????????????????break; ????????????case?4: ????????????????system("CLS"); ????????????????printf("\n刪除學生成績信息功能待完成!\n"); ????????????????//以后版本修改函數??deleted() ????????????????break; ????????????case?5: ????????????????//system("CLS"); ????????????????overview(); ????????????????break; ????????????case?6: ????????????????system("CLS"); ????????????????statistics(); ????????????????break; ????????????case?0: ????????????????system("CLS"); ????????????????printf("\n確認退出系統?(Y/N)?"); ????????????????scanf("?%c",&ch); ????????????????if?(ch?==?'Y'||ch?==?'y') ????????????????{ ????????????????????return?0; ????????????????} ????????????????else?if?(ch?==?'N'||ch?==?'n') ????????????????{ ????????????????????return?main(); ????????????????} ????????} ????} ????return?0; } //主界面函數 int?main_menu() { ????char?ch; ????do ????{ ????printf("-----?學生成績管理系統?V2.0?-----\n"); ????printf("\t1.?學生成績新增\n"); ????printf("\t2.?學生成績查詢\n"); ????printf("\t3.?學生成績修改\n"); ????printf("\t4.?學生成績刪除\n"); ????printf("\t5.?班級成績全覽\n"); ????printf("\t6.?班級成績統計\n"); ????printf("\t0.?退出\n"); ????printf("輸入?:?\n"); ????ch?=?getch(); ????if(ch?<?'0'||ch?>?'7')??????????//判斷輸入錯誤 ????{ ????????printf("\n?error!\n"); ????????return?(ch?-?48); ????} ????}while(ch?<?'0'||ch?>?'7'); ????return?(ch?-?48); } //學生成績新增 void?add() { ????int?i; ????system("CLS"); ????printf("請輸入班級人數:?"); ????scanf("%d",&num); ????printf("請輸入每個學生學號、姓名及成績\n"); ????for(i?=?0;i?<?num;i++) ????{ ????????scanf("%s%s%d",students[i].ID,students[i].Name,&students[i].Mark); ????} ????printf("成績錄入已完成!\n"); } //輸入'5'時的界面 int?menu_5() { ????char?ch; ????do{ ????printf("\t1---按學號順序瀏覽\n"); ????printf("\t2---按成績排名瀏覽\n"); ????printf("\t0---返回上一級\n"); ????printf("輸入?:?\n"); ????ch?=?getch(); ????}while(ch?<?'0'||ch?>?'2'); ????return?(ch?-?48); } //實現全覽功能的函數 void?overview() { ????system("CLS"); ????char?ch?=?0; ????do{ ????????switch(menu_5()) ????????{ ????????case?0: ????????????system("CLS"); ????????????return; ????????case?1: ????????????printf("按學號順序成績列表如下:\n"); ????????????ID_select(); ????????????break; ????????case?2: ????????????system("CLS"); ????????????printf("按成績順序瀏覽成績功能待完成!\n"); ????????????break; ????????} ???????}while(ch?<?'0'||ch?>?'2'); ???????return; } //按學號順序 void?ID_select() { ????int?i,j; ????struct?Student?t;???????????//中間變量t ????for(i?=?0;i?<?num;i++) ????{ ????????for(j?=?0;j?<?num-1;j++) ????????{ ????????????if?(students[j-1].ID>students[j].ID) ????????????{ ????????????????t?=?students[j-1]; ????????????????students[j-1]?=?students[j]; ????????????????students[j]?=?t; ????????????} ????????} ????????printf("%s?%s?%d\n",students[i].ID,students[i].Name,students[i].Mark); ????} } //輸入'6'時的界面 int?menu_6() { ????char?ch; ????do{ ????????system("CLS"); ????????printf("\t1----成績分布統計\n"); ????????printf("\t2----統計不及格人數及名單\n"); ????????printf("\t3----統計優秀人數及名單\n"); ????????printf("\t4----統計及格人數及名單\n"); ????????printf("\t0----返回上一級\n"); ????????printf("輸入?:?"); ????????ch?=?getch(); ????}while(ch?<?'0'||ch?>?'4'); ????return?(ch?-?48); } //實現統計功能的函數 void?statistics() { ????system("CLS"); ????char?ch?=?0; ????do{ ????????switch(menu_6()) ????????{ ????????case?0: ????????????system("CLS"); ????????????return; ????????case?1: ????????????mark_statistics(); ????????????break; ????????case?2: ????????????system("CLS"); ????????????printf("功能待完成!\n"); ????????????break; ????????case?3: ????????????system("CLS"); ????????????printf("功能待完成!\n"); ????????????break; ????????case?4: ????????????system("CLS"); ????????????printf("功能待完成!\n"); ????????????break; ???????} ???????}while(ch?<?'0'||ch?>?'4'); } //成績分布統計 void?mark_statistics() { ????int?fail=-1;??????????????//不及格 ????int?pass=0;???????????????//及格 ????int?secondary=0;??????????//中等 ????int?good=0;???????????????//良好 ????int?excellent=0;??????????//優秀 ????int?i; ????double?ratio_1,ratio_2,ratio_3,ratio_4,ratio_5; ????printf("成績分布如下?:\n"); ????printf("總人數\t不及格\t及格\t中等\t良好\t優秀\n"); ????for(i?=?0;i?<=?num;i++) ????{ ????????if(students[i].Mark?<?60?&&?students[i].Mark?>=?0) ????????????fail++; ????????else?if(students[i].Mark?>=?60?&&?students[i].Mark?<?70) ????????????pass++; ????????else?if(students[i].Mark?>=?70?&&?students[i].Mark?<?80) ????????????secondary++; ????????else?if(students[i].Mark?>=?80?&&?students[i].Mark?<?90) ????????????good++; ????????else?if(students[i].Mark?>=?90?&&?students[i].Mark?<=?100) ????????????excellent++; ????} ????ratio_1?=?(double)fail/num*100; ????ratio_2?=?(double)pass/num*100; ????ratio_3?=?(double)secondary/num*100; ????ratio_4?=?(double)good/num*100; ????ratio_5?=?(double)excellent/num*100; ????printf("%d\t%d\t%d\t%d\t%d\t%d\n",num,fail,pass,secondary,good,excellent); ????printf("比例:\t%.1lf%%\t%.1lf%%\t%.1lf%%\t%.1lf%%\t%.1lf%%\n",ratio_1,ratio_2,ratio_3,ratio_4,ratio_5); ????getch(); }
查看完整描述

1 回答

  • 1 回答
  • 2 關注
  • 1235 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號