亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stu_sys.c

?? 學生成績系統開發 老師上課的課件里面的 是南大老師課件的 質量很高
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include<string.h>
#include<stdio.h>

/*控制學生記錄的容量*/
#define N 50
struct student
{char num[11];
 char name[20];
 int score[3];
 float ave;
}stu[N];
/*全新保存函數*/
save(int n)                      /*保存函數,保存n個記錄*/
{FILE *fp;
 int i;
 if((fp=fopen("score.txt","wb"))==NULL)    /*以輸出打開方式,在此前的記錄被覆蓋*/
  {printf("\nCannot open file\n");
   return NULL;
  }
 for(i=0;i<n;i++)
   if(stu[i].ave!=0)            /*stu[i].ave=0表此記錄已刪除*/
     if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
       printf("file write error\n");
 fclose(fp);
}
 /*加載記錄或可以計算記錄個數的函數*/
load()                       /*加載記錄或可以計算記錄個數的函數*/
{FILE *fp;
 int i;
 if((fp=fopen("score.txt","rb"))==NULL)    /*以輸出打開方式,在此前的記錄被覆蓋*/
  {printf("\nCannot open file\n");
   return NULL;
  }
 for(i=0;!feof(fp);i++)
  fread(&stu[i],sizeof(struct student),1,fp);
 fclose(fp);
 return(i-1);                /*返回記錄個數*/
}
/*一個任務結束時的選擇瀏覽還是返回的函數*/
void printf_back()              /*一個任務結束時的選擇瀏覽還是返回*/
{int k,w;
 printf("\n\n\tSuccessful. ^_^\n\n");
 printf("What do you want to do? \n\n\t1).Browse all now\t2).Back:  [ ]\b\b");
 scanf("%d",&w);
 if(w==1) browse();
 else menu();
}
/*顯示數據結構項目函數*/
void printf_face()            /*顯示數據結構項目*/
{printf("\n\tNO.  name                 score1   score2   score3  average\n");
}
average(int i)                    /*對第i個記錄的分數求平均值*/
{int j,sum;
 for(sum=0,j=0;j<3;j++)
   sum+=stu[i].score[j];
 stu[i].ave=sum/3.0;
}
/*學號輸入函數*/
no_input(int i,int n)                  /*i表示第i個的學生信息,n表示比較到第n個學生*/
{int j,k,w1;
  do
  {w1=0;
   printf("NO.:");
   scanf("%s",stu[i].num);
   for(j=0;stu[i].num[j]!='\0';j++)          /*學號輸入函數,作了嚴格規定*/
     if(stu[i].num[j]<'0'||stu[i].num[j]>'9')     /*判斷學號是否為數字*/
       {puts("Input error! Only be made up of (0-9).Please reinput!\n");
        w1=1;break;
       }
   if(w1!=1)
    for(k=0;k<n;k++)                /*比較到第n個學生*/
      /*排除第i個學生記錄即你要修改的*/
      if(k!=i&&strcmp(stu[k].num,stu[i].num)==0)    /*判斷學號是否有雷同*/
       {puts("This record is exist. please reinput!\n");
        w1=1;break;
       }
  }
  while(w1==1);
}
/*對分數輸入*/
score_input(int i)
{int j;
 for(j=0;j<3;j++)
  {printf("score %d:",j+1);
   scanf("%d",&stu[i].score[j]);
  }
}
 /*輸入一個記錄函數*/
input(int i)                           /*輸入一個記錄函數*/
{
 no_input(i,i);                      /*調用學號輸入函數*/
 printf("name:");
 scanf("%s",stu[i].name);
 score_input(i);           /*調用分數輸入函數*/
 average(i);               /*調用求平均值函數*/
}
 /*顯示一個記錄的函數*/
