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

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

?? student_management_system.txt

?? 學生成績管理系統,用C編的,比較簡單,但很經典
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
學生成績管理系統

 
/*頭文件*/
#include <stdio.h>
#include<dos.h>
#include<stdlib.h>   /*其它說明*/
#include<string.h>   /*字符串函數*/
#include<mem.h>      /*內存操作函數*/
#include<ctype.h>    /*字符操作函數*/
#include<alloc.h>    /*動態地址分配函數*/
#define LEN sizeof(STUDENT)
typedef struct stu   /*定義結構體數組用于緩存數據*/
{char num[6];
 char name[5];
 int score[3];
 int sum;
 float average;
 int order;
 struct stu *next;
}STUDENT;

/*函數原型*/
STUDENT  *init();    /*初始化函數*/
int menu_select();   /*菜單函數*/
STUDENT *create();   /*創建鏈表*/
void print(STUDENT *head);   /* 顯示全部記錄*/
void search(STUDENT *head);    /*查找記錄*/
STUDENT *delete(STUDENT *head);   /*刪除記錄*/
STUDENT *sort(STUDENT *head);    /*排序*/
STUDENT *insert(STUDENT *head,STUDENT *new);   /*插入記錄*/
void save(STUDENT *head);     /*保存文件*/
STUDENT *load();        /*讀文件*/

/*主函數界面*/
main()
{STUDENT *head,new;
 head=init();       /*鏈表初始化,使head的值為NULL*/
 for(;;)            /*循環無限次*/
   {switch(menu_select())    
      {                     
     case 1:head=create();break;
     case 2:print(head);break;
     case 3:search(head);break;
     case 4:head=delete(head);break;
     case 5:head=sort(head);break;
     case 6:head=insert(head,&new);break;  /*&new表示返回地址*/
     case 7:save(head);break;
     case 8:head=load(); break;
     case 9:exit(0);       /*如菜單返回值為9則程序結束*/
      }
   }
}

/*初始化函數*/
STUDENT *init()
{
 return NULL;  /*返回空指針*/
}

/*菜單選擇函數*/
menu_select()
{int n;
 struct date d;     /*定義時間結構體*/
 getdate(&d);      /*讀取系統日期并把它放到結構體d中*/
 printf("press any key to enter the menu......");   /*按任一鍵進入主菜單*/
 getch();    /*從鍵盤讀取一個字符,但不顯示于屏幕*/
 clrscr();   /*清屏*/
 printf("********************************************************************************\n");
 printf("\t\t                Welcome to\n");
 printf("\n\t\t      The student score manage system\n");
 printf("*************************************MENU***************************************\n");
 printf("\t\t\t1. Enter the record\n");            /*輸入學生成績記錄*/
 printf("\t\t\t2. Print the record\n");            /*顯示*/
 printf("\t\t\t3. Search record on name\n");       /*尋找*/
 printf("\t\t\t4. Delete a record\n");             /*刪除*/
 printf("\t\t\t5. Sort to make new a file\n");     /*排序*/
 printf("\t\t\t6. Insert record to list\n");       /*插入*/
 printf("\t\t\t7. Save the file\n");               /*保存*/
 printf("\t\t\t8. Load the file\n");               /*讀取*/
 printf("\t\t\t9. Quit\n");                       /*退出*/
 printf("\n\t\t             Made by Hu Haihong.\n");
 printf("********************************************************************************\n");
 printf("\t\t\t\t%d\\%d\\%d\n",d.da_year,d.da_mon,d.da_day);   /*顯示當前系統日期*/
 do{
    printf("\n\t\t\tEnter your choice(1~9):");  
    scanf("%d",&n);
   }while(n<1||n>9);    /*如果選擇項不在1~9之間則重輸*/
   return(n);           /*返回選擇項,主函數根據該數調用相應的函數*/
}

