新聞中心
這篇文章主要介紹“C語言實現(xiàn)的學(xué)生信息管理系統(tǒng)代碼分享”,在日常操作中,相信很多人在C語言實現(xiàn)的學(xué)生信息管理系統(tǒng)代碼分享問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C語言實現(xiàn)的學(xué)生信息管理系統(tǒng)代碼分享”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
建立一個動態(tài)鏈表,鏈表中每一結(jié)點包括:學(xué)號、姓名、性別、年齡、成績。程序能實現(xiàn)以下功能:
建立鏈表
顯示鏈表
查找鏈表中是否存在某個元素,并顯示這個元素的所有信息,若沒有這個元素則顯示“無此記錄!”的信息。
刪除鏈表中指定學(xué)號的結(jié)點。
在鏈表中指定的位置插入一個新結(jié)點(學(xué)號不能和其他結(jié)點重復(fù))。
要求:程序運(yùn)行中,先顯示實現(xiàn)以上功能所構(gòu)成的菜單,然后根據(jù)選項調(diào)用相應(yīng)程序及顯示其對應(yīng)的結(jié)果,然后再顯示菜單程序,直到按“退出”選項,程序執(zhí)行結(jié)束。
完整的代碼如下:
#include "stdio.h" #include "stdlib.h" typedef struct student { int id; //學(xué)號 char name[20]; //姓名 char sex; //性別(f或m) int age; //年齡 int score; //成績 struct student *next; }student; student *head=NULL; int length; //鏈表的長度 void create() { student *p1,*p2; length=0; p1=(student *)malloc(sizeof(student)); p1->id=-1; if(head==NULL) head=p1; printf("請輸入學(xué)生的學(xué)號、姓名、性別、年齡、成績信息:\n"); while(1) //學(xué)號為0的時候退出 { p2=(student *)malloc(sizeof(student)); scanf("%d %s %c %d %d",&p2->id,p2->name,&p2->sex,&p2->age,&p2->score); //輸入學(xué)生信息 if(p2->id==0) { printf("鏈表創(chuàng)建完成!\n"); break; } length++; //鏈表的長度 p1->next=p2; p2->next=NULL; p1=p1->next; } return ; } void display() { student *p=head->next; printf("鏈表中所有的學(xué)生信息如下:\n"); while(p!=NULL) { printf("%d %s %c %d %d\n",p->id,p->name,p->sex,p->age,p->score); p=p->next; } return ; } void search() { int num; student *p=head->next; printf("需要查找的學(xué)生學(xué)號為:"); scanf("%d",&num); while(p!=NULL) { if(p->id==num) { printf("學(xué)號為%d的學(xué)生的信息如下:\n",num); printf("%d %s %c %d %d\n",p->id,p->name,p->sex,p->age,p->score); return; } p=p->next; } if(p==NULL) printf("無此記錄!\n"); return ; } void insert() { int num,i; student *p,*q; p=head; printf("請輸入你要插入位置: "); scanf("%d",&num); if(num>length) { printf("找不到要插入的位置\n"); return ; } else { printf("請輸入你要插入的學(xué)生的學(xué)號、姓名、性別、年齡、成績信息:\n"); q=(student *)malloc(sizeof(student)); scanf("%d %s %c %d %d",&q->id,q->name,&q->sex,&q->age,&q->score); while(p!=NULL) { if(p->id==q->id) { printf("該學(xué)號已經(jīng)存在,無法插入!\n"); return ; } p=p->next; } p=head; for(i=0;inext; q->next=p->next; p->next=q; length++; printf("插入成功!\n"); return ; } } void Delete() { int num; student *p,*q; q=head,p=head->next; printf("請輸入要刪除的學(xué)生的學(xué)號:\n"); scanf("%d",&num); while(p!=NULL) { if(p->id==num) { q->next=p->next; free(p); length--; printf("刪除成功!\n"); return ; } p=p->next; q=q->next; } if(p==NULL) { printf("找不到要刪除的編號!\n"); return ; } } void menu() { printf("________________________________________________________________\n"); printf("| 學(xué)生信息管理系統(tǒng) |\n"); printf("| 0、 退出系統(tǒng) |\n"); printf("| 1、 建立鏈表 |\n"); printf("| 2、 顯示鏈表 |\n"); printf("| 3、 查找鏈表中的某個元素 |\n"); printf("| 4、 刪除鏈表中指定學(xué)號的結(jié)點 |\n"); printf("| 5、 指定的位置上插入一個新結(jié)點 |\n"); printf("________________________________________________________________\n"); return ; } int main(void) { int a; menu(); while(1) { printf("請選擇相應(yīng)的功能:"); scanf("%d",&a); switch(a) { case 0: return 0; case 1: create(); menu(); break; case 2: if(head) { display(); menu(); } else { printf("鏈表為空,請先建立鏈表!\n"); menu(); } break; case 3: if(head) { search(); menu(); } else { printf("鏈表為空,請先建立鏈表!\n"); menu(); } break; case 4: if(head) { Delete(); menu(); } else { printf("鏈表為空,請先建立鏈表!\n"); menu(); } break; case 5: if(head) { insert(); menu(); } else { printf("鏈表為空,請先建立鏈表!\n"); menu(); } break; default: break; } } system("pause"); return 0; }
程序說明:加入已經(jīng)加入了4個學(xué)生信息head->liuwei->zhanghua->lina->liuxiang,鏈表的長度為4,插入的時候,輸入4,將會在liuxiang的后面插入一個學(xué)生信息;輸入1,將會在liuwei的后面插入一個學(xué)生信息;
到此,關(guān)于“C語言實現(xiàn)的學(xué)生信息管理系統(tǒng)代碼分享”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站題目:C語言實現(xiàn)的學(xué)生信息管理系統(tǒng)代碼分享-創(chuàng)新互聯(lián)
標(biāo)題URL:http://fisionsoft.com.cn/article/eohhp.html