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

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

?? 學生成績管理系統.txt

?? c語言的常用函數以及一些小游戲代碼,如文曲星小游戲、五子棋游戲等
?? TXT
字號:
學生成績管理系統
/*-------------1-------------*/
#include<bios.h> 
#include<dos.h>  /*頭文件*/
#include<conio.h>
#include<ctype.h>
#include<process.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
  
#define NULL 0
#define ESC 0x001b  /* 退出 */
#define  F1  0x3b00  /* 查看幫助信息,調用HelpMassage()函數 */
#define  F2  0x3c00  /*輸入學生成績*/
#define  F3  0x3d00 /*按學號查找*/
#define  F4  0x3e00  /*按姓名查找*/
#define  F5  0x3f00  /*列出所有學生成績*/
#define  F6  0x4000 /*統計*/

struct stuType  /*定義結構體變量*/
{
   char NO[11];  /*學號長度為10*/ 
   char XM[10];
   float CJ[4];  /*包含4門成績*/
};

/*-------------2-------------*/
int JY_NO(char *stu_num,FILE *fp)    /*檢驗學號的正確性*/
{  struct stuType stud;
   int NO;
   char *p=stu_num;
   if(strcmp(stu_num,"#")==0) return 1;    /*若輸入"#"返回真值,不再循環輸入*/
   while(*p!='{ARTICLE_CONTENT}')      /*學號必須是數字,否則返回重新輸入*/
       {    NO=(int)*p;
      if(NO<48||NO>57)
  {   puts("\t\t\t非法學號!請重新輸入!\n");
      return 0;
   }
      else p++;      /*指針加1*/
        }
   if(strlen(stu_num)!=10)     /*若學號長度不為10,則返回重新輸入*/
 {  puts("\t\t\t學號長度不對!\n");
    return 0;
  }
   if(getchar()!='\n')      /*若學號后面的字符不是回車符,則學號長度大于10*/
 {    printf("\t\t\t學號長度大于10個!請重新輸入!\n");
      do{}while(getchar()!='\n');   /*用getchar接收多余的字符*/
      return 0;       
  } 

   else
     {
    rewind(fp);      /*使文件指針指向頭*/
    while(!feof(fp))     /*若文件指針未到結尾,就繼續執行下面的循環,feof遇到文件結束符返回非零值,否則返回0*/
  {   fread(&stud,sizeof(struct stuType),1,fp); /*讀取一定長度的數據*/
             if(strcmp(stu_num,stud.NO)==0)  /*學號的唯一性*/
   {  printf("\t\t\t學號重復,請重新輸入!\n");
         printf("\t\t\t該學生成績如下:\n");  
         printf("\t\t\t語文:%.1f\n",stud.CJ[0]);
         printf("\t\t\t數學:%.1f\n",stud.CJ[1]);
         printf("\t\t\t英語:%.1f\n",stud.CJ[2]);
         printf("\t\t\t總評:%.1f\n",stud.CJ[3]);
       return 0;
           }
  }
    }
   return 1;
  
}

/*-------------3-------------*/
int JY_NO2(char *stu_num)   /*檢驗學號*/
{    int NO;
     char *p=stu_num;         
     if(strcmp(stu_num,"#")==0)return 1; /*若輸入“#”,則返回真值結束*/
     if(strlen(stu_num)!=10)   /*學號長度為10*/
 {   puts("\t\t\t學號長度不對!\n");
     return 0;
  }
     while(*p!='{ARTICLE_CONTENT}')    /*學號必須用數字,若包含有字母,或其它字符則返回假值重新輸入*/
      {      NO=(int)*p;
      if(NO<48||NO>57)
  {   puts("\t\t\t非法學號!請重新輸入!\n");
      return 0;
   }
      else p++;    /*指針加1*/
 }
     if(getchar()!='\n')   /*檢驗學號長度是否大于10,并把多余的字符去掉*/
 {    printf("\t\t\t學號長度大于10個!請重新輸入!\n"); 
      do{}while(getchar()!='\n');
      return 0;       
 } 
     return 1;
}

