亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言實現簡單學生學籍管理系統

2020-01-26 13:47:57
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C語言實現學生學籍管理系統的具體代碼,供大家參考,具體內容如下

#include<stdio.h> #include<string.h> #include<stdlib.h> #include<conio.h> #define N 100 /*存儲100個學生的學籍信息*/ int flag; /*標記是否登錄*/ struct date /*出生日期*/ {   int year;   int month;   int day; }; struct student {   char num[20];/*學號*/   char name[25];/*姓名*/   char sex[10];/*性別*/   struct date birthday;/*出生年月*/   int age;/*年齡*/   char addr[50];/*籍貫*/   char dept[50]; /*系別*/   char major[30]; /*專業*/   char classs[30]; /*班級*/   char phone[20];/*電話*/ }stu[N];  void login() /*登錄*/ {   void menu();   system("cls");   if(flag)   {     printf(" 已經登錄!/n");     printf("Press any key to continue…/n");     getchar();     getchar();     system("cls");     menu();   }   int load();   int n,i,m,w;   FILE *fp;   if((fp=fopen("D://file.txt","rb"))!=NULL) /*不是空文件*/    n=load(); /*打開文件*/   else    n=0;   struct student s;   char password[20];   int d,q;   printf("/n/t請選擇登錄身份:1.管理員   2.用戶   [ ]/b/b");   scanf("%d",&d);   if(d==1)   {     printf("/n/t/t/t請輸入密碼:");     getchar();     int j=0;     while(1)     {       password[j]=getch();       if(password[j]=='/r')        break;       printf("*");       j++;     }     password[j]='/0';     if(!strcmp(password,"930322")) /*判斷密碼是否正確*/     {       flag=1;       printf("/n/t登錄成功!/n");       printf("/tPress [ Enter ] key to continue…");       getchar();       system("cls");       menu();     }     if(!flag)     {       printf("/t/n密碼錯誤!/n");       printf("What do you want to do next? 1.繼續登錄 2.返回菜單  [ ]/b/b");       scanf("%d",&q);       if(q==1) /*繼續登錄*/       {         system("cls");         login();       }       else if(q==2) /*返回主菜單*/       {         system("cls");         menu();       }     }   }   else   {     printf("/n/t/t/t用戶名:");     scanf("%s",s.name);     printf("/t/t/t密碼:");     int j=0;     while(1)     {       password[j]=getch();       if(password[j]=='/r')        break;       printf("*");       j++;     }     password[j]='/0';     flag=0; /*未登錄時flag=0*/     for(i=0;i<n;i++)      if(!strcmp(s.name,stu[i].name)&&!strcmp(s.name,password))      {       flag=1; /*登錄成功flag=1*/       break;      }    if(flag)    {      printf("/n/t登錄成功!/n");      printf("/tPress any key to continue…/n");      getchar(); getchar();      system("cls");      menu(); /*登錄成功后返回主菜單*/    }    else    {     m=0; /*設置m是為了避免陷入 登錄失敗時 跳不出登錄界面*/     w=1; /*設置w是為了避免輸出多次 “用戶不存在”*/     int q; /*q為選項*/     do     {       if(w>0)         printf("用戶名不存在或密碼錯誤!/n"); /*第一次登錄時輸入不存在的用戶時顯示*/       printf("What do you want to do next? 1.繼續登錄 2.返回菜單  [ ]/b/b");       scanf("%d",&q);       if(q==1) /*繼續登錄*/       {         login();         m=1;       }       else if(q==2) /*返回主菜單*/       {         system("cls");         menu();         m=1;       }       else       {         printf("選擇錯誤!請重新選擇:/n");         w=0;       }     }while(m==0);    }   } }  void printf_one(int k) /*輸出一個學生的信息*/ {   system("color 4e");   printf("學號:%s/n",stu[k].num);   printf("姓名:%s/n",stu[k].name);   printf("性別:%s/n",stu[k].sex);   printf("出生年月:%d/%d/%d/n",stu[k].birthday.year,stu[k].birthday.month,stu[k].birthday.day);   printf("年齡:%d/n",stu[k].age);   printf("籍貫:%s/n",stu[k].addr);   printf("系別:%s/n",stu[k].dept);   printf("專業:%s/n",stu[k].major);   printf("班級:%s/n",stu[k].classs);   printf("電話:%s/n",stu[k].phone); }  void printf_n(int n) /*瀏覽時輸出所有學生的信息*/ {   system("color 2e");   int j,i=1;   for(j=0;j<n;j++)   {     printf("第%d個學生:/n",i++);     printf_one(j);     printf("/n");   }  getchar(); }  int load() /*打開文件,讀取里面的數據*/ {   FILE *fp;   int i;   if((fp=fopen("D://file.txt","rb"))==NULL) /*讀入空文件,rb表示打開一個二進制文件,只允許讀數據*/   {     printf("/n文件不存在!請輸入:/n");     return 0;   }   for(i=0;!feof(fp);i++) /*處理到文件結尾*/     fread(&stu[i],sizeof(struct student),1,fp); /*fread(buffer,size,cout,fp)將磁盤文件中的一批數據作為一個整體一次性讀取出來,   buffer指定數據塊位置,sizeof數據塊字節數,count讀取次數,fp指向源磁盤文件*/   fclose(fp);   return(i-1); }  void input(int k) /*輸入學生信息*/ {   getchar();   printf("學號:");  gets(stu[k].num);   printf("姓名:");  gets(stu[k].name);   printf("性別:");  gets(stu[k].sex);   printf("出生年月:"); scanf("%d/%d/%d",&stu[k].birthday.year,&stu[k].birthday.month,&stu[k].birthday.day);   printf("年齡:");  scanf("%d",&stu[k].age); getchar();   printf("籍貫:");  gets(stu[k].addr);   printf("系別:");  gets(stu[k].dept);   printf("專業:");  gets(stu[k].major);   printf("班級:");  gets(stu[k].classs);   printf("電話:");  gets(stu[k].phone); }  void save(int n) /*保存學生信息*/ {   void exit();   FILE *fp;   int i;   if((fp=fopen("D://file.txt","wb"))==NULL) /*只打開或建立一個二進制文件,只允許寫數據*/   {     printf("/nCan not open file!/n");     exit();   }   for(i=0;i<n;i++)    if(stu[i].name[0]!='/0')      if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1) /*將一批數據作為一個整體一次性寫入磁盤文件*/       printf("文件寫入錯誤!/n");   fclose(fp); }  void printf_back()/*添加學生信息后顯示的“是瀏覽還是返回”*/ {   int w,k=0;   void browse();   void menu();   printf("/n/n/t^_^.插入成功. ^_^/n/n");   do   {    printf("What do you want to do next?/n/n/t1).瀏覽所有/t2).返回: [ ]/b/b");    scanf("%d",&w);    if(w==1)    {      system("cls");      browse();    }    else if(w==2)    {      system("cls");      menu();    }    else      printf(" 選擇錯誤!請重新選擇!/n");   }while(k==0); }  void insert() /*添加學生信息*/ {   int i,n,k,t;   FILE *fp;   if((fp=fopen("D://file.txt","rb"))==NULL) /*讀入空文件,rb表示打開一個二進制文件,只允許讀數據*/   {     printf("How many people do you want to add(1-%d)?:",N-1);     n=0;   }   else   {    n=load();    printf("How many student do you want to insert (1-%d)?:",N-n-1);   }   scanf("%d",&t);   k=n+t;   for(i=n;i<k;i++)   {     printf("/n輸入第 %d 個學生學籍信息./n",i-n+1);     input(i);   }   save(k); /*保存所有學生的信息*/   printf_back(); }  void deleter() /*刪除*/ {   void menu();   if(!flag)   {     printf("/n/n/t請先登錄!/n");     printf("/n/t請按 Enter 鍵進入登錄界面!");     getchar();     getchar();     login();   }   else   {     struct student s;     int i,n,k,w0,w1;     n=load();     do     {       k=-1;       //printf_n(n); /*刪除之前先顯示所有學生的信息*/       do       {          printf("/n/n請輸入您想要刪除的學生的姓名!/nName:");          scanf("%s",s.name);          for(i=0;i<n;i++)           if(strcmp(s.name,stu[i].name)==0)           {            k=i;            s=stu[i];           }          if(k==-1)          {            int m;            printf("/n/n沒有這個學生的信息!/n");            printf("What do you want to do next? 1.繼續輸入 2.返回主菜單  [ ]/b/b");            scanf("%d",&m);            if(m==1)              deleter();            else            {              k=0;              menu();            }          }       }while(k==-1);       printf_one(k);       printf("/n/t確定刪除?/n/t1).是  2).返回 [ ]/b/b");/*再次詢問是否刪除*/       scanf("%d",&w0);       if(w0==1)       {         stu[k].name[0]='/0';         save(n);       }       else         break;       printf("/n/t^_^.成功刪除^_^./n");       printf("What do you want to do?/n/t1).繼續  2).返回 [ ]/b/b");       scanf("%d",&w1);     }while(w1==1);    system("cls");    menu(); /*不再刪除時返回主菜單,w1!=1*/   } }  void search() /*查找*/ {   void menu();   int w0,k,i,n,w1,w2;   struct student s;   FILE *fp;   if((fp=fopen("D://file.txt","rb"))!=NULL) /*不是空文件*/     n=load();   do   {     printf("請選擇查找類別: 1.姓名 2.學號  [ ]/b/b");     scanf("%d",&w1);     if(w1<1||w1>2)     {       printf("輸入錯誤!請重新輸入!/n");       w2=1;     }     else       w2=0; /*這里要注意:不加這句話會陷入死循環,跳不出來*/   }while(w2==1);   if(w1==1) /*按姓名查找*/   {     do     {       k=-1;       do       {         printf("/n請輸入您想要查找的學生的姓名!/nName:");         scanf("%s",s.name);         for(i=0;i<n;i++)          if(strcmp(s.name,stu[i].name)==0)          {            k=i;            s=stu[i];          }          if(k==-1) /*沒有找到*/          {            int o;            printf("/n/n沒有這個學生的信息!/n!");            printf("What do you want to do?/n/t1.繼續  2.返回菜單 [ ]/b/b");            scanf("%d",&o);            if(o==1)            {              system("cls");              search(); /*繼續查找*/            }            else            {              system("cls");              menu();            }          }       }while(k==-1);       system("cls");       printf_one(k); /*找到以后輸出這個學生的信息*/       printf("/nWhat do you want to do next?/n/t1).繼續  2).返回菜單  [ ]/b/b");       scanf("%d",&w0);     }while(w0==1);    system("cls");    menu(); /*不再查找時返回主菜單*/   }   else /*按學號查找*/   {     do     {       k=-1;       do       {         printf("/n請輸入您想要查找的學生的學號!/nNum:");         scanf("%s",s.num);         for(i=0;i<n;i++)          if(strcmp(s.num,stu[i].num)==0) /*找到了*/          {           k=i;           s=stu[i];          }         if(k==-1) /*沒有找到*/         {          int o;          printf("/n/n沒有這個學生的信息!/n!");          printf("What do you want to do?/n/t1.繼續  2.返回菜單 [ ]/b/b");          scanf("%d",&o);          if(o==1)          {            system("cls");            search(); /*繼續查找*/          }          else          {            system("cls");            menu();          }         }       }while(k==-1);       system("cls");       printf_one(k); /*找到以后輸出這個學生的學籍信息*/       printf("/nWhat do you want to do?/n/t1).繼續  2).返回菜單  [ ]/b/b");       scanf("%d",&w0);     }while(w0==1);    system("cls");    menu();/*不再查找時返回主菜單*/   } }  int modify_data(int i) /*修改信息函數*/ {   int c,w1;   void menu();   do   {     puts("/n請選擇要修改的選項:/n/n1.學號 2.姓名 3.性別 4.出生日期 5.年齡 6.籍貫 7.系別 8.專業 9.班級 10.電話  11.所有信息 12.取消并返回");     printf("請選擇?: [ ]/b/b/b");     scanf("%d",&c);     if(c>12||c<1)     {       puts("/n選擇錯誤!請重新選擇!");       getchar();     }   }while(c>12||c<1);   do   {     switch(c)     {      case 1: printf("學號:"); scanf("%s",stu[i].num); break;      case 2: printf("姓名:"); scanf("%s",stu[i].name); break;      case 3: printf("性別:"); scanf("%s",stu[i].sex); break;      case 4: printf("出生年月:"); scanf("%d/%d/%d",&stu[i].birthday.year,&stu[i].birthday.month,&stu[i].birthday.day); break;      case 5: printf("年齡:"); scanf("%d",&stu[i].age);break;      case 6: printf("籍貫:"); scanf("%s",stu[i].addr);break;      case 7: printf("系別:"); scanf("%s",stu[i].dept);break;      case 8: printf("專業:"); scanf("%s",stu[i].major);break;      case 9: printf("班級:"); scanf("%s",stu[i].classs);break;      case 10: printf("電話:"); scanf("%s",stu[i].phone);break;      case 11: input(i); break; /*修改這個學生的所有信息*/      case 12: menu(); /*返回主菜單*/     }     puts("/nNow:/n");     printf_one(i); /*輸出 修改后 的這個學生的信息*/     printf("/n確定?/n/n/t1).是 2).不,重新修改 3).返回不保存 [ ]/b/b");     scanf("%d",&w1);   }while(w1==2);   return(w1); /*修改成功并選擇1后返回1*/ }  void modify() /*修改*/ {   void menu();   if(!flag)   {     printf("/n/n/t請先登錄!/n");     printf("/n/t請按 Enter 鍵進入登錄界面!");     getchar();     getchar();     login();   }   else   {     struct student s;     int i,n,k,w0=1,w1,w2=0;     n=load();     do     {      k=-1;      //printf_n(n); /*刪除之前先顯示所有學生的信息*/      do      {        printf("/n請輸入您想要修改的學生的姓名!/nName:");        scanf("%s",s.name);        for(i=0;i<n;i++)         if(strcmp(s.name,stu[i].name)==0) /*與其中一個學生匹配*/         {           k=i;           s=stu[i];         }        if(k==-1) /*沒有找到輸入的學生*/        {          int o;          printf("/n/n沒有這個學生的信息!/n");          printf("What do you want to do?/n/t1.繼續  2.返回菜單 [ ]/b/b");          scanf("%d",&o);          if(o==1)          {            system("cls");            modify(); /*繼續修改*/          }          else          {           system("cls");           menu();          }        }      }while(k==-1);      system("cls");      printf_one(k); /*輸出這個學生的信息*/      w1=modify_data(k);      if(w1==1) /*判斷是否修改成功修改*/      {        printf("/n/t^_^.修改成功 ^_^./n/n是否繼續?/n/n/t1).是 2).保存返回/t[ ]/b/b");        scanf("%d",&w0);        w2=1;      }      else      {        w0=0;        if(w2==0)          stu[k]=s;      }      if((w0!=1)&&(w2==1)) /*修改成功保存*/        save(n);     }while(w0==1);     system("cls");    menu();/*不再修改返回主菜單*/   } }  void browse()/*瀏覽*/ {   system("color 5f");   void menu();   int n;   n=load();   printf_n(n);   printf(" 共有 %d 個學生的記錄./n",n);   printf("/nPress [ ENTER ] key to back...");   getchar();   system("cls");   menu(); /*返回主函數*/ }  void exit() /*退出*/ {   exit(0); }  void face() /*訪問頁面*/ {   system("color 4e");   printf("/n/t  ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★/n/n");   puts("/t  ※※※※※※※※※※※※※※※※※※※※※※※※※※※");   puts("/t  ※※                       ※※");   puts("/t  ※※                       ※※");   puts("/t  ※※      歡迎訪問學生學籍管理系統!     ※※");   puts("/t  ※※                       ※※");   puts("/t  ※※                       ※※");   puts("/t  ※※                       ※※");   puts("/t  ※※                       ※※");   puts("/t  ※※               制作人:李遠航 ※※");   puts("/t  ※※                  2013.6.20 ※※");   puts("/t  ※※                       ※※");   puts("/t  ※※※※※※※※※※※※※※※※※※※※※※※※※※※");   printf("/n/tPress [ Enter ] key to continue……/n");   getchar();   system("cls"); }  void menu() /*主菜單*/ {   system("color 2e");   printf("/n/t/t/t歡迎使用學生學籍管理系統!/n");   printf("/n");   int n,w1;   do   {     puts("/t/t★★★★★★★★  菜單 ★★★★★★★★");     puts("/t/t★        1.登 錄        ★");     puts("/t/t★        2.插 入        ★");     puts("/t/t★        3.刪 除        ★");     puts("/t/t★        4.查 找        ★");     puts("/t/t★        5.修 改        ★");     puts("/t/t★        6.瀏 覽        ★");     puts("/t/t★        7.退 出        ★");     puts("/t/t★★★★★★★★★★★★★★★★★★★★★");     printf("請選擇服務種類(1-7) : [ ]/b/b");     scanf("%d",&n);     if(n<1||n>7)     {       system("cls");       printf("選擇錯誤! 請重新選擇!/n");       w1=1;     }     else       w1=0;   }while(w1==1);   switch(n)   {     case 1: login(); break; /*登錄*/     case 2: system("cls"); insert();  break; /*插入*/     case 3: system("cls"); deleter(); break; /*刪除*/     case 4: system("cls"); search(); break; /*查找*/     case 5: system("cls"); modify(); break; /*修改*/     case 6: system("cls"); browse(); break; /*瀏覽*/     case 7: exit(); break; /*退出*/   } }  int main() {   face();   menu();   return 0; } 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲无av在线中文字幕| 欧美区在线播放| 国产精品三级网站| 伊人激情综合网| 欧美大片va欧美在线播放| 国产精品久久久久久久app| 国产91九色视频| 欧美一级高清免费播放| 欧美激情免费看| 成人性生交大片免费观看嘿嘿视频| 成人免费网站在线观看| 欧美午夜激情小视频| 久久久久久久97| xvideos亚洲人网站| 日韩成人在线免费观看| 亚洲bt欧美bt日本bt| 91在线免费看网站| 久久激情视频久久| 97久久精品在线| 97人洗澡人人免费公开视频碰碰碰| 欧美激情一二区| 欧美在线一区二区视频| 国产精品三级网站| 日韩精品视频在线播放| 亚洲精品影视在线观看| 亚洲高清av在线| 亚洲第一区在线观看| 一区二区中文字幕| 亚洲色无码播放| 怡红院精品视频| 亚洲成人av在线| 国产精品一久久香蕉国产线看观看| 国外日韩电影在线观看| 91高清在线免费观看| 国产区精品在线观看| 91亚洲精华国产精华| 亚洲视频一区二区| 亚洲国产成人久久综合| 尤物九九久久国产精品的特点| 国产欧美一区二区| 91免费版网站入口| 日韩欧美国产黄色| 一区二区三区在线播放欧美| 国产日韩欧美在线视频观看| 亚洲人免费视频| 91高清免费视频| 91av在线播放| 国产日韩欧美一二三区| 午夜精品美女自拍福到在线| 国产精品久久国产精品99gif| 在线日韩第一页| 亚洲欧洲日韩国产| 精品中文字幕在线观看| 亚洲在线免费看| 爱福利视频一区| 欧美激情影音先锋| 国产欧美精品va在线观看| 98精品国产高清在线xxxx天堂| 在线播放国产一区中文字幕剧情欧美| 国产97在线|亚洲| 亚洲人成网站777色婷婷| 国产日韩在线亚洲字幕中文| 91色在线观看| 国产精品网红福利| 亚洲精品久久久久久久久久久久久| 在线播放国产一区二区三区| 亚洲人成网在线播放| 国产在线精品成人一区二区三区| 亚洲jizzjizz日本少妇| 成人有码在线视频| 揄拍成人国产精品视频| 亚洲精品美女网站| 久久久久久久亚洲精品| 亚洲人成在线一二| 久久久久久久久久婷婷| 中文字幕在线视频日韩| 国产精品久久久久久av福利| 国产成人小视频在线观看| 欧美在线观看网站| 亚洲网站在线播放| 亚洲理论在线a中文字幕| 欧美精品一区二区三区国产精品| 国产一区二区三区毛片| 国产午夜精品一区理论片飘花| 一区二区三区视频免费| 久久99国产精品久久久久久久久| 亚洲另类xxxx| 日韩中文字幕精品| 欧美在线一级视频| 91精品久久久久久久久久久久久| 在线精品国产成人综合| 亚洲女性裸体视频| 岛国精品视频在线播放| 亚洲欧美综合v| 国产精品久久久久高潮| 国产成人精品网站| 久久久久国产一区二区三区| 亚洲乱码一区av黑人高潮| 国产精品www网站| 亚洲成人黄色在线观看| 国产在线拍偷自揄拍精品| 精品亚洲精品福利线在观看| 成人免费视频在线观看超级碰| 欧美一级片久久久久久久| 国产日韩欧美在线视频观看| 成人黄色在线播放| 国产成人av在线播放| 91精品久久久久久久久久久久久久| 日韩小视频网址| 2018国产精品视频| 国产精品第一区| 亚洲全黄一级网站| 国产一区二区三区毛片| 久久中文字幕一区| 91精品中国老女人| 亚洲久久久久久久久久| 2024亚洲男人天堂| 欧美在线视频网| 成人精品一区二区三区电影免费| 国产成人黄色av| 亚洲成人三级在线| 亚洲欧美第一页| xxxx欧美18另类的高清| 国产成+人+综合+亚洲欧美丁香花| 国产精品96久久久久久| 中文字幕无线精品亚洲乱码一区| 一区二区三区黄色| 成人精品在线视频| 播播国产欧美激情| 俺去亚洲欧洲欧美日韩| 中文字幕少妇一区二区三区| 久久精彩免费视频| 国内伊人久久久久久网站视频| 亚洲国产精品福利| 国产成+人+综合+亚洲欧美丁香花| 日韩av在线一区二区| 黑丝美女久久久| 日韩av免费在线| 国产噜噜噜噜噜久久久久久久久| 久久国产精品久久久| 麻豆国产精品va在线观看不卡| 精品国产91久久久久久| 日本中文字幕成人| 97精品久久久| 亚洲一级片在线看| 中文字幕日韩av综合精品| 色樱桃影院亚洲精品影院| 青青草原一区二区| 琪琪亚洲精品午夜在线| 国产一区二区三区免费视频| 九九热精品视频国产| 成人免费网视频| 国产一区av在线| 久久久久久高潮国产精品视| 亚洲精品av在线播放| 日韩中文第一页| 成人在线小视频| 最好看的2019年中文视频| 久久久久久久久久久久av| 精品久久久久久久久久久久久| 精品日韩美女的视频高清| 亚洲色图第三页| 亚洲激情久久久| 成人激情视频小说免费下载|