亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言版學生成績管理系統

2020-01-26 13:48:17
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C語言版學生成績管理系統的具體代碼,供大家參考,具體內容如下

#include<stdio.h> #include<stdlib.h> #include<time.h> #include<conio.h> #include<string.h> #include<algorithm> char buf[255]; char c=14; char path[]="D://data"; char tmp[]="D://tmp"; struct Student {   char Name[20];   char No[20];   char Dept[20];   char ClassNo[20];   double Math,Chinese,English;   double Ave;   bool Pass; }students[500]; bool cmp1(Student s1,Student s2) {   return s1.Chinese>s2.Chinese; } bool cmp2(Student s1,Student s2) {   return s1.Math>s2.Math; } bool cmp3(Student s1,Student s2) {   return s1.English>s2.English; } bool cmp4(Student s1,Student s2) {   return s1.Ave>s2.Ave; } //---------------------------------------------------------void Sort(int cmd) /* 1 ChineseSort 2 MathSort 3 EnglishSort 4 AveSort */ int Sort(int cmd) {   Student stu;   FILE *fp=fopen(path,"ab+");   int n,cnt=0;   while((n=fread(&stu,sizeof(stu),1,fp)>0))   {     students[cnt++]=stu;   }   fclose(fp);   switch(cmd)   {   case 1:   std::sort(students,students+cnt,cmp1);     break;   case 2:   std::sort(students,students+cnt,cmp2);     break;   case 3:   std::sort(students,students+cnt,cmp3);     break;   case 4:   std::sort(students,students+cnt,cmp4);     break;   default:     exit(0);   }   return cnt; } //---------------------------------------------------------PrintTitle() void PrintTitle() {   printf("%-8s%-12s%-12s%-8s%-7s%-7s%-7s%-7s%-s/n","姓名","班級","學號","系院","語文","數學","英語","平均分","及格"); } //---------------------------------------------------------Print(Student stu) void Print(Student stu) {   printf("%-8s%-12s%-12s%-8s%-7.2lf%-7.2lf%-7.2lf%-7.2lf%-s/n",stu.Name,stu.ClassNo,stu.No,stu.Dept,stu.Chinese,stu.Math,stu.English,stu.Ave,stu.Pass?"是":"否"); } //---------------------------------------------------------PrintNo(char No[]) void PrintNo(char No[]) {   Student stu;   int n;   bool find=0;   FILE *fp=fopen(path,"ab+");//以ab+方式打開防止data文件不存在時發生錯誤   while((n=fread(&stu,sizeof(stu),1,fp))>0)   {     if(!strcmp(stu.No,No))     {       find=1;       break;     }   }   fclose(fp);   if(find)   {     PrintTitle();     Print(stu);   }   else     puts("未找到!"); } //---------------------------------------------------------PrintClass(char ClassNo[]) void PrintClass(char ClassNo[]) {   Student stu;   FILE *fp=fopen(path,"ab+");   int n,cnt=0;   while((n=fread(&stu,sizeof(stu),1,fp)>0))   {     if(!strcmp(stu.ClassNo,ClassNo))     {       if(cnt==0)         PrintTitle();       Print(stu);       cnt++;     }   }   fclose(fp);   if(cnt==0)     puts("無數據");   else     printf("共%d條/n",cnt); } //---------------------------------------------------------PrintDept(char Dept[]) void PrintDept(char Dept[]) {     Student stu;   FILE *fp=fopen(path,"ab+");   int n,cnt=0;   while((n=fread(&stu,sizeof(stu),1,fp)>0))   {     if(!strcmp(stu.Dept,Dept))     {       if(cnt==0)         PrintTitle();       Print(stu);       cnt++;     }   }   fclose(fp);   if(cnt==0)     puts("無數據");   else     printf("共%d條/n",cnt); } //---------------------------------------------------------PrintAll() void PrintAll() {   Student stu;   FILE *fp=fopen(path,"ab+");   int n,cnt=0;   while((n=fread(&stu,sizeof(stu),1,fp)>0))   {     if(cnt==0)       PrintTitle();     Print(stu);     cnt++;   }   fclose(fp);   if(cnt==0)     puts("無數據");   else     printf("共%d條/n",cnt); } //---------------------------------------------------------Input() Student Input() {   Student stu;   puts("請輸入姓名、班級、學號、系院:");   scanf("%s%s%s%s",&stu.Name,&stu.ClassNo,&stu.No,&stu.Dept);   puts("請輸入各科成績:語文、數學、英語");   scanf("%lf%lf%lf",&stu.Chinese,&stu.Math,&stu.English);   stu.Ave=(stu.Chinese+stu.Math+stu.English)/3;   if(stu.Chinese>=60&&stu.Math>=60&&stu.English>=60)     stu.Pass=1;   else     stu.Pass=0;   return stu; } //---------------------------------------------------------Insert() void Insert() {   int cmd;   do{     Student stu=Input();     FILE *fp=fopen(path,"ab+");     fwrite(&stu,sizeof(stu),1,fp);     fclose(fp);     puts("錄入成功");     puts("繼續錄入嗎?[1]是[0]否");     scanf("%d",&cmd);   }while(cmd==1); } //---------------------------------------------------------Del() void Del() {   int cmd,cmd2;   char No[20];   do{   puts("請輸入要刪除的學號:");   scanf("%s",&No);   Student stu;   FILE *fp=fopen(path,"ab+");   FILE *fp2=fopen(tmp,"wb");   int n,find=0;   while((n=fread(&stu,sizeof(stu),1,fp))>0)   {     if(!strcmp(stu.No,No))     {       find=1;       Print(stu);       puts("確定要刪除嗎?[1]確定[0]取消");       scanf("%d",&cmd2);       if(cmd2==1)         puts("已刪除");       else         fwrite(&stu,sizeof(stu),1,fp2);     }     else     fwrite(&stu,sizeof(stu),1,fp2);   }   fclose(fp);   fclose(fp2);   if(find==0)   {     printf("未找到學號%s/n",No);     remove(tmp);   }   else   {     remove(path);     rename(tmp,path);   }   puts("繼續刪除嗎?[1]是[0]否");   scanf("%d",&cmd);   }while(cmd==1); } //---------------------------------------------------------Change() void Change() {     int cmd;   char No[20];   do{   puts("請輸入要更改的學號:");   scanf("%s",&No);   Student stu;   int find=0;   FILE *fp=fopen(path,"ab+");   FILE *fp2=fopen(tmp,"wb");   int n;   while((n=fread(&stu,sizeof(stu),1,fp))>0)   {     if(!strcmp(stu.No,No))     {       find=1;       stu=Input();       fwrite(&stu,sizeof(stu),1,fp2);     }     else       fwrite(&stu,sizeof(stu),1,fp2);   }   fclose(fp);   fclose(fp2);   if(find)   {     remove(path);     rename(tmp,path);     puts("更改成功!");   }   else   {     printf("未找到學號%s/n",No);     remove(tmp);   }   puts("繼續更改嗎?[1]是[0]否");   scanf("%d",&cmd);   }while(cmd==1); } //---------------------------------------------------------AboutCourse void Chinese() {   double sum=0,ave;   int pass=0,fail=0,better=0;   Student stu;   FILE *fp=fopen(path,"ab+");   int n,cnt=Sort(1);   while((n=fread(&stu,sizeof(stu),1,fp))>0)   {     sum+=stu.Chinese;     if(stu.Chinese>=60)       {         pass++;         if(stu.Chinese>=80)           better++;       }     else       fail++;   }   ave=sum/cnt;   puts("語文成績分析……");   printf("共有%d學生/n優秀:%d人/n及格:%d人/n不及格:%d人/n及格率:%.2lf%%/n",cnt,better,pass,fail,100.0*pass/cnt);   printf("%-8s%-10s%-12s%-s/n","名次","姓名","學號","語文");   for(int i=0;i<cnt;i++)   {     printf("第%2d名 %-10s%-12s%-8.2lf/n",i+1,students[i].Name,students[i].No,students[i].Chinese);   }   printf("平均分:%.2lf/n",ave); } void Math() {   double sum=0,ave;   int pass=0,fail=0,better=0;   Student stu;   FILE *fp=fopen(path,"ab+");   int n,cnt=Sort(2);   while((n=fread(&stu,sizeof(stu),1,fp))>0)   {     sum+=stu.Math;     if(stu.Math>=60)       {         pass++;         if(stu.Math>=80)           better++;       }     else       fail++;   }   ave=sum/cnt;   puts("數學成績分析……");   printf("共有%d學生/n優秀:%d人/n及格:%d人/n不及格:%d人/n及格率:%.2lf%%/n",cnt,better,pass,fail,100.0*pass/cnt);   printf("%-8s%-10s%-12s%-s/n","名次","姓名","學號","數學");   for(int i=0;i<cnt;i++)   {     printf("第%2d名 %-10s%-12s%-8.2lf/n",i+1,students[i].Name,students[i].No,students[i].Math);   }   printf("平均分:%.2lf/n",ave); } void English() {   double sum=0,ave;   int pass=0,fail=0,better=0;   Student stu;   FILE *fp=fopen(path,"ab+");   int n,cnt=Sort(3);   while((n=fread(&stu,sizeof(stu),1,fp))>0)   {       sum+=stu.English;     if(stu.English>=60)       {         pass++;         if(stu.English>=80)           better++;       }     else       fail++;   }   ave=sum/cnt;   puts("英語成績分析……");   printf("共有%d學生/n優秀:%d人/n及格:%d人/n不及格:%d人/n及格率:%.2lf%%/n",cnt,better,pass,fail,100.0*pass/cnt);   printf("%-8s%-10s%-12s%-s/n","名次","姓名","學號","英語");   for(int i=0;i<cnt;i++)   {     printf("第%2d名 %-10s%-12s%-8.2lf/n",i+1,students[i].Name,students[i].No,students[i].English);   }   printf("平均分:%.2lf/n",ave); } void Average() {   Student stu;   int n,cnt=Sort(4);   double sum=0;   FILE *fp=fopen(path,"ab+");   while((n=fread(&stu,sizeof(stu),1,fp))>0)   {       sum+=stu.Chinese;     sum+=stu.Math;     sum+=stu.English;   }   puts("平均成績分析……");   printf("%-8s%-10s%-12s%-s/n","名次","姓名","學號","平均成績");   for(int i=0;i<cnt;i++)   {     printf("第%2d名 %-10s%-12s%-8.2lf/n",i+1,students[i].Name,students[i].No,students[i].Ave);   }   printf("平均分:%.2lf/n",sum/cnt/3); } //---------------------------------------------------------Search() void Search() {   int cmd,cmd2;   while(1)   {     system("cls");     puts("[1] 按學號查詢");     puts("[2] 按班級查詢");     puts("[3] 輸出全部");     puts("[4] 按系別查詢");     puts("[5] 課程分析");     puts("[0] 返回主界面");     scanf("%d",&cmd);     if(cmd==0)       break;     switch(cmd)     {     case 1:       {       char No[20];       puts("請輸入要查詢的學號:");       scanf("%s",&No);       PrintNo(No);       }       break;     case 2:       {         char ClassNo[20];         puts("請輸入要查詢班級號:");         scanf("%s",&ClassNo);         PrintClass(ClassNo);       }       break;     case 3:       PrintAll();       break;     case 4:       {         char Dept[20];         puts("請輸入要查詢的系別:");         scanf("%s",&Dept);         PrintDept(Dept);       }       break;     case 5:       while(1)       {         puts("[1] 語文成績分析");         puts("[2] 數學成績分析");         puts("[3] 英語成績分析");         puts("[4] 平均成績分析");         puts("[0] 返回上一級");         scanf("%d",&cmd2);         if(cmd2==0)           break;         switch(cmd2)         {         case 1:           Chinese();           break;         case 2:           Math();           break;         case 3:           English();           break;         case 4:           Average();           break;         default:           puts("不合法指令!");         }       }       break;     default:       puts("不合法指令!");     }     while(1)     {       puts("[0] 返回");       puts("[1] 錄入");       puts("[2] 刪除");       puts("[3] 修改");       scanf("%d",&cmd2);       if(cmd2==0)         break;       switch(cmd2)       {       case 1:         Insert();           break;       case 2:         Del();         break;       case 3:         Change();         break;       default:         puts("不合法指令!");       }     }   } } //---------------------------------------------------------Menu() void ShowMenu1() {     int i;   puts("");   printf("         ");   for(i=0;i<14;i++)     putchar(c);   printf("成績管理分析系統");   for(i=0;i<14;i++)     putchar(c);   puts("");   printf("        %c                       %c/n",c,c);   printf("         %c        請輸入指令        %c/n",c,c);   printf("        %c                       %c/n",c,c);   printf("         %c        [0] 退出         %c/n",c,c);   printf("        %c                       %c/n",c,c);   printf("         %c        [1] 錄入         %c/n",c,c);   printf("        %c                       %c/n",c,c);   printf("         %c        [2] 刪除         %c/n",c,c);   printf("        %c                       %c/n",c,c);   printf("         %c        [3] 查詢         %c/n",c,c);   printf("        %c                       %c/n",c,c);   printf("         %c        [4] 更改         %c/n",c,c);   printf("        %c                       %c/n",c,c);   printf("         ");   for(i=0;i<44;i++)     putchar(c);   puts(""); } void ShowMenu2() {     int i;   puts("");   printf("         ");   for(i=0;i<14;i++)     putchar(c);   printf("成績管理分析系統");   for(i=0;i<14;i++)     putchar(c);   puts("");   printf("         %c                     %c/n",c,c);   printf("        %c         請輸入指令         %c/n",c,c);   printf("         %c                     %c/n",c,c);   printf("        %c         [0] 退出          %c/n",c,c);   printf("         %c                     %c/n",c,c);   printf("        %c         [1] 錄入          %c/n",c,c);   printf("         %c                     %c/n",c,c);   printf("        %c         [2] 刪除          %c/n",c,c);   printf("         %c                     %c/n",c,c);   printf("        %c         [3] 查詢          %c/n",c,c);   printf("         %c                     %c/n",c,c);   printf("        %c         [4] 更改          %c/n",c,c);   printf("         %c                     %c/n",c,c);   printf("         ");   for(i=0;i<44;i++)     putchar(c);   puts(""); } //---------------------------------------------------------void RandColor() void RandColor() {   int a,b;   char param[20]="color ",param2[10];   do{     a=rand()%16;     b=rand()%16;   }while(a==b);   sprintf(param2,"%x%x",a,b);   strcat(param,param2);   system(param); } //---------------------------------------------------------main() int main() {   int cmd;   srand(time(NULL));   for(int i=0;i<8;i++)   {   RandColor();   system("cls");   ShowMenu1();   system("cls");   ShowMenu2();   }   system("color 0a");   while(1)   {     system("cls");     ShowMenu1();     printf("[ ]/b/b");     scanf("%d",&cmd);     if(cmd==0)       break;     switch(cmd)     {     case 1:       Insert();       break;     case 2:       Del();       break;     case 3:       Search();       break;     case 4:       Change();       break;     default:       puts("命令不合法!");     }   }   return 0; } 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线午夜精品自拍| 国产精品久久久久久久一区探花| 日韩av有码在线| 国产成人精品免高潮费视频| www.日本久久久久com.| 青青久久av北条麻妃海外网| 最好看的2019的中文字幕视频| 国产成人极品视频| 视频在线一区二区| 国产91精品高潮白浆喷水| 久久久91精品国产一区不卡| 亚洲人成网站在线播| 蜜臀久久99精品久久久无需会员| 黑人巨大精品欧美一区免费视频| 国产精品视频xxxx| 欧美性猛交视频| 国产做受69高潮| 亚洲精品wwwww| 欧美精品电影免费在线观看| 亚洲美女av在线| 日韩av一区二区在线观看| 国产精品久久久久久搜索| 午夜精品福利视频| 狠狠躁夜夜躁人人爽超碰91| 668精品在线视频| 日韩精品999| 亚洲欧美日韩在线一区| 不卡av日日日| 成人黄色大片在线免费观看| 92裸体在线视频网站| 国产精品欧美亚洲777777| 久久久久久久久亚洲| 精品偷拍各种wc美女嘘嘘| 91精品国产高清| 亚洲四色影视在线观看| 亚洲女人初尝黑人巨大| 2018日韩中文字幕| 久久久免费观看视频| 国产精品揄拍500视频| 中文字幕少妇一区二区三区| 日韩av观看网址| 国产噜噜噜噜久久久久久久久| 国产va免费精品高清在线| 亚洲视频欧洲视频| 亚洲国产精品推荐| 日韩福利伦理影院免费| 少妇久久久久久| 在线播放精品一区二区三区| 久久亚洲私人国产精品va| 久久伊人精品视频| 日韩中文第一页| 中文字幕日韩在线观看| 国产精品久久久久久久久久99| 久久久精品国产亚洲| 国产精品女人网站| 久久人人97超碰精品888| 97久久精品人人澡人人爽缅北| 欧美精品制服第一页| 日韩av手机在线看| 亚洲精品不卡在线| 国产a∨精品一区二区三区不卡| 国产成人亚洲综合91精品| 久久精品视频在线播放| 久久久久久久久久久免费精品| 狠狠躁夜夜躁人人爽超碰91| 欧美激情免费视频| 国产欧美欧洲在线观看| 国产一区欧美二区三区| 68精品国产免费久久久久久婷婷| 日本成人精品在线| 亚洲精品久久久久中文字幕欢迎你| 色琪琪综合男人的天堂aⅴ视频| 欧美日韩黄色大片| 精品久久久久久久久久ntr影视| 欧美电影免费播放| 精品香蕉在线观看视频一| 久久精品人人爽| 日韩成人激情在线| 麻豆国产va免费精品高清在线| 美女国内精品自产拍在线播放| 亚洲免费一级电影| 久久久国产精品视频| 国产在线观看精品一区二区三区| 精品亚洲一区二区三区| 97在线观看视频国产| 国产精品18久久久久久首页狼| 久久综合亚洲社区| 亚洲人成伊人成综合网久久久| 亚洲欧美国产日韩中文字幕| 亚洲免费精彩视频| 亚洲第一在线视频| 欧美激情免费观看| 国产免费一区二区三区香蕉精| 国外日韩电影在线观看| 日本精品在线视频| 国产精品va在线播放| 亚洲欧洲成视频免费观看| 久久亚洲精品网站| 国产精品久久久久久久久久新婚| 国产午夜精品视频| 成人黄色免费看| xvideos国产精品| 欧美精品电影免费在线观看| 国内外成人免费激情在线视频| 亚洲国产精品国自产拍av秋霞| 日韩电影中文字幕一区| 日韩女优人人人人射在线视频| 日韩欧美在线视频| 97久久精品人人澡人人爽缅北| 日韩免费电影在线观看| 国产日韩在线观看av| 久久综合伊人77777蜜臀| 亚洲精品97久久| 在线色欧美三级视频| 热re99久久精品国产66热| 日韩精品一区二区三区第95| 91久久久久久国产精品| 成人激情视频小说免费下载| 国产一区二区三区免费视频| 国产主播精品在线| 蜜臀久久99精品久久久无需会员| 91欧美精品成人综合在线观看| 91国自产精品中文字幕亚洲| 欧美视频二区36p| 97精品在线视频| 2025国产精品视频| 国产深夜精品福利| 疯狂做受xxxx高潮欧美日本| 欧美怡红院视频一区二区三区| 欧美另类第一页| 亚洲**2019国产| 夜夜嗨av一区二区三区四区| 免费91麻豆精品国产自产在线观看| 这里只有精品久久| 69国产精品成人在线播放| 日韩日本欧美亚洲| 亚洲精品小视频在线观看| 欧美在线中文字幕| 国产视频自拍一区| 亚洲免费伊人电影在线观看av| 欧美成人精品h版在线观看| 亚洲欧美三级在线| 亚洲美女黄色片| 国产精品盗摄久久久| 91夜夜揉人人捏人人添红杏| 亚洲一区二区三区xxx视频| www.久久色.com| 国产+人+亚洲| 91深夜福利视频| 九九视频这里只有精品| 国产视频精品va久久久久久| 欧美韩日一区二区| 91精品在线国产| 亚洲三级av在线| 亚洲自拍另类欧美丝袜| 久久99久久99精品免观看粉嫩| 亚洲一区二区三区毛片| 国产色婷婷国产综合在线理论片a| 亚洲精品99久久久久| 久久天天躁日日躁| 欧美专区第一页| 日韩激情av在线播放| 欧美性感美女h网站在线观看免费| 国产免费久久av|