/*-------------4-------------*/
int JY_XM(char *stu_XM)    /*檢驗姓名*/
{  int PD;
   char *p;
   p=stu_XM;
   while(*p!='{ARTICLE_CONTENT}')    /*姓名只能用中文*/
   {  
      PD=(int)*p;
      if(PD>0)
 {  puts("\t\t\t姓名只能用中文,請重新輸入!\n");
    return 0;
  }
      else p++;     /*使指針加1,指向下一漢字*/
    }
   if(getchar()!='\n')    /*姓名長度不得大于5個*/
 {    printf("\t\t\t姓名長度大于5個!請重新輸入!\n");
      do{}while(getchar()!='\n');
      return 0;       
 } 
   return 1;     /*字符串全為漢字返回真*/

}

/*-------------5-------------*/
int JY_CJ(float stu_CJ)    /*學生成績只能在0~100之間*/
{   
     if(stu_CJ<0||stu_CJ>100)
 {  printf("\t\t\t輸入錯誤,成績只能在0~100之間!\n");
    return 0;
  }
    return 1;
}

/*-------------6-------------*/
void CreatFile()     /*輸入文件*/
{  FILE *fp;
   struct stuType stu,stu0={"","",};   /*對stu0先賦值*/
   fp=fopen("stu.dat","wb+");    /*打開或創建一個二進制文件,打開時將原來的內容刪除*/
   if(fp==NULL)
 {  printf("\t\t\t文件打開失敗!\n\t\t\t按任意鍵返回...");
    getch();
    return;
  }
   else
   {   while(1)
 {   stu=stu0;
     do{  printf("\n\t\t\t請輸入學號:");  /*輸入學號并檢驗其正確性*/
   scanf("%10s",stu.NO);
        }while(!JY_NO(stu.NO,fp));
     if(strcmp(stu.NO,"#")==0)break;
     do{  printf("\n\t\t\t請輸入姓名:");  /*輸入姓名并檢驗其正確性*/
   scanf("%10s",stu.XM);
        }while(!JY_XM(stu.XM));
     do{  printf("\n\t\t\t請輸入語文成績:"); /*輸入成績并檢驗其正確性*/
   scanf("%f",&stu.CJ[0]);
        }while(!JY_CJ(stu.CJ[0]));
     do{  printf("\n\t\t\t請輸入數學成績:"); /*同上*/
   scanf("%f",&stu.CJ[1]);
        }while(!JY_CJ(stu.CJ[1]));
     do{  printf("\n\t\t\t請輸入英語成績:");
   scanf("%f",&stu.CJ[2]);
        }while(!JY_CJ(stu.CJ[2]));
     do{  printf("\n\t\t\t請輸入總評成績:");
   scanf("%f",&stu.CJ[3]);
        }while(!JY_CJ(stu.CJ[3]));
     fwrite(&stu,sizeof(struct stuType),1,fp); /*寫文件*/
 }

   }
   fclose(fp);      /*關閉文件*/

}

/*-------------7-------------*/
void Search_Xuehao()       /*按學號查詢*/
{  FILE *fp;
  int flag;
   struct stuType stu,stud;
   fp=fopen("stu.dat","rb");
   if(fp==NULL)        /*若文件打不開則輸出下面的信息*/
 {  printf("\t\t\t文件打開失敗!\n\t\t\t按任意鍵返回...");
    getch();
    return;
  }
   else
    {   do{  puts("\n\t\t\t輸入“#”結束查詢");
      do{   printf("\t\t\t請輸入要查詢的學號:");
     scanf("%10s",stu.NO);
  }while(!JY_NO2(stu.NO));
      if(strcmp(stu.NO,"#")==0)break;         /*若輸入“#”則結束循環*/
      flag=0;
      rewind(fp);
      while(fread(&stud,sizeof(struct stuType),1,fp))      /*檢查文件指針結束*/
  {    if(strcmp(stu.NO,stud.NO)==0)   /*比較學號*/
   {  puts("\t\t\t該學生成績如下:");
      printf("\t\t\t學號:%s\n",stud.NO);
      printf("\t\t\t姓名:%s\n",stud.XM);
      printf("\t\t\t語文:%.1f\n",stud.CJ[0]);
      printf("\t\t\t數學:%.1f\n",stud.CJ[1]);
      printf("\t\t\t英語:%.1f\n",stud.CJ[2]);
      printf("\t\t\t總評:%.1f\n",stud.CJ[3]);
      flag=1;     /*記錄學號是否查到*/
    }
   }
     if(flag==0)puts("\t\t\t無此學號!");
  }while(strcmp(stu.NO,"#")!=0);

    }   
   fclose(fp);        /*關閉文件*/
      
}