printf_one(int i)                              /*顯示一個記錄的函數*/
{int j;
 printf("%11s  %-17s",stu[i].num,stu[i].name);
 for(j=0;j<3;j++)
   printf("%9d",stu[i].score[j]);
 printf("%9.2f\n",stu[i].ave);
}
void puts___()     /*顯出---函數*/
{puts("\n--------------------------------------------------------------------");
}
/*修改記錄函數*/
modify_data(int i,int n)          /*修改數據函數,修改第i個記錄*/
{int c,w1;
  do                              /*輸入選擇作個判斷*/
   {puts("\nmodify by =>\n\n  1).NO.  2.name  3).score1  4).score2\n  5).score3  6).all score  7).all data  8).cancel and back");
    printf("Which you needed?: [ ]\b\b");
    scanf("%d",&c);
    if(c>8||c<1)
            {puts("\nChoice error! Please again!");   /*判斷選擇是否錯誤,若是則重新選擇性*/
             getchar();    /*當輸入是字符時可以防止死循環*/
            }
   }
   while(c>8||c<1);
  do
   {switch(c)                     /*選擇要修改的項目*/
    {case 1:no_input(i,n);break;    /*調用學號輸入函數*/
     case 2:printf("name:");scanf("%s",stu[i].name);break;
     case 3:printf("score1:");scanf("%d",&stu[i].score[0]);break;
     case 4:printf("score2:");scanf("%d",&stu[i].score[1]);break;
     case 5:printf("score3:");scanf("%d",&stu[i].score[2]);break;
     case 6:score_input(i);break; /*調用分數輸入函數*/
     case 7:input(i);break;   /*調用輸入整條學生記錄*/
     case 8:menu();   /*直接返回主介面*/
    }
    if(c>2&&c<7)
      average(i);                  /*調用求平均值函數*/
    puts("\nNow:\n");
    printf_face();                         /*調用顯示數據結構項目函數*/
    printf_one(i);                 /*修改后的記錄讓用戶確認*/
    printf("\nAre you sure?\n\n\t1).Sure  2).No and remodify   3).Back without save in this time   [ ]\b\b");  /*是否確定*/
    scanf("%d",&w1);   /*選擇2則表示這次修改錯誤要重新修改*/
   }
   while(w1==2);
  return(w1);        /*返回控制值*/
}
 /****************輸入模塊****************/
enter()                           /*輸入模塊*/
{int i,n;
 printf("How many students(0-%d)?:",N);
 scanf("%d",&n);                  /*要輸入的記錄個數*/
 printf("\nEnter data now\n\n");
 for(i=0;i<n;i++)
   {printf("\nInput %dth student record.\n",i+1);
    input(i);                        /*調用輸入函數*/
   }
 if(i!=0) save(n);                            /*調用保存函數*/
 printf_back();                       /*一個任務結束時讓用戶選擇是瀏覽還是返回*/
}
 /****************追加模塊****************/
add()                             /*追加模塊*/
{int i,n,m,k;
 FILE *fp;
 n=load();
 printf("How many students are you want to add(0-%d)?:",N-n);
 scanf("%d",&m);               /*輸入要追加的記錄個數*/
 k=m+n;
 for(i=n;i<k;i++)
   {printf("\nInput %dth student record.\n",i-n+1);
    input(i);                        /*調用輸入函數*/
   }
 if((fp=fopen("score.txt","ab"))==NULL)  /*以ab方式打開文件,追加保存*/
  {printf("cannot open file\n");
   return;
  }
 for(i=n;i<k;i++)                   /*輸入出到文件*/
   if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
     printf("file write error\n");
 fclose(fp);
 printf_back();                       /*一個任務結束時的選擇瀏覽還是返回*/
}
 /****************修改模塊****************/
