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

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

?? c++學生系統代碼2.txt

?? 學生系統 計算學生分數.xxxxxxxxxx
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
#define LEN sizeof(struct scorenode)
#define DEBUG
#include <string.h>
struct scorenode
{int number;/*學號*/
char name[10];/*姓名*/
float yuwen;/*語文成績*/
float yingyu;/*英語成績*/
float shuxue;/*數學成績 */
struct scorenode *next;
};
typedef struct scorenode score;
int n,k;/*n,k為全局變量,本程序中的函數均可以使用它*/
/*==================================================================================*/
score *creat2311(void)
/*函數creat2311,功能:創建鏈表,此函數帶回一個指向鏈表頭的指針*/
{
 score*head;
 score *p1,*p2,*p3,*max;
 int i,j;
 float fen;
    char t[10];
  n=0;
     p1=p2=p3=(score *)malloc(LEN);head=p3; /*開辟一個新單元*/
       printf("請輸入學生資料,輸0退出! ");
repeat1: printf("請輸入學生學號(學號應大于0):");/*輸入學號,學號應大于0*/
       scanf("%d",&p1->number);
     while(p1->number<0)
   {getchar();
    printf("輸入錯誤,請重新輸入學生學號:");
       scanf("%d",&p1->number);}       
  /*輸入學號為字符或小于0時,程序報錯,提示重新輸入學號*/
  if(p1->number==0)
   goto end;/*當輸入的學號為0時,轉到末尾,結束創建鏈表*/
  else 
  { 
  p3=head;
  if(n>0)
   {for(i=0;i<n;i++)
           {if(p1->number!=p3->number)
     p3=p3->next;
     else 
     {printf("學號重復,請重輸! ");
     goto repeat1;
     /*當輸入的學號已經存在,程序報錯,返回前面重新輸入*/
        }
    }     
   }          
  }
       printf("請輸入學生姓名:");
       scanf("%s",&p1->name);/*輸入學生姓名*/
       printf("請輸入語文成績(0~100):");/*輸入語文成績,成績應在0-100*/
       scanf("%f",&p1->yuwen);
    while(p1->yuwen<0||p1->yuwen>100)
 {getchar();
  printf("輸入錯誤,請重新輸入語文成績");/*輸入錯誤,重新輸入語文成績直到正確為止*/
            scanf("%f",&p1->yuwen);}
       printf("請輸入英語成績(0~100):");/*輸入英語成績,成績應在0-100*/
       scanf("%f",&p1->yingyu);
    while(p1->yingyu<0||p1->yingyu>100)
 {getchar();
  printf("輸入錯誤,請重新輸入英語成績");/*輸入錯誤,重新輸入英語成績直到正確為止*/
           scanf("%f",&p1->yingyu);}
       printf("請輸入數學成績(0~100):");/*輸入數學成績,成績應在0-100*/
       scanf("%f",&p1->shuxue);
    while(p1->shuxue<0||p1->shuxue>100)
 {getchar();
  printf("輸入錯誤,請重新輸入數學成績");
            scanf("%f",&p1->shuxue);}/*輸入錯誤,重新輸入數學成績直到正確為止*/
     head=NULL;
 while(p1->number!=0)
  {
    n=n+1;
 if(n==1)  
  head=p1;
 else
 
    p2->next=p1;
    p2=p1;
    p1=(score *)malloc(LEN);
    printf("請輸入學生資料,輸0退出! ");
repeat2:printf("請輸入學生學號(學號應大于0):");
      scanf("%d",&p1->number);/*輸入學號,學號應大于0*/
   
   while(p1->number<0)
   {getchar();
    printf("輸入錯誤,請重新輸入學生學號:");
       scanf("%d",&p1->number);}      
   /*輸入學號為字符或小于0時,程序報錯,提示重新輸入學號*/
  if(p1->number==0)
   goto end;/*當輸入的學號為0時,轉到末尾,結束創建鏈表*/
  else
  {
  p3=head;
  if(n>0)
   {for(i=0;i<n;i++)
      {if(p1->number!=p3->number)
    p3=p3->next;
    else 
    {printf("學號重復,請重輸! ");
     goto repeat2;
     /*當輸入的學號已經存在,程序報錯,返回前面重新輸入*/
    }
    }     
   }          
 
  }
  printf("請輸入學生姓名:");
       scanf("%s",&p1->name);/*輸入學生姓名*/
     printf("請輸入語文成績(0~100):");
       scanf("%f",&p1->yuwen);/*輸入語文成績,成績應在0-100*/
     while(p1->yuwen<0||p1->yuwen>100)
  {getchar();
   printf("輸入錯誤,請重新輸入語文成績");
         scanf("%f",&p1->yuwen);}/*輸入錯誤,重新輸入語文成績直到正確為止*/
     printf("請輸入英語成績(0~100):");
      scanf("%f",&p1->yingyu);/*輸入英語成績,成績應在0-100*/
     while(p1->yingyu<0||p1->yingyu>100)
  {getchar();
   printf("輸入錯誤,請重新輸入英語成績");
         scanf("%f",&p1->yingyu);}/*輸入錯誤,重新輸入英語成績直到正確為止*/
      printf("請輸入數學成績(0~100):");
       scanf("%f",&p1->shuxue);/*輸入數學成績,成績應在0-100*/
     while(p1->shuxue<0||p1->shuxue>100)
  {getchar();
   printf("輸入錯誤,請重新輸入數學成績");
         scanf("%f",&p1->shuxue);}/*輸入錯誤,重新輸入數學成績直到正確為止*/
     
 }

end: p1=head;
     p3=p1;
  for(i=1;i<n;i++)
               {
             for(j=i+1;j<=n;j++)
                 {
       max=p1;
       p1=p1->next;
      
       if(max->number>p1->number)
        {
        k=max->number;
        max->number=p1->number;
        p1->number=k;
         /*交換前后結點中的學號值,使得學號大者移到后面的結點中*/
        
        strcpy(t,max->name);
        strcpy(max->name,p1->name);
        strcpy(p1->name,t);
     /*交換前后結點中的姓名,使之與學號相匹配*/
        fen=max->yuwen;
        max->yuwen=p1->yuwen;
        p1->yuwen=fen;
                 /*交換前后結點中的語文成績,使之與學號相匹配*/
      
        fen=max->yingyu;
        max->yingyu=p1->yingyu;
        p1->yingyu=fen;
    /*交換前后結點中的英語成績,使之與學號相匹配*/
       
        fen=max->shuxue;
        max->shuxue=p1->shuxue;
        p1->shuxue=fen;
                /*交換前后結點中的數學成績,使之與學號相匹配*/
        }

                 }
    max=head;p1=head;/*重新使max,p指向鏈表頭*/
  } 
p2->next=NULL;/*鏈表結尾*/
       printf("輸入的學生數為:%d個! ",n);
       return(head);

}
/*=================================================================================*/
/*=================================================================================*/
score *load2311(score *head)
/*函數load2311,功能:從文件讀入學生記錄*/
{       score *p1,*p2;
        int m=0;
        char filepn[10];
  FILE *fp;
  
  printf("請輸入文件路徑及文件名:");
     scanf("%s",filepn);/*輸入文件路徑及名稱*/
     if((fp=fopen(filepn,"r+"))==NULL)
 {
  printf("不能打開文件! ");
  return 0;
 }
     fscanf(fp,"            考試成績管理系統             ");
     fscanf(fp,"作者:周純鋼 班級:  信息023   學號:11 ");
        fscanf(fp,"----------------------------------------- ");
  fscanf(fp,"|學號 |姓名 |語文 |英語 |數學 | ");
        fscanf(fp,"----------------------------------------- ");/*讀入表格域*/
  printf("            考試成績管理系統             ");
     printf("  作者:周純鋼 班級:  信息023   學號:11 ");
        printf("----------------------------------------- ");
  printf("|學號 |姓名 |語文 |英語 |數學 | ");
        printf("----------------------------------------- ");/*打印表格域*/
  m=m+1;  
  if(m==1)
  {
  
  p1=(score *)malloc(LEN); /*開辟一個新單元*/
  fscanf(fp,"%d%s%f%f%f",&p1->number,p1->name,&p1->yuwen,&p1->yingyu,&p1->shuxue);
         printf("|%d |%s |%.1f |%.1f |%.1f | ",p1->number,p1->name,p1->yuwen,p1->yingyu,p1->shuxue);
    /*文件讀入與顯示*/
  head=NULL;
     do
  {
   n=n+1;
   if(n==1) head=p1;
   else p2->next=p1;
   p2=p1;
   p1=(score *)malloc(LEN);  /*開辟一個新單元*/    
      fscanf(fp,"%d%s%f%f%f ",&p1->number,p1->name,&p1->yuwen,&p1->yingyu,&p1->shuxue);
            printf("|%d |%s |%.1f |%.1f |%.1f | ",p1->number,p1->name,p1->yuwen,p1->yingyu,p1->shuxue);
           /*文件讀入與顯示*/
  }while(!feof(fp));
  p2->next=p1;
  p1->next=NULL;
  n=n+1; 
 }printf("----------------------------------------- ");/*表格下線*/
  fclose(fp);/*結束讀入,關閉文件*/
      
 return (head);
}