/*-------------8-------------*/
void Search_Xingming()       /*按姓名查找*/
{   FILE  *fp;
    int flag=0;
    struct stuType stu,stud;
    fp=fopen("stu.dat","rb");
    if(fp==NULL)
 {   printf("\t\t\t文件打開失敗!\n\t\t\t按任意鍵返回...");
     getch();
     return;
  }
    else
     {   do{
        do{   printf("\t\t\t請輸入要查詢的學生姓名:");
               scanf("%10s",stu.XM);
            }while(!JY_XM(stu.XM));
  rewind(fp);      /*文件指針指向頭*/
    while(fread(&stud,sizeof(struct stuType),1,fp))
      {    if(strcmp(stu.XM,stud.XM)==0)   /*比較姓名是否相同*/
       {  puts("\t\t\t該學生姓名如下:");
            printf("\t\t\t學號:%s\n",stud.NO);
             printf("\t\t\t姓名:%s\n",stud.XM);
             printf("\t\t\t語文:%.1f\n",stud.CJ[0]);
             printf("\t\t\t數學:%.1f\n",stud.CJ[1]);
             printf("\t\t\t英語:%.1f\n",stud.CJ[2]);
             printf("\t\t\t總評:%.1f\n",stud.CJ[3]);
             flag=1;     /*記錄姓名是否被查到*/
           }
           }
   if(flag==0)puts("\n\t\t\t無此學生!");
  puts("\t\t\t是否繼續(y--繼續,其他返回)?");
     }while(getch()=='y');
      }
   fclose(fp);   
  /* puts("\t\t\t請按任意鍵繼續...");*/
  /* getch();*/

}

/*-------------9-------------*/
int ListFile(void)       /*輸出文件,列出所有學生成績*/
{   FILE *fp;
    int REC=0;        /*記錄學生人數*/
    struct stuType stu;
    fp=fopen("stu.dat","rb");
    if(fp==NULL)
 {  printf("\t\t\t文件打開失敗!\n\t\t\t按任意鍵返回...");
    getch();
    return 1;
  }
    else{   printf("\t\t\t學生成績如下:\n");
     printf("\t\t\t學號\t\t姓名\t語文\t數學\t英語\t總評\n");
     rewind(fp);
     while(fread(&stu,sizeof(struct stuType),1,fp))  
  {          /*每讀取一個長度的數據就輸出*/
      printf("\t\t\t%s",stu.NO);
      printf("\t%s",stu.XM);    
      printf("\t%.1f",stu.CJ[0]);      
      printf("\t%.1f",stu.CJ[1]);    
      printf("\t%.1f",stu.CJ[2]);
      printf("\t%.1f",stu.CJ[3]);
      printf("\n");
      REC++;
      if(REC%20==0)     /*每輸出20個學生成績,停一下*/
   {   printf("\t\t\t請按任意鍵繼續...\n");
       getch();
    }
   }
  }
    fclose(fp);        /*關閉文件*/
    printf("\t\t\t請按任意鍵繼續...");
    getch();
        
}

