本篇文章給大家分享的是有關(guān)怎么在C語言中利用鏈表實現(xiàn)學(xué)生管理系統(tǒng),小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
站在用戶的角度思考問題,與客戶深入溝通,找到樅陽網(wǎng)站設(shè)計與樅陽網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋樅陽地區(qū)。
#include#include #include #include #include #include using namespace std; typedef struct ndoe{ char id[10]; char name[10]; char sex[3]; char num[10]; struct node *next; }student; struct Student{ student data; struct Student *next; }; /********創(chuàng)建學(xué)生信息**********/ Student * insert(Student * head){ Student * s,*r; head=(Student *)malloc(sizeof(Student)); printf("請輸入學(xué)生的個數(shù):"); int n; scanf("%d",&n); r=head; printf("按照“學(xué)號 姓名 性別(M or G) 手機號”的形式輸入每個學(xué)生的信息\n"); for(int i=0;i data.id); scanf("%s",s->data.name); scanf("%s",s->data.sex); scanf("%s",s->data.num);*/ scanf("%s%s%s%s",s->data.id,s->data.name,s->data.sex,s->data.num); r->next=s; r=s; } r->next=NULL; printf("錄入成功\n"); return head; } /********增加學(xué)生************/ void add(Student *head){ Student *s; s=head->next; while(s->next!=NULL) s=s->next; Student *ad=(Student *)malloc(sizeof(Student)); ad->next=NULL; s->next=ad; //printf("輸入新學(xué)生的信息:\n"); scanf("%s%s%s%s",ad->data.id,ad->data.name,ad->data.sex,ad->data.num); printf("添加成功\n"); return ; } /*************修改學(xué)生信息********************/ void change(Student * head){ printf("輸入1,按學(xué)號搜索學(xué)生,并修改改學(xué)生的信息\n"); printf("輸入2,按姓名搜索學(xué)生,并修改改學(xué)生的信息\n"); Student * s; int n; scanf("%d",&n); switch(n){ case 1:{ printf("請輸入學(xué)號:"); char number[10]; scanf("%s",number); s=head->next; while(s!=NULL){ if(strcmp(s->data.id,number)==0){ printf("請輸入要修改的信息:"); char phone[10]; scanf("%s",phone); strcpy(s->data.num,phone); printf("修改成功\n"); break; } s=s->next; } break; } case 2:{ printf("請輸入姓名:"); char nam[10]; scanf("%s",&nam); s=head->next; while(s!=NULL){ if(strcmp(s->data.name,nam)==0){ printf("請輸入要修改的信息:"); char phone[10]; scanf("%s",phone); strcpy(s->data.num,phone); printf("修改成功\n"); break; } s=s->next; } break; } } return ; } /**********刪除學(xué)生信息******************/ void del(Student * head){ printf("輸入1,按學(xué)號搜索學(xué)生,并刪除該學(xué)生的信息\n"); printf("輸入2,按姓名搜索學(xué)生,并刪除該學(xué)生的信息\n"); Student * s,*r; int n; scanf("%d",&n); switch(n){ case 1:{ printf("請輸入學(xué)號:"); char number[10]; scanf("%s",number); s=head->next; r=head; while(s!=NULL){ if(strcmp(s->data.id,number)==0){ r->next=s->next; free(s); printf("刪除成功\n"); break; } r=s; s=s->next; } break; } case 2:{ printf("請輸入姓名:"); char nam[10]; scanf("%s",&nam); s=head->next; r=head; while(s!=NULL){ if(strcmp(s->data.name,nam)==0){ r->next=s->next; free(s); printf("刪除成功\n"); break; } r=s; s=s->next; } break; } } return ; } /**********查詢學(xué)生的信息**********************/ void check(Student * head){ printf("輸入1,按學(xué)號搜索學(xué)生,并展示該學(xué)生的信息\n"); printf("輸入2,按姓名搜索學(xué)生,并展示該學(xué)生的信息\n"); Student * s,r; int n; scanf("%d",&n); switch(n){ case 1:{ printf("請輸入學(xué)號:"); char number[10]; scanf("%s",number); s=head->next; while(s!=NULL){ if(strcmp(s->data.id,number)==0){ printf("%s %s %s %s\n",s->data.id,s->data.name,s->data.sex,s->data.num); break; } s=s->next; } break; } case 2:{ printf("請輸入姓名:"); char nam[10]; scanf("%s",&nam); s=head->next; while(s!=NULL){ if(strcmp(s->data.name,nam)==0){ printf("%s %s %s %s\n",s->data.id,s->data.name,s->data.sex,s->data.num); break; } s=s->next; } break; } } if(s==NULL) printf("該學(xué)生不存在\n"); return ; } int main(){ Student *head=NULL; Student *a; printf("***歡迎進入學(xué)生管理系統(tǒng)***\n"); printf("***1:請錄入學(xué)生信息***\n"); printf("***2:請修改學(xué)生信息***\n"); printf("***3:請刪除學(xué)生信息***\n"); printf("***4:請查詢學(xué)生信息***\n"); printf("***5:請?zhí)砑有聦W(xué)生信息**\n"); printf("***6: 退出管理系統(tǒng) ***\n"); printf("*************************\n"); printf("請輸入命令:"); int n; while(scanf("%d",&n)&&n!=6){ switch(n){ case 1:{ printf("請錄入學(xué)生信息:\n"); head=insert(a); break; } case 2:{ printf("請改學(xué)生信息:\n"); change(head); break; } case 3:{ cout<<"請刪除學(xué)生信息:"< next; while(s!=NULL){ r=s->next; free(s); s=r; } free(head); return 0; }
以上就是怎么在C語言中利用鏈表實現(xiàn)學(xué)生管理系統(tǒng),小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。