/*輸入函數*/
STUDENT *create()
{int i,s;
 STUDENT *head=NULL,*p;  /* 定義函數.此函數帶回一個指向鏈表頭的指針*/
 clrscr();
 for(;;)
   {p=(STUDENT *)malloc(LEN);  /*開辟一個新的單元*/
    if(!p)   /*如果指針p為空*/
      {printf("\nOut of memory.");   /*輸出內存溢出*/
       return (head);  /*返回頭指針,下同*/
      }
    printf("Enter the num(0:list end):"); 
    scanf("%s",p->num);
    if(p->num[0]=='0') break;    /*如果學號首字符為0則結束輸入*/
    printf("Enter the name:");
    scanf("%s",p->name);
    printf("Please enter the %d scores\n",3);  /*提示開始輸入成績*/
    s=0;                /*計算每個學生的總分,初值為0*/
    for(i=0;i<3;i++)    /*3門課程循環3次*/
      {
       do{
      printf("score%d:",i+1);
      scanf("%d",&p->score[i]);
      if(p->score[i]<0 || p->score[i]>100)   /*確保成績在0~100之間*/
      printf("Data error,please enter again.\n");
     }while(p->score[i]<0 || p->score[i]>100);
     s=s+p->score[i];   /*累加各門成績*/
      }
      p->sum=s;     /*將總分保存*/
      p->average=(float)s/3;  /*先用強制類型轉換將s轉換成float型,再求平均值*/
      p->order=0;             /*未排序前此值為0*/
      p->next=head;           /*將頭結點做為新輸入結點的后繼結點*/
      head=p;                 /*新輸入結點為新的頭結點*/
   }
   return(head);  
}

/* 顯示全部記錄函數*/
void print(STUDENT *head)
{int i=0;     /* 統計記錄條數*/
 STUDENT *p;  /*移動指針*/
 clrscr();
 p=head;      /*初值為頭指針*/
 printf("\n************************************STUDENT************************************\n");
 printf("-------------------------------------------------------------------------------\n");
 printf("| Rec |   Num   |   Name   |  Sc1  |  Sc2  |  Sc3  |  Sum  |   Ave   | Order |\n");
 printf("-------------------------------------------------------------------------------\n");
 while(p!=NULL)
   {
    i++;
    printf("| %3d |  %4s   |   %-4s   |  %3d  |  %3d  |  %3d  |  %3d  |  %4.2f  |  %-5d|\n", 
    i, p->num,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order);
    p=p->next;
   }
 printf("-------------------------------------------------------------------------------\n");
 printf("**************************************END**************************************\n");
}

/*查找記錄函數*/
void search(STUDENT *head)
{STUDENT *p;    /*  移動指針*/
 char s[5];     /*存放姓名用的字符數組*/
 clrscr();
 printf("Please enter name for searching.\n");
 scanf("%s",s);
 p=head;    /*將頭指針賦給p*/
 while(strcmp(p->name,s) && p != NULL)  /*當記錄的姓名不是要找的,或指針不為空時*/
   p=p->next;     /*移動指針,指向下一結點*/
   if(p!=NULL)         /*如果指針不為空*/
   {printf("\n*************************************FOUND************************************\n");
    printf("-------------------------------------------------------------------------------\n");
    printf("|     Num    |    Name    |  sc1  |  sc2  |  sc3  |  Sum  |   Ave   | Order |\n");
    printf("-------------------------------------------------------------------------------\n");
    printf("|     %4s   |    %4s    |  %3d  |  %3d  |  %3d  |  %3d  |  %4.2f  |  %-5d|\n",
    p->num,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order);
    printf("-------------------------------------------------------------------------------\n");
    printf("***************************************END**************************************\n");
    }
   else
     printf("\nThere is no num %s student on the list.\n",s);   /*顯示沒有該學生*/
}