/*-------------10-------------*/
void Statistics()       /*統計及格和優秀人數*/
{   FILE *fp;
    int REC=0,pass[4]={0},good[4]={0};     /*REC--記錄個數,即人數,pass--及格人數,good--優秀人數*/
    float highest[4]={0},score[4]={0};     /*highest--最高分,score--總分*/
    struct stuType stu;
    fp=fopen("stu.dat","rb");
    if(fp==NULL)
 {  printf("\t\t\t文件打開失敗!\n\t\t\t按任意鍵返回...");
    getch();
    return;
  }
    else {   rewind(fp);
      while(fread(&stu,sizeof(struct stuType),1,fp))
  {   REC++;
      score[0]=score[0]+stu.CJ[0];   /*語文*/
      if(stu.CJ[0]>=60)pass[0]++;
      if(stu.CJ[0]>=80)good[0]++;
      if(highest[0]<stu.CJ[0])highest[0]=stu.CJ[0]; 
      score[1]=score[1]+stu.CJ[1];   /*數學*/
      if(stu.CJ[1]>=60)pass[1]++;
      if(stu.CJ[1]>=80)good[1]++;
      if(highest[1]<stu.CJ[1])highest[1]=stu.CJ[1];
      score[2]=score[2]+stu.CJ[2];   /*英語*/
      if(stu.CJ[2]>=60)pass[2]++;
      if(stu.CJ[2]>=80)good[2]++;
      if(highest[2]<stu.CJ[2])highest[2]=stu.CJ[2];
      score[3]=score[3]+stu.CJ[3];   /*總評*/
      if(stu.CJ[3]>=60)pass[3]++;
      if(stu.CJ[3]>=80)good[3]++;
      if(highest[3]<stu.CJ[3])highest[3]=stu.CJ[3];
   }
      if(REC==0)       /*可以防止記錄為0是REC作除數而造成的錯誤*/
  {    printf("\t\t\t未輸入學生記錄!按任意鍵返回...");
       getch();
       return;
   }
      else{
        printf("\t\t\t\t  語文\t  數學\t  英語\t  總評\n"); /*輸出統計信息*/
        printf("\t\t\t平均分:   %.1f\t  %.1f\t  %.1f\t  %.1f\n",score[0]/REC,score[1]/REC,score[2]/REC,score[3]/REC);
          printf("\t\t\t最高分:  %.1f\t  %.1f\t  %.1f\t  %.1f\n",highest[0],highest[1],highest[2],highest[3]);
        printf("\t\t\t優秀人數:%d\t  %d\t  %d\t  %d\n",good[0],good[1],good[2],good[3]);
        printf("\t\t\t及格人數:%d\t  %d\t  %d\t  %d\n",pass[0],pass[1],pass[2],pass[3]);        
                  }
   }
    fclose(fp);
    printf("\n\t\t\t請按任意鍵繼續...");
    getch();
   
}

/*-------------11-------------*/
void HelpMessage()  
{ clrscr();
 printf("\n\n\n\n\n     此系統是應老師所布置的作業編制而成,該系統具有存貯學生數據,按學號、姓名查詢,列出學生成績和統計功能。\n    \n     使用方法:系統輸入數據后,將在當前目錄中建立一個名為stu.dat文件,用于保存輸入的數據。學號輸入只能用數字輸入,并且學號只能是10位。姓名輸入符合中國人的姓名,只能用中文,且最長為5個漢字。\n        此程序在Turbo C2.0下運行通過\n\n     由于是初學者,水平有限此系統還有許多不夠完整和嚴密性,敬請指正!");
 getch();
}

/*-------------12-------------*/
int GetKey(void)     /*此函數返回一個按鍵的數值*/
{   int key; 
    key=bioskey(0);     /*bioskey為調用BIOS鍵盤接口*/
    if(key<<8)      /*位移*/
    {
        key=key&0x00ff;
      
     }
      return key;     /*返回按鍵*/
}

