資料結構設計作業之順序表考生系統
阿新 • • 發佈:2018-12-15
#include<iostream> #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> using namespace std; typedef int ElemType; ElemType sum=0; typedef struct { ElemType age; char num[20]; char name[20]; char l[10],x[10]; }li; li lis[100]; void add() { system("cls"); printf("新增考生資訊:\n請依次輸入學生的准考證號、姓名、性別、年齡、報考類別\n"); scanf("%s%s%s%d%s",&lis[sum].num,&lis[sum].name,lis[sum].x,&lis[sum].age,lis[sum].l); sum++; getch(); return ; } void del() { int i; system("cls"); if(sum==0) { printf("記憶體中無學生資訊!\n請先進行學生資訊錄入!\n按任意鍵返回主選單......"); getch(); return ; } printf("刪除考生資訊:\n請輸入學生的准考證號\n"); char x[20]; scanf("%s",x); for(i=0;i<sum;i++) if(strcmp(x,lis[i].num)==0) break; if(i==sum) { printf("暫無該考生資訊!\n按任意鍵返回......\n"); getch(); return ; } for(i;i<sum;i++) lis[i]=lis[i+1]; sum--; printf("\n刪除成功!"); getch(); return ; } void input() { system("cls"); int s; printf("請輸入將要輸入的學生人數:\n"); scanf("%d",&s); int i,t; for(i=1;i<=s;i++) { printf("\n第%d人:\n請依次輸入學生的准考證號、姓名、性別、年齡、報考類別\n",i); scanf("%s%s%s%d%s",&lis[sum].num,&lis[sum].name,&lis[sum].x,&lis[sum].age,&lis[sum].l); sum++; } printf("\n輸入完成,按任意鍵返回主選單......"); getch(); return ; } void fd() { int i,t; system("cls"); if(sum==0) { printf("記憶體中無學生資訊!\n請先進行學生資訊錄入!\n按任意鍵返回主選單......"); getch(); return ; } printf("查詢考生資訊:\n請輸入學生的准考證號\n"); char ff[20]; scanf("%s",&ff); for(i=0;i<sum;i++) if(strcmp(ff,lis[i].num)==0) break; if(i==sum) { printf("暫無該考生資訊!\n按任意鍵返回......\n"); getch(); return ; } printf("\n該生資訊為:\n准考證號 姓名 性別 年齡 報考類別\n%-16s %-10s %-5s %-5d %-5s\n按任意鍵返回......",lis[i].num,lis[i].name,lis[i].x,lis[i].age,lis[i].l); getch(); return ; } void print() { system("cls"); if(sum==0) { printf("記憶體中無學生資訊!\n請先進行學生資訊錄入!\n按任意鍵返回主選單......"); getch(); return ; } int i,t; printf("准考證號 姓名 性別 年齡 報考類別\n"); for(i=0;i<sum;i++) printf("%-16s %-10s %-5s %-5d %-5s\n",lis[i].num,lis[i].name,lis[i].x,lis[i].age,lis[i].l); printf("輸入任意鍵返回主選單......\n"); getch(); return ; } void xg() { int i; system("cls"); if(sum==0) { printf("記憶體中無學生資訊!\n請先進行學生資訊錄入!\n按任意鍵返回主選單......"); getch(); return ; } printf("修改考生資訊:\n請輸入學生的准考證號\n"); char x[20]; scanf("%s",x); for(i=0;i<sum;i++) if(strcmp(x,lis[i].num)==0) break; if(i==sum) { printf("暫無該考生資訊!\n按任意鍵返回......\n"); getch(); return ; } printf("\n請依次輸入待修改學生的准考證號、姓名、性別、年齡、報考類別\n"); scanf("%s%s%s%d%s",&lis[i].num,&lis[i].name,lis[i].x,&lis[i].age,lis[i].l); printf("\n修改成功!"); getch(); return ; } int main() { int i,t; int menu=0; int cz; while(1) { system("cls"); printf("\n\n\t\t\t\t\t\t歡迎來到考試報名管理系統!\n"); if(menu==0) printf("\n\n\n\n\t\t\t\t\t\t=>>"); else printf("\n\n\n\n\t\t\t\t\t\t "); printf("輸入考生資訊:\n"); if(menu==1) printf("\t\t\t\t\t\t=>>"); else printf("\t\t\t\t\t\t "); printf("輸出考生資訊:\n"); if(menu==2) printf("\t\t\t\t\t\t=>>"); else printf("\t\t\t\t\t\t "); printf("刪除考生資訊:\n"); if(menu==3) printf("\t\t\t\t\t\t=>>"); else printf("\t\t\t\t\t\t "); printf("查詢考生資訊:\n"); if(menu==4) printf("\t\t\t\t\t\t=>>"); else printf("\t\t\t\t\t\t "); printf("新增考生資訊:\n"); if(menu==5) printf("\t\t\t\t\t\t=>>"); else printf("\t\t\t\t\t\t "); printf("修改考生資訊:\n"); printf("\n\n\n\n\n\n\t\t\t\t\t\t\t\t請使用方向鍵選擇......\n\t\t\t\t\t\t\t\t\t回車鍵進入\n\t\t\t\t\t\t\t\t\tEsc鍵退出"); cz=getch(); if(cz==27) break; if(cz==13) { switch(menu) { case 0:input();break; case 1:print();break; case 2:del();break; case 3:fd();break; case 4:add();break; case 5:xg();break; } } if((cz==80||cz==77)&&menu<5) menu++; else if((menu>0)&&(cz==75||cz==72)) menu--; } system("cls"); printf("\n\n\n\n\n\t\t\t\t再見!\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); return 0; }