/*刪除記錄函數*/
STUDENT *delete(STUDENT *head)
{int n;
 STUDENT *p1,*p2;  /*p1為查找到要刪除的結點指針,p2為其前驅指針*/
 char c,s[6];     /*s[6]用來存放學號,c用來輸入字母*/
 clrscr();
 printf("Please enter the deleted num: ");
 scanf("%s",s);
 p1=p2=head;    /*給p1和p2賦初值頭指針*/
 while(strcmp(p1->num,s) && p1 != NULL)   /*當記錄的學號不是要找的,或指針不為空時*/
   {p2=p1;            /*將p1指針值賦給p2作為p1的前驅指針*/
    p1=p1->next;      /*將p1指針指向下一條記錄*/
   }
 if(strcmp(p1->num,s)==0)  /*學號找到了*/
   {printf("**************************************FOUND************************************\n");
    printf("-------------------------------------------------------------------------------\n");
    printf("|     Num    |    Name    |  sc1  |  sc2  |  sc3  |  Sum  |   Ave   | Order |\n");
    printf("-------------------------------------------------------------------------------\n");
    printf("|     %4s   |    %4s    |  %3d  |  %3d  |  %3d  |  %3d  |  %4.2f  |  %-5d|\n",
    p1->num,p1->name,p1->score[0],p1->score[1],p1->score[2],p1->sum,p1->average,p1->order);
    printf("-------------------------------------------------------------------------------\n");
    printf("***************************************END**************************************\n");
    printf("Are you sure to delete the student Y/N ?"); /*提示是否要刪除,輸入Y刪除,N則退出*/
    for(;;)
      {scanf("%c",&c);
       if(c=='n'||c=='N') break;  /*如果不刪除,則跳出本循環*/
       if(c=='y'||c=='Y')
         {
          if(p1==head)       /*若p1==head,說明被刪結點是首結點*/
          head=p1->next;     /*把第二個結點地址賦予head*/
        else
          p2->next=p1->next;  /*否則將一下結點地址賦給前一結點地址*/
          n=n-1;
          printf("\nNum %s student have been deleted.\n",s);
          printf("Don't forget to save.\n");break;  /*刪除后就跳出循環*/
         }
      }
    }
  else
    printf("\nThere is no num %s student on the list.\n",s);  /*找不到該結點*/
 return(head);
}