/*-------------13-------------*/
void main()
{ int key;
  struct date d;     /*定義時間結構體*/
  getdate(&d);      /*讀取系統日期并把它放到結構體d中*/
  clrscr();      /*清除屏幕*/
  printf("\n\n\n\n\n");    
  printf("\t\t\t****************************\n"); /*版本信息*/
  printf("\t\t\t    學生成績管理系統1.0     \n");
  printf("\t\t\t****************************\n");
  printf("\t\t\t    制作群:  404+1工作室   \n");
  printf("\t\t\t    指導老師:---     \n");
  printf("\t\t\t    制作時間:2004年5月     \n");
  printf("\t\t\t****************************\n");
  printf("\t\t\t請按任意鍵繼續...");
  /*while(!kbhit());*/
  getch();      /*從鍵盤讀取一個字符,但不顯示于屏幕*/ 
  system("cls");     /*調用DOS的清屏函數,TC中可用clrscr代替*/
    while(1)      /*主菜單*/
     {    
   printf("\n\n\n\n\n");
   printf("\t\t\t************************************\n");
   printf("\t\t\t**\tF1 --幫助    **\n");
   printf("\t\t\t**\tF2 --輸入數據并存入文件   **\n");
   printf("\t\t\t**\tF3 --根據學號查詢成績   **\n");
   printf("\t\t\t**\tF4 --根據姓名查詢成績   **\n");
   printf("\t\t\t**\tF5 --輸出文件內容     **\n");
   printf("\t\t\t**\tF6 --統計及格和優秀人數   **\n");
   printf("\t\t\t**\tESC--退出系統    **\n");
   printf("\t\t\t************************************\n");
   printf("\n\t\t\t請輸入選項\t\t%d年%d月%d日\n\n",d.da_year,d.da_mon,d.da_day);  /*提示信息,并顯示當前系統日期*/
   key=GetKey();     /*調用自定義函數,讀取一個鍵*/
   switch(key)
   {
       case F1: HelpMessage();   break;
       case F2: CreatFile(); break;
       case F3: Search_Xuehao(); break;
       case F4: Search_Xingming();break;
       case F5: ListFile(); break;
       case F6: Statistics(); break;
       case ESC:exit(1);  break;
       /*default: puts("\t\t\t輸入錯誤選項!");
         printf("\t\t\t按任意鍵返回...");
         getch();*/
     }
   clrscr();     /*每執行完一項功能后,自動清屏*/
       }
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕乱码一区二区免费| 久久综合九色欧美综合狠狠| 欧美一区二区日韩一区二区| 久久精品人人做人人爽人人| 亚洲国产成人精品视频| www.av精品| 亚洲欧美视频在线观看| 免费三级欧美电影| 91久久精品国产91性色tv| 久久毛片高清国产| 日韩国产精品久久久久久亚洲| 不卡的av电影在线观看| 日韩欧美视频一区| 偷窥少妇高潮呻吟av久久免费| 国产aⅴ精品一区二区三区色成熟| 欧美人伦禁忌dvd放荡欲情| 亚洲欧洲日韩在线| 夫妻av一区二区| 久久久午夜电影| 久久97超碰色| 91精品国产欧美一区二区成人| 亚洲美女淫视频| 成人a免费在线看| 国产午夜亚洲精品羞羞网站| 麻豆精品在线播放| 欧美久久一二区| 亚洲精品国产一区二区精华液 | 日日夜夜精品视频免费| 色婷婷亚洲综合| 亚洲人123区| 成人av电影在线播放| 国产三级精品三级在线专区| 精品中文av资源站在线观看| 欧美一级一区二区| 日韩av不卡一区二区| 56国语精品自产拍在线观看| 日韩电影网1区2区| 日韩你懂的在线播放| 久久国产精品露脸对白| 精品国产免费人成在线观看| 激情久久五月天| 久久这里只有精品6| 国产精品自产自拍| 久久久久久久久久美女| 成人综合婷婷国产精品久久| 国产精品传媒视频| 欧洲av一区二区嗯嗯嗯啊| 亚洲国产精品久久一线不卡| 欧美高清hd18日本| 老色鬼精品视频在线观看播放| 久久亚洲精华国产精华液| 国产最新精品精品你懂的| 国产清纯在线一区二区www| www.亚洲精品| 亚洲午夜在线电影| 6080国产精品一区二区| 国内外成人在线| 《视频一区视频二区| 欧美日韩免费高清一区色橹橹| 日韩精品免费专区| 亚洲国产成人一区二区三区| 色综合天天综合狠狠| 日韩av高清在线观看| 欧美激情综合网| 欧美写真视频网站| 国精产品一区一区三区mba视频| 欧美激情一二三区| 6080国产精品一区二区| 丁香五精品蜜臀久久久久99网站| 亚洲欧美日本韩国| 精品少妇一区二区三区在线播放 | 麻豆一区二区三| 欧美不卡激情三级在线观看| 成人国产视频在线观看| 一区二区三区91| 精品久久人人做人人爽| 在线免费观看日本一区| 精品一区二区三区在线观看国产| 亚洲日本欧美天堂| 欧美电影免费观看高清完整版在线| 成人性生交大片免费看中文| 日韩中文欧美在线| 亚洲精品视频免费看| 2020国产精品自拍| 欧美日韩精品福利| 91麻豆自制传媒国产之光| 激情六月婷婷综合| 亚洲国产成人va在线观看天堂| 国产三级精品在线| 欧美xxxxx牲另类人与| 欧美色网站导航| 成人黄色小视频| 蜜桃精品视频在线观看| 午夜激情久久久| 亚洲视频一区二区免费在线观看| 欧美精品一区视频| 日韩女优av电影在线观看| 欧美日韩在线播放三区四区| 91年精品国产| 成人午夜又粗又硬又大| 久久99精品国产麻豆不卡| 午夜影视日本亚洲欧洲精品| 亚洲欧洲国产日韩| 亚洲天堂免费在线观看视频| 国产欧美一区二区精品久导航| 欧美一级淫片007| 欧美一区二区三区人| 欧美日韩成人高清| 欧美日韩视频一区二区| 在线观看www91| 一道本成人在线| 99久久99久久综合| 波多野结衣在线一区| 成人午夜在线视频| gogogo免费视频观看亚洲一| 国产成人高清视频| 高清国产一区二区| 国产成人综合在线观看| 国产黑丝在线一区二区三区| 激情偷乱视频一区二区三区| 国产剧情一区二区三区| 高清在线成人网| 91免费观看视频| 日本精品免费观看高清观看| 在线观看国产91| 久久黄色级2电影| 亚洲欧美怡红院| 日韩一区二区在线看片| 国产福利电影一区二区三区| 日韩中文字幕av电影| 麻豆成人在线观看| 国产综合色视频| 9l国产精品久久久久麻豆| 91亚洲精品久久久蜜桃| 欧美日韩在线一区二区| 欧美一级爆毛片| 国产色综合久久| 亚洲六月丁香色婷婷综合久久 | 国内精品视频一区二区三区八戒| 精品一区二区三区免费观看| 成人av在线资源网| 欧美日韩一区二区三区高清| 日韩欧美国产一区二区在线播放| 久久久三级国产网站| 一区在线播放视频| 午夜不卡av在线| 国产精品 欧美精品| 一本色道久久综合狠狠躁的推荐| 精品国产一区二区三区久久影院| 欧美精品一区二区三区在线| 国产情人综合久久777777| 一区二区三区四区视频精品免费 | 亚洲欧美日韩系列| 毛片av中文字幕一区二区| 国产在线精品一区二区夜色| 91热门视频在线观看| 日韩欧美123| 亚洲人妖av一区二区| 麻豆精品一区二区| 91视视频在线观看入口直接观看www | 亚洲欧洲av在线| 日韩在线a电影| jlzzjlzz国产精品久久| 91麻豆精品国产91久久久久久| 国产免费久久精品| 午夜精品久久久久久久| 99久久伊人网影院| 日韩欧美成人一区二区| 亚洲一区二区av电影| 国产成人福利片| 精品少妇一区二区三区| 亚洲综合一区二区三区| 国产白丝网站精品污在线入口| 91精品欧美久久久久久动漫| 国产精品久久久久久妇女6080| 日韩在线一区二区| 欧美视频三区在线播放| 国产精品不卡一区二区三区| 国产在线精品免费| 在线播放中文一区| 日韩美女久久久| 成人国产亚洲欧美成人综合网| 欧美成人性福生活免费看| 五月天视频一区| 欧美三级日韩在线| 一区二区三区小说| 99久精品国产| 日韩毛片精品高清免费| av资源网一区| 国产精品国产三级国产有无不卡| 黄色小说综合网站| 精品国产一区二区三区久久久蜜月| 亚洲国产另类av| 欧美男男青年gay1069videost| 亚洲黄色尤物视频| 日本福利一区二区| 一区二区三区欧美在线观看| 99久久99久久综合| 一区二区三区四区亚洲| 在线免费观看日本一区|