/*================================================================================*/
/*================================================================================*/
score *add2311(score *head,score *stu)
/*函數add2311,功能:追加學生資料,并且將所有學生資料按學號排序*/
{
 score *p0,*p1,*p2,*p3,*max;
    int i,j;
 float fen;
    char t[10];

   p3=stu=(score *)malloc(LEN);/*開辟一個新單元*/
   printf(" 輸入要增加的學生的資料!");
  repeat4: printf("請輸入學生學號(學號應大于0):");
  scanf("%d",&stu->number); 
  /*輸入學號,學號應大于0*/
      while(stu->number<0)
   {getchar();
    printf("輸入錯誤,請重新輸入學生學號:");
       scanf("%d",&stu->number);}/*輸入錯誤,重新輸入學號*/
     /******************************************************/
    if(stu->number==0)
   goto end2;/*當輸入的學號為0時,轉到末尾,結束追加*/
  else 
  { 
   p3=head;
  if(n>0)
   {for(i=0;i<n;i++)
           {if(stu->number!=p3->number)
     p3=p3->next;
     else 
     {printf("學號重復,請重輸! ");
     goto repeat4;
     /*當輸入的學號已經存在,程序報錯,返回前面重新輸入*/
        }
    }     
   }          

  }
   
  /******************************************************/  
   printf("輸入學生姓名:");
         scanf("%s",stu->name);            /*輸入學生姓名*/
      printf("請輸入語文成績(0~100):");
         scanf("%f",&stu->yuwen);    /*輸入語文成績,成績應在0-100*/
      while(stu->yuwen<0||stu->yuwen>100)
   {getchar();
    printf("輸入錯誤,請重新輸入語文成績");
       scanf("%f",&stu->yuwen);}     /*輸入錯誤,重新輸入語文成績直到正確為止*/
      printf("請輸入英語成績(0~100):");
         scanf("%f",&stu->yingyu);/*輸入英語成績,成績應在0-100*/
      while(stu->yingyu<0||stu->yingyu>100)
   {getchar();
    printf("輸入錯誤,請重新輸入英語成績");
         scanf("%f",&stu->yingyu);}/*輸入錯誤,重新輸入英語成績直到正確為止*/
      printf("請輸入數學成績(0~100):");
         scanf("%f",&stu->shuxue);/*輸入數學成績,成績應在0-100*/
      while(stu->shuxue<0||stu->shuxue>100)
   {getchar();
    printf("輸入錯誤,請重新輸入數學成績");
          scanf("%f",&stu->shuxue);}/*輸入錯誤,重新輸入數學成績直到正確為止*/
p1=head;
p0=stu;
if(head==NULL)
 /*當原來鏈表為空時,從首結點開始存放資料*/
 else/*原來鏈表不為空*/
 {
  if(p1->next==NULL)/*找到原來鏈表的末尾*/
  {
   p1->next=p0;
      p0->next=NULL;/*將它與新開單元相連接*/
  }
     else
  {
    while(p1->next!=NULL)/*還沒找到末尾,繼續找*/
    {
     p2=p1;p1=p1->next;
    }
        p1->next=p0;
        p0->next=NULL;
  }

 }
 n=n+1;


p1=head;
p0=stu;
  for(i=1;i<n;i++)
               {
             for(j=i+1;j<=n;j++)
                 {
       max=p1;
       p1=p1->next;
      
       if(max->number>p1->number)
        {
        k=max->number;
        max->number=p1->number;
        p1->number=k;
         /*交換前后結點中的學號值,使得學號大者移到后面的結點中*/
        
        strcpy(t,max->name);
        strcpy(max->name,p1->name);
        strcpy(p1->name,t);
     /*交換前后結點中的姓名,使之與學號相匹配*/
        fen=max->yuwen;
        max->yuwen=p1->yuwen;
        p1->yuwen=fen;
                 /*交換前后結點中的語文成績,使之與學號相匹配*/
      
        fen=max->yingyu;
        max->yingyu=p1->yingyu;
        p1->yingyu=fen;
    /*交換前后結點中的英語成績,使之與學號相匹配*/
       
        fen=max->shuxue;
        max->shuxue=p1->shuxue;
        p1->shuxue=fen;
                /*交換前后結點中的數學成績,使之與學號相匹配*/
        }

                 }
    max=head;p1=head;/*重新使max,p指向鏈表頭*/
  } end2:
 printf("現在的學生數為:%d個! ",n);
  return(head);

}
/*=============================================================================*/
/*==============================================================================*/
score *search2311(score *head)
/*函數search2311,功能:查詢學生成績*/
{int number;
 score *p1,*p2;
 printf("輸入要查詢的學生的學號,");
 scanf("%d",&number);

while(number!=0)
{
   if(head==NULL)
  {printf(" 沒有任何學生資料! ");return(head);}

   printf("----------------------------------------- ");
   printf("|學號 |姓名 |語文 |英語 |數學 | ");
   printf("----------------------------------------- ");/*打印表格域*/
   p1=head;
     while(number!=p1->number&&p1->next!=NULL)


         if(number==p1->number)  
    {printf("|%d |%s |%.1f |%.1f |%.1f | ",p1->number,p1->name,p1->yuwen,p1->yingyu,p1->shuxue);
          printf("----------------------------------------- ");}/*打印表格域*/
         else 
           printf("%d不存在此學生! ",number);
  
         printf("輸入要查詢的學生的學號,");
         scanf("%d",&number);
}
printf("已經退出了! ");
return(head);}

