鏈表學(xué)生信息處理_第1頁
鏈表學(xué)生信息處理_第2頁
鏈表學(xué)生信息處理_第3頁
鏈表學(xué)生信息處理_第4頁
鏈表學(xué)生信息處理_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、假設(shè)一個(gè)班學(xué)生成績信息包括學(xué)號、姓名、三門課程成績,用單鏈表實(shí)現(xiàn)對一個(gè)班的學(xué)生成績信息的顯示、修改、插入和刪除功能,具體如下:1. 創(chuàng)建學(xué)生結(jié)點(diǎn)數(shù)據(jù)項(xiàng):學(xué)號,姓名,三門課程成績。2. 能完成以下菜單功能:程序如下:#include #include #include /定義結(jié)構(gòu)體typedef struct student long id; char name10; int score1,score2,score3,sum; struct student *next;stu;/錄入最初的學(xué)生信息stu *create(stu *head,stu *pr) stu *p=NULL; p=(stu

2、 *)malloc(sizeof(stu); if(p=NULL) printf(創(chuàng)建失敗n); exit(0); else while(pr-next!=NULL) pr=pr-next; pr-next=p; printf(請輸入學(xué)生的信息學(xué)號姓名三科成績:n); scanf(%ld,&p-id); scanf(%s,&p-name); scanf(%d,&p-score1); scanf(%d,&p-score2); scanf(%d,&p-score3); p-sum=p-score1+p-score2+p-score3; p-next=NULL; return head;/輸出學(xué)生信

3、息void print(stu *head) stu *p=head-next; while(p!=NULL) printf(%8ld%8s%4d%4d%4d%6dn,p-id,p-name,p-score1,p-score2,p-score3,p-sum); p=p-next; stu *locate(stu *head,long num) stu *p=head; while(p-next!=NULL&p-id!=num) p=p-next; if(p-id=num) return p; else printf(查找失?。); return NULL;/刪除所選擇的學(xué)生信息void de

4、leter(stu *head,int n) stu *p2=head,*p3; if(head-next=NULL) printf(無學(xué)生信息!n); return; if(n0&p2-next!=NULL;n-) p2=p2-next; p3=p2-next; p2-next=p3-next; free(p3); printf(刪除成功!n); return;/插入學(xué)生信息void insert(stu *head,int n) stu *p2=head,*p3; for(;n-10&p2-next!=NULL;n-) p2=p2-next; p3=p2-next; p2-next=(st

5、u *)malloc(sizeof(stu); printf(請輸入插入學(xué)生的信息:n); scanf(%ld,&p2-next-id); scanf(%s,&p2-next-name); scanf(%d,&p2-next-score1); scanf(%d,&p2-next-score2); scanf(%d,&p2-next-score3); p2-next-sum=p2-next-score1+p2-next-score2+p2-next-score3; p2-next-next=p3; printf(插入成功!n); return;/修改學(xué)生信息void alte(stu *head

6、,int n) stu *p2=head-next; if(p2-next=NULL) printf(無可修改內(nèi)容!n); return; if(n0&p2-next!=NULL;n-) p2=p2-next; printf(該位置學(xué)生信息為:n); printf(%8ld%8s%4d%4d%4d%6dn,p2-id,p2-name,p2-score1,p2-score2,p2-score3,p2-sum); printf(請輸入修改后的學(xué)生信息:n); scanf(%ld,&p2-id); scanf(%s,&p2-name); scanf(%d,&p2-score1); scanf(%d,

7、&p2-score2); scanf(%d,&p2-score3); p2-sum=p2-score1+p2-score2+p2-score3; printf(修改成功!n); return;/按成績由大到小排序stu *rank(stu *head) stu *p1=head-next,*p2; long d; char f10; int t,a,b,c; while(p1!=NULL) p2=p1-next; while(p2!=NULL) if(p2-sump1-sum) d=p2-id;strcpy(f,p2-name);a=p2-score1;b=p2-score2;c=p2-sco

8、re3;t=p2-sum; p2-id=p1-id;strcpy(p2-name,p1-name);p2-score1=p1-score1;p2-score2=p1-score2;p2-score3=p1-score3;p2-sum=p1-sum; p1-id=d;strcpy(p1-name,f);p1-score1=a;p1-score2=b;p1-score3=c;p1-sum=t; p2=p2-next; p1=p1-next; return head;int main() int l=1,n,m,i,h,u; long num; stu *head; head=(stu *)mall

9、oc(sizeof(stu); head-next=NULL; stu *p1,*pr=head,*q; while(l) printf(*n); printf(* 歡迎進(jìn)入學(xué)生信息管理系統(tǒng) *n); printf(*n); printf(* 1、錄入學(xué)生信息 *n); printf(* 2、顯示學(xué)生信息 *n); printf(* 3、查詢學(xué)生信息 *n); printf(* 4、修改學(xué)生信息 *n); printf(* 5、添加學(xué)生信息 *n); printf(* 6、刪除學(xué)生信息 *n); printf(* 7、按總分排名次 *n); printf(* 0、退出 *n); printf(

10、*n); scanf(%d,&n); switch(n) case 1: head=create(head,pr); printf(錄入完畢n); break; case 2: print(head); printf(輸出完畢n); break; case 3: printf(請輸入你要查找的學(xué)號:); scanf(%ld,&num); p1=locate(head,num); if(p1!=NULL) printf(%8ld%8s%4d%4d%4d%6dn,p1-id,p1-name,p1-score1,p1-score2,p1-score3,p1-sum); break; case 4: printf(請輸入你要修改第幾名學(xué)生:); scanf(%d,&u); alte(head,u); break; case 5: printf(請輸入要插入在第幾個(gè)位置:); scanf(%d,&h); insert(head,h); b

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論