版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、題目2.學(xué)生信息管理系統(tǒng)一、課程設(shè)計目的1. 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計是綜合運用數(shù)據(jù)結(jié)構(gòu)課程中學(xué)到的幾種典型數(shù)據(jù)結(jié)構(gòu), 以及程序設(shè)計語言(c語言),自行實現(xiàn)一個較為完整的應(yīng)用系統(tǒng)的設(shè)計與開發(fā)2 通過課程設(shè)計,自己通過系統(tǒng)分析、系統(tǒng)設(shè)計、編程調(diào)試,寫實驗報告等 環(huán)節(jié),進一步掌握應(yīng)用系統(tǒng)設(shè)計的方法和步驟,靈活運用并深刻理解典型數(shù)據(jù)結(jié) 構(gòu)在軟件開發(fā)中的應(yīng)用。3.學(xué)會將知識應(yīng)用于實際的方法,提高分析和解決問題的能力,增加綜合能 力。學(xué)生信息管理系統(tǒng):(1 )熟練掌握鏈表存儲結(jié)構(gòu)及其建立過程和常用操作;(3)學(xué)會自己調(diào)試程序的方法并掌握一定的技巧二、課程設(shè)計內(nèi)容建立學(xué)生信息管理系統(tǒng),通過鏈表實現(xiàn)對學(xué)生信息的輸入
2、,查找,刪除,插 入和排序等操作。三、需求分析1 .每位學(xué)生的信息有:學(xué)號,姓名,性別,出生日期,E-mile,電話,c成 績,數(shù)學(xué)成績等,用鏈表對學(xué)生的信息進行存儲。2. 全部數(shù)據(jù)可以只放在內(nèi)存中;3. 系統(tǒng)能實現(xiàn)的操作和功能如下:a)輸入學(xué)生信息:對不同學(xué)生分別輸出下列信息:學(xué)號,姓名,性別,出生日期,E-mile , 電話,c成績,數(shù)學(xué)成績等。b)查找學(xué)生信息:根據(jù)學(xué)生的學(xué)號或姓名對學(xué)生的信息進行查找。c)刪除學(xué)生信息:刪除某個學(xué)生的所有信息。d)插入學(xué)生信息:將某個學(xué)生的信息插入到已經(jīng)輸入的信息中。e)顯示學(xué)生信息:將所有學(xué)生的信息顯示出來。f)排序:將所有學(xué)生按某個學(xué)科的成績依次排序
3、。概要設(shè)計1系統(tǒng)結(jié)構(gòu)圖(功能模塊圖)2.功能模塊說明 輸入學(xué)生信息,creat()S數(shù):建立單向鏈表,組織循環(huán),將學(xué)生的信息依次錄入。 :查找學(xué)生信息:a按學(xué)號查找,findl ()函數(shù);b按姓名查找,find2 ()函數(shù); 刪除學(xué)生信息,del ()函數(shù):建立指針,在鏈表中尋找要刪除信息的學(xué)生的學(xué)號,找到后 p-> next=p-> next- > next,將其刪除。 插入學(xué)生信息,insert ()函數(shù);輸入要插入的信息,建立指針,尋找要插入的節(jié)點。 顯示學(xué)生信息,print ()函數(shù);將以存在的學(xué)生信息輸出 按某科成績對學(xué)生進行排序” sort ()函數(shù);五、詳細設(shè)計
4、及運行結(jié)果輸入:creat ()輸入:開始main ()輸入:32.fhid2()1.find 1()del ()輸入:4insert ()輸入:print ()輸入:sort ()輸入:0退出exit ()1.菜單:序Lkr:息息息息息尅 隹隹隹隹嫦>: 操生生生生生霧W WHAW<0 繪入找除入示宙岀擇 淫迤:®瀝遢灌選1 2 3 4 5 6 0說Wp!=null學(xué)號姓名性別岀生日期E-nail電話c成績數(shù)學(xué)成績1nan1989- 3-21.xxxxxxxxxxxx9999學(xué)號姓名性別岀生日期E-nail電話c成績數(shù)學(xué)成績2nannan1999- 9- 9aaaaaG
5、163-conaaaaaa9898982. creat ()函數(shù).*D: 文檔VC6lyPro jectseeqDebugeeq. exe*請輸入學(xué)號2姓名nan性別nan岀生日期1999-09-09E-nail電話aaaaaac成績98數(shù)學(xué)成績按回車鍵返回3. find ()函數(shù).find2():3. del ()函數(shù).2d序FF 白心息白心自心白舗 fIB信居言信用 搟竺一一r工雰刪=$XXHHX絮CU要 紀入找除入示C1-岀烽人 學(xué)Q:p:t3:l4:5fe:le:請請 1319>:除4. insert ()函數(shù).5. print ()函數(shù).序Lkr 息息息息息前 信信信信始 &g
6、t; 墾生生生生霧先名q名n wzHHHaww姓yw姓na 結(jié)入找除入示奇岀擇 生聾刪播顯餐選號1號2 學(xué)bL:!2:l3:l4:5:l6:l0:注舉學(xué)岀生日期E-nail19893-岀生日期E-nail1999- 9- 9aaaaa(?163 .con電話 C成績數(shù)學(xué)成績xxxxxxxx 9999電話 C成績數(shù)學(xué)成績aaaaaa 9898按回車鍵返回6. sort ()函數(shù). X:息息息息息護信信信信賭>: 電話 C成績數(shù)學(xué)成績xxxxxxxx 9999電話 C成績數(shù)學(xué)成績aaaaaa 9898操生生生生生聖名q名n >于O糸<0姓yw姓na 紀入找除入示cl岀擇 竝聾刪播
7、顯餐詭號1號2 學(xué)1:|2:|3:|4:5:SK1舉學(xué)按回車鍵返回六、調(diào)試倩況,設(shè)計技巧及體會通過這次課程設(shè)計,我對這門課又有了一個新的理解,最大的喜悅不是寫出 程序,而是從中學(xué)會了怎么去寫,該如何去寫,在老師的嚴格監(jiān)督下,自己也養(yǎng) 成了獨立思考的習(xí)慣,真的從中得到了很多好處,從思想到著手,所有都是程序 化的,必須踏踏實實的來。通過學(xué)生信息管理系統(tǒng)的設(shè)計,使我對鏈表有了更深的了解,也懂得了如何 用鏈表進行輸入,插入,排序等操作,兩個禮拜的實習(xí)很快就過去了,這一次真 的學(xué)到了很多東西,我也將會將自己所學(xué)到的東西用到自己以后的學(xué)習(xí)中去。七、參考文獻C語言程序設(shè)計科學(xué)出版社數(shù)據(jù)結(jié)構(gòu)(C語言描述)一清
8、華大學(xué)出版社數(shù)據(jù)結(jié)構(gòu)(使用C語言)電子科技大學(xué)出版社八. 附錄:源代碼# include<stdio.h># include<string.h>#in clude<stdlib.h>#define N sizeof(struct stu) void clearscreen()廠清屏函數(shù)/ getchar();system("cls");struct date廠定義出生年月日的結(jié)構(gòu)體*/int year;int mouth;int day;struct stu/*定義學(xué)生信息的結(jié)構(gòu)體*/int number;char name30;char
9、 sex5;struct date birthday;char mail30;char phone30;int cscore.mscore;struct stu *next;廠輸出函數(shù)/int print(struct stu *p)while(p!二NULL)廠如果P所指的結(jié)點不為空執(zhí)行循壞*/printf("學(xué)號姓名性別 出生日期 E-mail電話C成績數(shù)學(xué)成績W);printf(" %2d%6s%6s%8d-%2d-%2d%lls%lls%6d%8dn",p->number,p->name,p-> sex,p-> birthday .
10、year,p->birthday.mouth,p->birthday.day,p->mail,p-> ph on e,p-> cscore,p->mscore);p=p->n ext;printf ("nn 按回車鍵返回nn");getchar();return 0;廠創(chuàng)建鏈表*/struct stu *creat() struct stu *p,*head;int i,k;printf("請輸入學(xué)生的數(shù):n");scanf("%d&k);p二head二(struct stu *)malloc(
11、N);printfC請輸入學(xué)號F);scanf(,%d"/&p-> number);printf("姓名n");scanf("%s&p->name);printf("惕 in");scanf("%s&p->sex);printf("岀生日期 n");scanf(,%d-%d-%d,/&p-> birthday .year,&p->birthday.mouth,&p-> birthday, day); printf(&quo
12、t;E-mailn");scanf("%s&p->mail);printf("電話n");scanf("%s&p- > phone);printf("c 成績n");scanf("%d &p- > cscore);printf("數(shù)學(xué)成績n");scanf("%d &p- > mscore);if(k>l)for(i=l;i<k;i+) p->next= (struct stu *)malloc(N);p=p &
13、gt; next;printf("請輸入學(xué)號n");scanf("%d&p-> number);printf("姓名n);scanfC%s;&p->name);printf("ft§On');scan f("%s&p->sex);printf(出生日期n");scanfC%cb%d-%d;&p-> birthday .year,&p->birthdaymouth&p> birthday, day);printf("
14、E-mailn");scanf("%s&p->mail);print"*電話rT);scanf("%s&p- > phone);printfCcMn");scanf("%d&p->cscore);printf("數(shù)學(xué)成績 n");scanf("%d&p-> mscore);p->next=NULL;return head;/喳找鏈表*/struct stu *findl(struct stu *p) int number;if (p二二 NUL
15、L)printf("n提示:沒有資料可以查詢!n");return 0;printf("請輸入要查找的學(xué)生學(xué)號:");scanf("%d",&number);while(p!二 NULL)if(p->nu mber=二 nu mber)return(p);break;elsep 二 p->n ext;return NULL;struct stu *find2(struct stu *p)char name30;if (p二二 NULL)printf("n提示:沒有資料可以查詢!n");retur
16、n 0;printf("請輸入要查找的學(xué)生姓名:");scanf("%sname);while(p!二 NULL)if(strcmp(p->nam 巳 n ame)=0) return(p);elsep=p->next;return NULL;廠刪除鏈表/int del(struct stu *h)int number;struct stu *p/pO;if(*h 二二 NULL)retun 0;printf("請輸入要刪除的學(xué)號n");scanf("%d&number);p0=*h;if(p0->nu mb
17、er= = number)*h=p0->next;free(pO);return 1;p=pO->next;while(p!二 NULL)if(p-> number 二二 number)pO->n ext=p->n ext;free(p);return 1;pO 二 p;p=p->next;printf("n按回車鍵返回n");getchar();return 0;廠插入鏈表*/int insert (struct stu *h)struct stu *p/pO;p=(struct stu *)malloc(N); printf(&quo
18、t;請輸入要插入的學(xué)號n"); scanf(,%ld,/&p-> number); pO=*h;if(pO ->n umber= = p-> number)return 0;printf(姓名n);scanf("%s&p->name);printf("tt§ 叭nJ;scanfC%s;&p->sex);printf ("Hi 生日期n");scanf("%d%d%d"/&p->birthday.year/&p- > birthday.
19、mouthr&p- > birthday.day);printf("E-mailn");scanf("%s&p->mail);printf ("電話 n");scanf("%s&p-> phone);printfCc 成績n");scanf("%d &p- > cscore);printfC數(shù)學(xué)成績 n");scanf("%d :&p > mscore);p-> next=NULL;if(*h 二二 NULL)*h =
20、p;return 1;pO=*h;if(pO->n umber>p-> number)p->next=*h;*h = p;return 1;while(pO-> next! = NULL&&pO-> next->number<p-> nu mber) pO=pO->next;if(pO-> next 二二 N ULL)pO->n ext=p;return 1;p->next=pO->next;pO->next=p;pri ntf("nn 按回車鍵返回nn"); getc
21、har();return 1;廠排序*/struct stu* sort(struct stu *pO)struct stu *t,*p,*q,*乙if(pO 二二 NULL)printf("沒有學(xué)生信息可排序!n");return 0;if(p0二二NULL)|(pO->next二二NULL)/*當(dāng)節(jié)點不存在或者只有一個節(jié)點時*/return p0;t 二 p0;p=t->n ext;t- > next二NULL;廠將頭節(jié)點孤立出來*/while(p)/牡始終指向頭節(jié)點*/q = p- >n ext;if(p->cscore>t->
22、; cscore)廠用頭節(jié)點的后一個節(jié)點與頭節(jié)點進行比較*/p-> next二t;廠將分數(shù)大的放在前面六/t二p;小始終指向當(dāng)前第一個節(jié)點*/elseZ=t;wh ile(z-> next&&z- > next- > cscore > = p-> cscore) z=z->next;p->next=z->next;z->n ext=p;p 二 q;pO 二 t;return pO;void main()struct stu *head/p;int a;int b;printf("*g 由 g 電學(xué)院學(xué)生管理
23、字統(tǒng)*pri ntf (”要進入系統(tǒng)請按任意鍵n");getchar();printf("*歡迎您!您已進入管理系統(tǒng)*printf("*卄學(xué)生成績管理系統(tǒng)W);it*doclearscreen();printf("學(xué)生紀錄操作:n"); printfC'l輸入學(xué)生信息n"); printf("2:查找學(xué)生信息n"); printf("3:刪除學(xué)生信息n"); printf("4:插入學(xué)生信息n"); printf("5:顯示學(xué)生信息n"); printf("6按C語言成績排序 n"); printfCO:退出系統(tǒng)W);printf("請選擇(06):");scanf("%d",&b);switch(b)case l:head=creat();prin t(head);break;case
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024廢舊焊條交易標(biāo)準協(xié)議格式版B版
- 2025年度未竣工二手房買賣合同樣本3篇
- 2024掛靠承包協(xié)議合同
- 呋塞米與托拉塞米臨床應(yīng)用對比
- 二零二五年醫(yī)療器械代工保密合同范本2篇
- 2025年-安徽省安全員C證考試(專職安全員)題庫及答案
- 2024年管理制度:合同審核
- 2025版國企員工社會保險與福利待遇合同3篇
- 2025年度牛羊養(yǎng)殖項目投資融資合作協(xié)議3篇
- 二零二五年度KTV廣告位租賃與廣告投放合同
- Q∕GDW 12147-2021 電網(wǎng)智能業(yè)務(wù)終端接入規(guī)范
- 猩紅熱ppt幻燈片課件
- 輸配電線路基礎(chǔ)知識
- 2015年日歷表(超清晰A4打印版)
- 剪式汽車舉升機設(shè)計
- 跌落測試(中文版)-ISTA-2A-2006
- 健康證體檢表
- 右心導(dǎo)管檢查及心血管造影ppt課件
- 大氣課程設(shè)計---袋式除塵器
- 市政橋梁工程施工
- 長線法節(jié)段梁預(yù)制施工方案wgm
評論
0/150
提交評論