亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲国产一区二区三区| 蜜桃一区二区三区在线观看| 亚洲国产日韩精品| 国产精品一二三四| 91精品国产综合久久精品| 日本一区二区免费在线观看视频| 亚洲综合丝袜美腿| 福利电影一区二区三区| 欧美一区二区三区白人| 一区二区三区四区国产精品| 国产成人午夜高潮毛片| 精品久久久久99| 日韩中文字幕一区二区三区| 91麻豆福利精品推荐| 国产欧美日韩精品在线| 黄色精品一二区| 日韩一区二区三区高清免费看看| 亚洲精品免费看| 色婷婷激情综合| 亚洲天堂a在线| av欧美精品.com| 中文字幕精品一区| 国产乱子伦一区二区三区国色天香| 欧美精品亚洲二区| 午夜婷婷国产麻豆精品| 欧美调教femdomvk| 性久久久久久久久久久久| 一本大道久久a久久精二百| 综合久久给合久久狠狠狠97色| 国产99久久久久久免费看农村| 久久久亚洲午夜电影| 国产美女精品在线| 日韩你懂的电影在线观看| 美洲天堂一区二卡三卡四卡视频| 欧美日韩一区久久| 图片区小说区国产精品视频 | 婷婷国产v国产偷v亚洲高清| 欧美一区二区三区四区视频| 制服丝袜日韩国产| 日韩精品一区二区三区swag | 国产精品传媒入口麻豆| 欧美日韩国产高清一区二区三区 | 自拍av一区二区三区| 99久久精品费精品国产一区二区| 国产精品毛片久久久久久久| 99久久免费视频.com| 亚洲最大色网站| 6080国产精品一区二区| 久久99精品一区二区三区| 精品成人一区二区三区| 国产91对白在线观看九色| 国产精品久久久久aaaa| 欧美亚洲一区三区| 日av在线不卡| 日本一区二区综合亚洲| 国产剧情一区在线| 国产精品久久久久四虎| 欧美影片第一页| 久久精品国产99久久6| 国产清纯白嫩初高生在线观看91| 91亚洲国产成人精品一区二三| 亚洲 欧美综合在线网络| 日韩精品一区二区三区在线| 不卡一区二区在线| 亚洲黄一区二区三区| 欧美一级在线免费| av电影一区二区| 午夜电影网一区| 久久天天做天天爱综合色| 99精品久久只有精品| 热久久一区二区| 成人一区二区三区视频在线观看| 亚洲色图视频网站| 91精品婷婷国产综合久久性色| 国产剧情一区在线| 午夜激情久久久| 亚洲欧美在线视频| 欧美一级欧美三级| 91久久久免费一区二区| 国产精品资源在线看| 亚洲国产精品久久不卡毛片 | 国产很黄免费观看久久| 亚洲一级片在线观看| 国产欧美日韩激情| 欧美日韩视频在线第一区| 丁香激情综合国产| 国模套图日韩精品一区二区| 亚洲国产一区二区三区| 亚洲视频免费观看| 欧美国产禁国产网站cc| 日韩写真欧美这视频| 91啪九色porn原创视频在线观看| 美美哒免费高清在线观看视频一区二区| 中文字幕一区二区三区精华液| 26uuu国产一区二区三区| 欧美猛男男办公室激情| 色婷婷综合久久久| av在线播放一区二区三区| 国产美女视频一区| 久久精品国产亚洲一区二区三区| 亚洲一区二区精品3399| 亚洲欧美一区二区三区孕妇| 国产欧美日韩视频在线观看| 精品国产成人在线影院| 日韩午夜激情视频| 欧美一级生活片| 制服丝袜亚洲网站| 日韩午夜小视频| 日韩午夜电影在线观看| 538prom精品视频线放| 欧美猛男男办公室激情| 欧美区视频在线观看| 91.麻豆视频| 91精品国产入口在线| 欧美一区二区网站| 日韩欧美成人一区二区| 日韩欧美色综合| 欧美成人a在线| 精品日产卡一卡二卡麻豆| 欧美大肚乱孕交hd孕妇| 精品日韩99亚洲| 国产亚洲一区二区三区| 国产精品青草综合久久久久99| 国产亚洲va综合人人澡精品| 国产三级久久久| 成人免费视频在线观看| 亚洲精品国久久99热| 亚洲电影第三页| 美腿丝袜亚洲综合| 风间由美一区二区三区在线观看 | 最新热久久免费视频| 亚洲精选视频在线| 亚洲成在人线在线播放| 免费成人在线网站| 国产剧情av麻豆香蕉精品| 成人免费毛片高清视频| 欧美在线免费观看视频| 欧美一区二区视频在线观看2020| 欧美成人综合网站| 国产精品热久久久久夜色精品三区 | 国产欧美日本一区视频| 亚洲女与黑人做爰| 婷婷久久综合九色综合绿巨人 | 日韩中文字幕亚洲一区二区va在线| 三级一区在线视频先锋 | 色婷婷亚洲婷婷| 6080午夜不卡| 国产女人18毛片水真多成人如厕| 亚洲色欲色欲www在线观看| 日本中文字幕一区二区视频 | 日韩黄色小视频| 国产99久久久久久免费看农村| 欧美性一级生活| 久久综合九色综合欧美亚洲| 亚洲伦理在线精品| 韩国欧美一区二区| 欧美性受极品xxxx喷水| 国产女人18毛片水真多成人如厕| 亚洲图片有声小说| 国产盗摄一区二区| 51久久夜色精品国产麻豆| 综合激情成人伊人| 黄色日韩网站视频| 欧美乱熟臀69xxxxxx| 国产精品毛片久久久久久| 日本欧美一区二区| 91丨porny丨中文| 久久久精品免费观看| 偷拍自拍另类欧美| 91麻豆视频网站| 久久综合一区二区| 偷拍日韩校园综合在线| 99久久婷婷国产综合精品| 久久精品一区二区三区av| 天堂va蜜桃一区二区三区 | 中日韩av电影| 麻豆国产91在线播放| 欧美亚州韩日在线看免费版国语版| 久久青草欧美一区二区三区| 日韩va亚洲va欧美va久久| 91福利精品视频| 亚洲人成在线播放网站岛国| 国产成人亚洲精品狼色在线| 日韩欧美二区三区| 日韩av在线播放中文字幕| 91黄色小视频| 日韩毛片一二三区| 99久精品国产| 亚洲欧美综合色| 97超碰欧美中文字幕| 久久久久88色偷偷免费| 国产成人在线视频播放| xnxx国产精品| 九色porny丨国产精品| 欧美一区二区三区视频免费播放| 天堂成人国产精品一区| 在线不卡中文字幕播放| 丝袜美腿亚洲一区| 欧美精品 日韩| 日本视频免费一区|