/*排序函數*/
STUDENT *sort(STUDENT *head)
{int i=0;                       /*保存名次*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日精品一区视频| 毛片不卡一区二区| 91亚洲午夜精品久久久久久| 国产午夜精品一区二区三区视频 | 国产精品亚洲а∨天堂免在线| 亚洲精品免费一二三区| 一区二区三区四区中文字幕| 日韩精品久久久久久| 日韩激情一区二区| 国产成人精品影视| 91美女蜜桃在线| 国产亚洲欧美日韩日本| www久久精品| 丁香啪啪综合成人亚洲小说| 国产精品视频免费| 欧美日韩一级片在线观看| 麻豆传媒一区二区三区| 国产日产亚洲精品系列| 不卡视频一二三四| 午夜日韩在线电影| 国产亚洲va综合人人澡精品| 色伊人久久综合中文字幕| 午夜精品福利一区二区蜜股av | 国产精品18久久久久久久久 | 欧美一区二区日韩| 国产成人免费视频| 一区二区三区在线观看国产| 欧美一区二区在线免费观看| 国产不卡视频一区| 97aⅴ精品视频一二三区| 亚洲资源中文字幕| 国产清纯白嫩初高生在线观看91| 欧洲一区二区三区免费视频| 久久成人羞羞网站| 亚洲三级理论片| 精品欧美乱码久久久久久1区2区| 99国产精品久久久| 久久草av在线| 亚洲成人三级小说| 国产精品看片你懂得| 欧美成人精品福利| 日本久久一区二区| 国产99一区视频免费| 日韩av一区二区在线影视| 国产精品私房写真福利视频| 日韩限制级电影在线观看| 91在线精品秘密一区二区| 久久99精品一区二区三区三区| 亚洲精品成人悠悠色影视| 国产日韩亚洲欧美综合| 日韩欧美精品三级| 精品1区2区3区| 99国产麻豆精品| 日韩av成人高清| 一区二区三区美女| 欧美人xxxx| 精品无人码麻豆乱码1区2区| 精品国产一区二区三区忘忧草 | 久久美女艺术照精彩视频福利播放| 秋霞影院一区二区| 色综合久久久久久久久久久| 六月丁香婷婷久久| 一区二区三区av电影 | 国产福利91精品一区| 男女男精品网站| 亚洲综合久久av| 亚洲欧美国产三级| 国产精品欧美一区二区三区| 国产日韩视频一区二区三区| 久久网站热最新地址| 日韩精品一区二区在线| 91精品国产91热久久久做人人| 欧洲精品一区二区三区在线观看| 91污在线观看| 91丨九色丨尤物| 97精品国产露脸对白| 91欧美激情一区二区三区成人| 国产精品1区2区3区在线观看| 国产美女精品一区二区三区| 国产精品一二三在| 国产成人在线视频网站| 国产不卡高清在线观看视频| 成人免费视频国产在线观看| 丰满放荡岳乱妇91ww| 成人av动漫网站| 91在线视频免费观看| 99riav一区二区三区| 91精品福利视频| 欧美综合亚洲图片综合区| 综合色天天鬼久久鬼色| 中文字幕一区三区| 亚洲人成网站在线| 日韩国产欧美三级| 久久精品国产精品青草| 韩国精品主播一区二区在线观看| 国产麻豆视频精品| 国产69精品久久久久777| 99久久精品国产导航| 日本韩国精品一区二区在线观看| 欧洲精品在线观看| 欧美一区日本一区韩国一区| 久久久久久久一区| 国产精品久久久久久久第一福利| 亚洲女人小视频在线观看| 亚洲成人自拍一区| 久久99精品国产| 精品国产亚洲在线| 欧美一卡2卡三卡4卡5免费| 亚洲婷婷综合久久一本伊一区| 亚洲一区二区三区免费视频| 日本视频中文字幕一区二区三区| 日韩电影免费在线看| 国产九色sp调教91| 99久免费精品视频在线观看| 在线观看日韩高清av| 日韩女同互慰一区二区| 久久久国产一区二区三区四区小说| 亚洲三级电影网站| 欧美亚洲自拍偷拍| 精品国产伦理网| 亚洲欧美另类综合偷拍| 欧美在线啊v一区| 日韩精品影音先锋| 国产精品福利影院| 日本亚洲欧美天堂免费| 丁香桃色午夜亚洲一区二区三区| 欧美性大战xxxxx久久久| 国产免费成人在线视频| 日日摸夜夜添夜夜添国产精品| 高清不卡一二三区| 欧美一区二区精品在线| 亚洲日本va午夜在线电影| 久久99精品国产| 7777精品伊人久久久大香线蕉完整版 | 欧美日韩和欧美的一区二区| 国产亚洲欧美中文| 三级一区在线视频先锋| av在线免费不卡| 久久婷婷久久一区二区三区| 日韩在线a电影| 欧美在线视频日韩| 国产精品久久久一区麻豆最新章节| 蜜乳av一区二区| 欧美日韩国产123区| 综合久久综合久久| 国产伦精品一区二区三区免费| 欧美日本一道本| 一区二区久久久久久| av在线不卡电影| 国产精品美女久久久久久久久久久 | 国产精品人成在线观看免费| 精品一区二区三区免费| 51精品秘密在线观看| 亚洲国产精品一区二区www| caoporn国产精品| 久久精品视频一区| 国产麻豆成人传媒免费观看| 欧美大片免费久久精品三p| 亚洲成人黄色小说| 欧美日韩国产区一| 亚洲成人tv网| 欧美日韩国产首页| 日日夜夜精品视频天天综合网| 欧美三级日韩在线| 亚洲电影一区二区| 欧美在线free| 午夜国产精品影院在线观看| 欧美日韩国产美| 丝袜脚交一区二区| 欧美另类久久久品| 日韩中文欧美在线| 欧美丰满少妇xxxxx高潮对白| 久久久影视传媒| 色综合久久综合网欧美综合网| 欧美性色黄大片| 欧美一区二区三区喷汁尤物| 国产精品一区在线观看你懂的| 亚洲一区免费视频| 国产日韩欧美不卡| 亚洲少妇中出一区| 91国内精品野花午夜精品| 男女男精品视频网| 亚洲成av人片www| 亚洲三级免费观看| 中文字幕欧美一区| 亚洲免费视频成人| 日韩一区二区电影在线| 男女视频一区二区| 精品捆绑美女sm三区| 国产精品一二三四| 亚洲人成网站影音先锋播放| 欧美性受xxxx黑人xyx| 日韩电影在线观看一区| 欧美成人综合网站| 懂色av中文字幕一区二区三区| 国产精品毛片a∨一区二区三区| 欧美亚洲国产怡红院影院| 另类中文字幕网| 国产精品久久久久久福利一牛影视| 91国偷自产一区二区三区观看|