/*==============================================================================*/
/*==============================================================================*/
score *del2311(score *head)/*函數del2311,功能:刪除學生資料*/
{
 score *p1,*p2;
int number;
 printf("輸入要刪除的學生的學號(輸入0時退出):");
 scanf("%d",&number);
 getchar();
 while(number!=0)/*輸入學號為0時退出*/
 {
 
  if(head==NULL)
  {
   printf(" 沒有任何學生資料! ");
   return(head);
  }


  p1=head;
  
  while(number!=p1->number&&p1->next!=NULL)
   /*p1指向的不是所要找的首結點,并且后面還有結點*/
   /*p1后移一個結點*/
     
  if(number==p1->number)  
   /*找到了*/  
  {
   if(p1==head)
    head=p1->next;
   /*若p1指向的是首結點,把地二個結點地址賦予head*/
   else 
      p2->next=p1->next;
   /*否則將下一個結點地址 賦給前一結點地址*/
   printf("刪除:%d ",number);n=n-1;
  }
  else
   printf("%d不存在此學生! ",number);
  /*找不到該結點*/
  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费性生活视频播放| aa级大片欧美| 日韩精品一区二区三区中文精品| 亚洲一二三区在线观看| 欧美探花视频资源| 男人的天堂亚洲一区| 精品嫩草影院久久| 国产传媒欧美日韩成人| 国产精品视频看| 欧美午夜免费电影| 青青青爽久久午夜综合久久午夜| 精品少妇一区二区三区日产乱码| 国产尤物一区二区| 亚洲婷婷在线视频| 在线不卡中文字幕| 国产一区二区毛片| 亚洲精品成人天堂一二三| 欧美人牲a欧美精品| 精品一区二区综合| 最新不卡av在线| 欧美精品乱人伦久久久久久| 国产一区在线观看视频| 亚洲女人小视频在线观看| 这里是久久伊人| 成人免费av网站| 日本视频一区二区| 国产精品久久久久一区| 欧美久久久久久蜜桃| 国产精品一二三区| 亚洲国产sm捆绑调教视频| 2023国产精品自拍| 色8久久人人97超碰香蕉987| 美女网站色91| 亚洲综合久久av| 久久夜色精品国产噜噜av| 欧美性猛交xxxx乱大交退制版| 精品午夜久久福利影院| 一区二区三区四区精品在线视频| 欧美大肚乱孕交hd孕妇| 99久久婷婷国产精品综合| 久久99热狠狠色一区二区| 亚洲激情成人在线| 久久久99免费| 91精品国产综合久久国产大片| 成人国产精品视频| 日韩av中文在线观看| 最新欧美精品一区二区三区| 欧美一级在线免费| 欧美日韩夫妻久久| 91视频你懂的| 成人少妇影院yyyy| 国产九九视频一区二区三区| 天天影视色香欲综合网老头| 亚洲丝袜另类动漫二区| 国产日韩在线不卡| 日韩精品中文字幕一区| 欧美专区日韩专区| 91捆绑美女网站| 成人美女视频在线看| 国产福利一区在线| 国内精品国产成人国产三级粉色| 日韩国产精品91| 亚洲国产日韩精品| 一区二区三区.www| 亚洲三级在线看| 自拍偷自拍亚洲精品播放| 国产欧美综合在线观看第十页| 精品毛片乱码1区2区3区 | 国产精品亚洲第一| 亚洲国产va精品久久久不卡综合| 亚洲精品视频在线看| 中文字幕亚洲一区二区av在线 | 午夜不卡av在线| 亚洲国产成人va在线观看天堂| 一区二区三区日韩精品视频| 国产精品色婷婷久久58| 国产精品色呦呦| 中文字幕一区二区三区蜜月| 国产精品灌醉下药二区| 综合久久给合久久狠狠狠97色| 国产精品久久久久久妇女6080| 欧美国产禁国产网站cc| 国产精品久久久久久久久晋中 | 精品捆绑美女sm三区| 欧美大白屁股肥臀xxxxxx| 精品久久五月天| 久久久不卡网国产精品一区| 中文字幕av一区 二区| 国产精品私房写真福利视频| 国产精品国产三级国产aⅴ入口| 国产精品你懂的| 亚洲视频 欧洲视频| 洋洋av久久久久久久一区| 天天影视涩香欲综合网| 久久99久久精品欧美| 国产成人综合亚洲网站| 成人一区在线看| 色成年激情久久综合| 欧美男同性恋视频网站| 日韩欧美色电影| 久久久综合精品| 亚洲欧美日韩久久精品| 舔着乳尖日韩一区| 国产精品亚洲一区二区三区妖精 | 日本二三区不卡| 91麻豆精品国产综合久久久久久 | 国产精品你懂的在线欣赏| 亚洲精品视频在线观看网站| 日韩va亚洲va欧美va久久| 国产一区二区三区不卡在线观看 | 欧美精品日日鲁夜夜添| 2024国产精品| 亚洲综合另类小说| 国产精品亚洲视频| 欧美视频一区二| 国产欧美va欧美不卡在线| 亚洲激情中文1区| 久久99最新地址| 91福利国产成人精品照片| 精品国产一区二区国模嫣然| 国产精品黄色在线观看| 日韩精品亚洲专区| 成人自拍视频在线观看| 制服视频三区第一页精品| 国产精品二三区| 蜜臀久久99精品久久久画质超高清| 国产成人精品一区二区三区四区| 日本伦理一区二区| 国产三级一区二区| 三级亚洲高清视频| 99久久精品情趣| 精品国产sm最大网站| 亚洲丰满少妇videoshd| 国产精品一二二区| 欧美一区二区三区免费| 亚洲人成在线播放网站岛国| 国产精品一区不卡| 欧美日韩国产在线观看| 久久精品亚洲一区二区三区浴池| 亚洲福利一二三区| 99国产欧美另类久久久精品| 欧美v日韩v国产v| 亚洲成在人线免费| 成人av高清在线| 久久精品无码一区二区三区| 调教+趴+乳夹+国产+精品| 色婷婷亚洲婷婷| 欧美国产欧美亚州国产日韩mv天天看完整| 日韩不卡手机在线v区| 欧美性大战久久久久久久蜜臀| 国产精品久线在线观看| 国产综合久久久久久久久久久久| 欧美日韩不卡一区二区| 亚洲精品免费在线播放| 成人av免费观看| 国产精品久久久一本精品| 国产高清成人在线| 中文字幕欧美国产| 国产另类ts人妖一区二区| 精品国产一二三区| 美女视频网站黄色亚洲| 欧美日本乱大交xxxxx| 亚洲免费观看高清完整版在线观看熊| 成人一区二区三区视频在线观看| 久久人人爽爽爽人久久久| 黄网站免费久久| 久久这里都是精品| 国产美女在线观看一区| 亚洲精品一区二区三区影院| 久久丁香综合五月国产三级网站| 日韩一区二区在线免费观看| 蜜桃一区二区三区四区| 日韩欧美国产精品| 精品一区二区三区免费毛片爱 | 欧美亚洲另类激情小说| 亚洲一级不卡视频| 91麻豆精品国产91久久久资源速度 | 亚洲综合av网| 欧美丝袜丝交足nylons图片| 婷婷丁香久久五月婷婷| 欧美一区二区观看视频| 另类调教123区| 国产亚洲欧美激情| 99精品视频一区二区| 亚洲黄色小说网站| 在线不卡中文字幕| 国产一区二区在线观看免费| 国产精品美女久久久久久久| 91亚洲男人天堂| 日本女优在线视频一区二区| 欧美白人最猛性xxxxx69交| 风间由美一区二区三区在线观看 | 欧美日韩一级二级| 激情综合亚洲精品| 欧美国产综合色视频| 欧洲精品视频在线观看| 麻豆视频一区二区| 国产精品三级在线观看| 欧美日韩一区二区三区在线| 久久精品国内一区二区三区|