modify()                         /*修改模塊*/
{struct student s;
 FILE *fp;
 int i,n,k,w0=1,w1,w2=0;
 n=load();
 do
 {
  k=-1;
  /*給用戶看全部記錄以便確認要修改的記錄*/
  puts___();             /*顯示-----*/
  printf_face();                /*調用顯示數據結構項目函數*/
  for(i=0;i<n;i++)
    {if((i!=0)&&(i%10==0))     /*目的是分屏顯示*/
       {printf("\n\nRemember NO.which needed modify. pass any key to contiune  . . .");
        getch();
        puts("\n\n");
       }
     printf_one(i);                  /*調用顯示一個記錄的函數*/
    }
  puts___();
  do
   {printf("\n\nEnter NO. that you want to modify!    NO.:");
    scanf("%s",s.num);                /*輸入要修改的數據的學號*/
    for(i=0;i<n;i++)                  /*查找要修改的數據*/
     if(strcmp(s.num,stu[i].num)==0)
       {k=i;                      /*找到要修改的記錄*/
        s=stu[i];                /*把stu[i](即當次修改的學生記錄)備份給s,以便用戶反悔時恢復名譽*/
       }
    if(k==-1) printf("\n\nNO exist! please again");
   }
   while(k==-1);            /*當K=-1表示沒有找到*/
  printf_face();               /*調用顯示數據結構項目函數*/
  printf_one(k);                  /*調用顯示一個記錄的函數*/
  w1=modify_data(k,n);          /*修改學生記錄并且返回保存控制值w1,w1=1則表示用戶已確認修改*/
  if(w1==1)       /*W1等于1時則表示用戶確定這次修改*/
    {printf("\nSuccessful ^_^.\n\nAre you modify another?\n\n\t1).Yes  2).Back with save\t[ ]\b\b");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品综合免费视频观看| 中文字幕精品三区| 日韩在线观看一区二区| 欧美三区免费完整视频在线观看| 亚洲成av人影院| 91麻豆精品国产91久久久更新时间| 午夜激情综合网| 欧美成人艳星乳罩| 国产jizzjizz一区二区| 国产精品国产三级国产普通话三级| 国产精品77777竹菊影视小说| 欧美精品一区二区三区四区| 91视频在线观看| 波多野洁衣一区| 中文字幕视频一区| 欧美乱妇一区二区三区不卡视频| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品国产三级国产普通话三级| www.亚洲激情.com| 亚洲主播在线播放| 国产婷婷色一区二区三区| 欧美午夜精品久久久久久孕妇| 中文一区在线播放| 国产精品1024| 久久综合狠狠综合| 日韩一区精品视频| 91麻豆精品国产91久久久更新时间| 欧美精品一区二区三区久久久| 成人av电影在线| 92国产精品观看| 日韩专区欧美专区| 欧美国产视频在线| 欧美三区免费完整视频在线观看| 极品瑜伽女神91| 亚洲一区二区三区爽爽爽爽爽 | 一区视频在线播放| 欧美日本精品一区二区三区| 国产99久久久久| 日韩福利电影在线| ●精品国产综合乱码久久久久| 884aa四虎影成人精品一区| 成人av动漫在线| 久久99国产精品免费网站| 一区二区三区国产精华| 久久久精品蜜桃| 欧美一区二区三区视频在线观看 | 日韩三级电影网址| 精品少妇一区二区三区日产乱码| 免费高清在线一区| 成人午夜大片免费观看| 91麻豆swag| 国产精品麻豆一区二区| 日韩一区二区三区视频在线| 国产视频在线观看一区二区三区 | 在线视频欧美精品| 国产成人精品aa毛片| 岛国精品在线播放| 成人网在线免费视频| 国产在线精品一区二区不卡了| 免费在线看成人av| 欧美美女喷水视频| 欧美aa在线视频| 7777精品伊人久久久大香线蕉超级流畅| 亚洲自拍另类综合| 久久综合一区二区| 欧美性色欧美a在线播放| 美女一区二区三区在线观看| 欧美激情一区三区| 成人网在线播放| 视频在线观看91| 日韩免费在线观看| 精品国产伦一区二区三区观看方式 | 在线综合视频播放| 欧美午夜精品一区二区三区| 色诱亚洲精品久久久久久| 99视频有精品| 色综合久久综合中文综合网| 一道本成人在线| 91久久人澡人人添人人爽欧美| 一本色道久久加勒比精品| 色悠悠久久综合| 在线亚洲一区二区| 色综合咪咪久久| 欧美日韩精品免费| 欧美一区二区三区色| 欧美电影精品一区二区| 精品国内二区三区| 国产亚洲女人久久久久毛片| 欧美激情一区二区三区蜜桃视频| 国产精品理论片在线观看| 国产精品久久久久久户外露出| 亚洲女女做受ⅹxx高潮| 亚洲成人激情自拍| 天天影视网天天综合色在线播放| 青青草原综合久久大伊人精品 | 成人免费看的视频| 97aⅴ精品视频一二三区| 日本乱人伦aⅴ精品| 日韩一区二区三免费高清| 久久影院视频免费| 亚洲国产岛国毛片在线| 国产精品国产三级国产专播品爱网| 综合久久综合久久| 舔着乳尖日韩一区| 国产精品 日产精品 欧美精品| 91一区二区三区在线观看| 欧美色涩在线第一页| 精品国产乱码久久久久久久久| 欧美极品另类videosde| 亚洲午夜影视影院在线观看| 精久久久久久久久久久| 99精品欧美一区二区三区小说 | 欧洲激情一区二区| 精品国产乱码久久久久久免费| 国产精品久久777777| 亚洲成va人在线观看| 国产91高潮流白浆在线麻豆| 在线观看av不卡| 国产午夜亚洲精品理论片色戒 | 91行情网站电视在线观看高清版| 欧美久久久一区| 日本一区二区免费在线| 午夜av区久久| 成年人国产精品| 日韩一区二区视频在线观看| 最新中文字幕一区二区三区 | 成人免费高清视频在线观看| 欧美精品久久天天躁| 国产精品久久久久久久久免费相片 | 综合在线观看色| 久久狠狠亚洲综合| 色呦呦国产精品| 日本一区二区成人| 蜜臀av在线播放一区二区三区 | 国产成都精品91一区二区三| 欧美日韩亚洲另类| 亚洲图片另类小说| 国产在线播放一区三区四| 欧美日韩视频在线第一区| 国产精品国产三级国产专播品爱网| 久久99九九99精品| 欧美高清视频在线高清观看mv色露露十八| 国产女人18毛片水真多成人如厕 | 97成人超碰视| 国产农村妇女毛片精品久久麻豆 | 欧美mv和日韩mv的网站| 亚洲成人动漫在线免费观看| 99久久综合精品| 国产午夜精品一区二区| 日韩经典一区二区| 欧美三级电影一区| 亚洲综合色视频| 91福利视频网站| 亚洲人妖av一区二区| 粉嫩久久99精品久久久久久夜| 精品av久久707| 看电视剧不卡顿的网站| 日韩一区二区视频在线观看| 日韩av一级片| 91精品国产全国免费观看 | 久久精品国产亚洲高清剧情介绍| 欧美日韩美少妇| 亚洲国产va精品久久久不卡综合 | 成人av中文字幕| 国产精品福利av| 99天天综合性| 亚洲精品成人精品456| 色综合久久综合中文综合网| 一区二区三区日韩欧美| 91丨九色丨尤物| 亚洲综合在线免费观看| 欧美探花视频资源| 丝袜美腿一区二区三区| 日韩三级高清在线| 国产一区二区三区免费在线观看| 欧美v国产在线一区二区三区| 精品一区二区三区久久久| 欧美tickling网站挠脚心| 极品少妇一区二区三区精品视频| 久久精品亚洲国产奇米99| 成人激情黄色小说| 亚洲精品视频在线观看网站| 欧美色视频在线| 久久99精品久久久久久国产越南| 久久久久久免费毛片精品| 99视频热这里只有精品免费| 一区二区三区产品免费精品久久75| 欧美性受极品xxxx喷水| 天天色天天爱天天射综合| 精品免费视频一区二区| 成人激情校园春色| 亚洲一区精品在线| 成人国产精品免费观看| 久久日一线二线三线suv| 成人aa视频在线观看| 午夜伦理一区二区| 久久男人中文字幕资源站| 成人18视频日本| 日韩电影在线观看网站| 欧美激情综合五月色丁香|