


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、題目2.學(xué)生信息管理系統(tǒng)一、課程設(shè)計(jì)目的1. 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)是綜合運(yùn)用數(shù)據(jù)結(jié)構(gòu)課程中學(xué)到的幾種典型數(shù)據(jù)結(jié)構(gòu), 以及程序設(shè)計(jì)語(yǔ)言(C語(yǔ)言),自行實(shí)現(xiàn)一個(gè)較為完整的應(yīng)用系統(tǒng)的設(shè)計(jì)與開發(fā)2 . 通過課程設(shè)計(jì),自己通過系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、編程調(diào)試,寫實(shí)驗(yàn)報(bào)告等 環(huán)節(jié),進(jìn)一步掌握應(yīng)用系統(tǒng)設(shè)計(jì)的方法和步驟,靈活運(yùn)用并深刻理解典型數(shù)據(jù)結(jié) 構(gòu)在軟件開發(fā)中的應(yīng)用。3. 學(xué)會(huì)將知識(shí)應(yīng)用于實(shí)際的方法,提高分析和解決問題的能力,增加綜合能 力。學(xué)生信息管理系統(tǒng):(1 )熟練掌握鏈表存儲(chǔ)結(jié)構(gòu)及其建立過程和常用操作;(3)學(xué)會(huì)自己調(diào)試程序的方法并掌握一定的技巧二、課程設(shè)計(jì)容建立學(xué)生信息管理系統(tǒng),通過鏈表實(shí)現(xiàn)對(duì)學(xué)生信息的
2、輸入,查找,刪除,插 入和排序等操作。三、需求分析1 .每位學(xué)生的信息有:學(xué)號(hào),姓名,性別,出生日期,E-mile ,,c成績(jī),數(shù)學(xué)成績(jī)等,用鏈表對(duì)學(xué)生的信息進(jìn)行存儲(chǔ)。2. 全部數(shù)據(jù)可以只放在存中;3. 系統(tǒng)能實(shí)現(xiàn)的操作和功能如下:a)輸入學(xué)生信息:對(duì)不同學(xué)生分別輸出下列信息:學(xué)號(hào),姓名,性別,出生日期,E-mile , c成績(jī),數(shù)學(xué)成績(jī)等。b)查找學(xué)生信息:根據(jù)學(xué)生的學(xué)號(hào)或姓名對(duì)學(xué)生的信息進(jìn)行查找。c)刪除學(xué)生信息:刪除某個(gè)學(xué)生的所有信息。d)插入學(xué)生信息:將某個(gè)學(xué)生的信息插入到已經(jīng)輸入的信息中。e)顯示學(xué)生信息:將所有學(xué)生的信息顯示出來。f)排序:將所有學(xué)生按某個(gè)學(xué)科的成績(jī)依次排序。四、概
3、要設(shè)計(jì)1 系統(tǒng)結(jié)構(gòu)圖(功能模塊圖)2功能模塊說明 輸入學(xué)生信息, creat() 函數(shù):建立單向鏈表,組織循環(huán),將學(xué)生的信息依次錄入 :查找學(xué)生信息:a. 按學(xué)號(hào)查找,findi ()函數(shù);b. 按姓名查找,find2 ()函數(shù); 刪除學(xué)生信息, del ()函數(shù):建立指針,在鏈表中尋找要?jiǎng)h除信息的學(xué)生的學(xué)號(hào),找到后 p->next=p->next->next, 將其刪除。 插入學(xué)生信息, insert ()函數(shù);輸入要插入的信息,建立指針,尋找要插入的節(jié)點(diǎn) 顯示學(xué)生信息, print ()函數(shù);將以存在的學(xué)生信息輸出 按某科成績(jī)對(duì)學(xué)生進(jìn)行排序, sort ()函數(shù);五、詳細(xì)
4、設(shè)計(jì)及運(yùn)行結(jié)果輸入:1creat()輸入:2* 1.fi nd1()_ 2.fi nd2()輸入:3del ()main(L ).輸入:4in sert()輸入是_5print()輸入:一 6sort ()輸入:o退出exit ()1.菜單:p!=n ullCompare。Add添加且輸入nJ 輸入信息p=p->n extp=null存入鏈表顯示最終結(jié)果fclose(fp)結(jié)束2. creat ()函數(shù).3. find ()函數(shù).fin d1():=1?89321 Ena11= xxxxxxPl26xxxxKxrl2G iI'l電I舌=XXXXXK電"XXXXMKfin
5、 d2():L; "D; fCflIyFrQ jcctseeQM?etJUgceq, exe號(hào)12 3 4b -1自心ujlijl曰心自心一丄-丄-L.-上r一一 ft-tj 十<0聲 幫入示ci洋入 査屠顯®輸B=請(qǐng)清2請(qǐng)薑、C.-息息息息息詡 s-¥fcai亠 m-亠亠亠 TJ-.-I>=找 笙生生主生罪統(tǒng)7査<0姜 Tk除A世丄 亠輸H顯按梟輸«1S9 別=? 性績(jī) 的X禪 查如臂 ax 兄V? 入情:1績(jī)號(hào) 學(xué) 生 學(xué)H Li I'lF如肯姓茗請(qǐng)輸羨FlS9別:?性績(jī)2的 >=找 査冊(cè).查如薩SK.T:9入情江績(jī)3
6、. del ()函數(shù).序亠=門 V繋第 - ,二 kJ- -it'b 二 jr 4 J 4> 十1 iziJT1?5:G:阮=峯.號(hào) 的找X示ci出擇入;自菩豈覚自j詡 言言言言窮4. insert ()函數(shù).序骨 気急自音87-H4時(shí) 鬲宿惱惱針irLX 囹生生生鑒r® 古HHK聾3要 我烈示©出掙入 -E-B-缶恥旗嗆_誼工np住別n An出三H默1?0»-03-21E mallXKXXxxO12i& Com電話XmXxXXxX己擊甘插人5. print ()函數(shù).另n另n£性na性M璨主±主生生朝切名電茗n THT于
7、亠丁宇V<0fer心心 亦人找除人示卅卑 至輸顯按養(yǎng)號(hào)1號(hào)2序XLL -扈息息息息尅 佶佶信f4炬L'' "B: <¥G6Iyrro jectseeqDebuffEeq# eia"出生日期F-nail電話C成績(jī) 教學(xué)咸績(jī)1 98932iscxxMxx®12Ei .cantwjcxjcxxtkx 9999出生日期E-oall電話心成驥 教學(xué)咸績(jī)1999 9- comaiaaioiaia 9898回車犍返回6. sort ()函數(shù).sort ()是沒有學(xué)生信息可以查詢出生日期F-nail電話C成績(jī) 教學(xué)咸韁1 989321scxx
8、Mxxl?12fi .cantmkscjcxxxx 9999出生日期E-n.aH電話百成湊 數(shù)學(xué)咸績(jī)1999 9- con厲鼻比盤口9896肉回車犍返回.-1息息忌息尅 信信信佶t?六、調(diào)試情況,設(shè)計(jì)技巧及體會(huì)通過這次課程設(shè)計(jì), 我對(duì)這門課又有了一個(gè)新的理解, 最大的喜悅不是寫出 程序,而是從中學(xué)會(huì)了怎么去寫,該如何去寫,在老師的嚴(yán)格監(jiān)督下,自己也養(yǎng) 成了獨(dú)立思考的習(xí)慣, 真的從中得到了很多好處, 從思想到著手, 所有都是程序 化的,必須踏踏實(shí)實(shí)的來。通過學(xué)生信息管理系統(tǒng)的設(shè)計(jì), 使我對(duì)鏈表有了更深的了解, 也懂得了如何 用鏈表進(jìn)行輸入,插入,排序等操作,兩個(gè)禮拜的實(shí)習(xí)很快就過去了,這一次真
9、的學(xué)到了很多東西,我也將會(huì)將自己所學(xué)到的東西用到自己以后的學(xué)習(xí)中去。七、參考文獻(xiàn)C 語(yǔ)言程序設(shè)計(jì) 科學(xué)出版社數(shù)據(jù)結(jié)構(gòu)( C 語(yǔ)言描述) 清華大學(xué)出版社數(shù)據(jù)結(jié)構(gòu)(使用 C 語(yǔ)言) 電子科技大學(xué)出版社八、附錄: 源代碼#include<stdio.h>#include<string.h>#include<stdlib.h>#define N sizeof(struct stu)void clearscreen()/* 清屏函數(shù) */ getchar();system("cls");struct date/* 定義出生年月日的結(jié)構(gòu)體 */ in
10、t year;int mouth;int day;struct stu/* 定義學(xué)生信息的結(jié)構(gòu)體 */ int number;char name30;char 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é)點(diǎn)不為空?qǐng)?zhí)行循環(huán)*/數(shù)學(xué)成績(jī) printf(" 學(xué)號(hào) 姓名 性別 出生日期 E-mail C 成績(jī) n");printf("
11、 %2d%6s%6s%8d-%2d-%2d%11s%11s%6d%8dn",p->number,p->name,p- >sex,p->birthday.year,p->birthday.mouth,p->birthday.day,p->mail,p->phone,p-> cscore,p->mscore);p=p->next;printf("nn 按回車鍵返回 nn");getchar();return 0;/* 創(chuàng)建鏈表 */struct stu *creat() struct stu *p,*h
12、ead;int i,k;printf(" 請(qǐng)輸入學(xué)生的數(shù): n");scanf("%d",&k);p=head=(struct stu *)malloc(N);printf(" 請(qǐng)輸入學(xué)號(hào) n");scanf("%d",&p->number);printf(" 姓名 n");scanf("%s",&p->name);printf(" 性別 n");scanf("%s",&p->sex);
13、printf(" 出生日期 n");scanf("%d-%d-%d",&p->birthday.year,&p->birthday.mouth,&p->birthday.day);printf("E-mailn");scanf("%s",&p->mail);printf("n");scanf("%s",&p->phone);printf("c 成績(jī) n");scanf("%d&
14、quot;,&p->cscore);printf(" 數(shù)學(xué)成績(jī) n");scanf("%d",&p->mscore);if(k>1)for(i=1;i<k;i+) p->next=(struct stu *)malloc(N);p=p->next;printf(" 請(qǐng)輸入學(xué)號(hào) n");scanf("%d",&p->number);printf(" 姓名 n");scanf("%s",&p->nam
15、e);printf(" 性別 n");scanf("%s",&p->sex);printf(" 出生日期 n");scanf("%d-%d-%d",&p->birthday.year,&p->birthday.mouth,&p->birthday.day);printf("E-mailn");scanf("%s",&p->mail);printf("n");scanf("%s&
16、quot;,&p->phone);printf("c 成績(jī) n");scanf("%d",&p->cscore);printf(" 數(shù)學(xué)成績(jī) n");scanf("%d",&p->mscore);p->next=NULL;return head;/* 查找鏈表 */ struct stu *find1(struct stu *p) int number;if(p=NULL)!n");printf("n 提示 :沒有資料可以查詢r(jià)eturn 0;pr
17、intf(" 請(qǐng)輸入要查找的學(xué)生學(xué)號(hào) :");scanf("%d",&number);while(p!=NULL)if(p->number=number)return(p);break;elsep=p->next;return NULL;struct stu *find2(struct stu *p)char name30;if(p=NULL)!n");printf("n 提示 :沒有資料可以查詢r(jià)eturn 0;printf(" 請(qǐng)輸入要查找的學(xué)生姓名 :");scanf("%s&q
18、uot;,name);while(p!=NULL)if(strcmp(p->name,name)=0)return(p);elsep=p->next;return NULL;/* 刪除鏈表 */ int del(struct stu *h)int number;struct stu *p,*p0;if(*h=NULL)return 0;printf(" 請(qǐng)輸入要?jiǎng)h除的學(xué)號(hào) n");scanf("%d",&number);p0=*h;if(p0->number=number)*h=p0->next;free(p0);retu
19、rn 1;p=p0->next;while(p!=NULL)if(p->number=number) p0->next=p->next;free(p);return 1;p0=p;p=p->next;printf("n 按回車鍵返回 n")getchar();return 0;/* 插入鏈表 */int insert (struct stu *h)struct stu *p,*p0;p=(struct stu *)malloc(N);n");printf(" 請(qǐng)輸入要插入的學(xué)號(hào) scanf("%ld",&
20、amp;p->number);p0=*h;if(p0->number=p->number)return 0;printf(" 姓名 n");scanf("%s",&p->name);printf(" 性別 n");scanf("%s",&p->sex);printf(" 出生日期 n");scanf("%d%d%d",&p->birthday.year,&p->birthday.mouth,&p
21、->birthday.day);printf("E-mailn");scanf("%s",&p->mail);printf("n");scanf("%s",&p->phone);printf("c 成績(jī) n");scanf("%d",&p->cscore);printf(" 數(shù)學(xué)成績(jī) n");scanf("%d",&p->mscore);p->next=NULL;if(
22、*h=NULL)*h=p;return 1;p0=*h;if(p0->number>p->number)p->next=*h;*h=p;return 1; while(p0->next!=NULL&&p0->next->number<p->number) p0=p0->next;if(p0->next=NULL)p0->next=p;return 1;p->next=p0->next;p0->next=p;printf("nn 按回車鍵返回 nn");getchar()
23、;return 1;/* 排序 */ struct stu* sort(struct stu *p0)struct stu *t,*p,*q,*z;if(p0=NULL)printf(" 沒有學(xué)生信息可排序 !n");return 0;個(gè)節(jié)點(diǎn)時(shí) */if(p0=NULL)|(p0->next=NULL)/* 當(dāng)節(jié)點(diǎn)不存在或者只有 return p0;t=p0;p=t->next;t->next=NULL; /* 將頭節(jié)點(diǎn)孤立出來 */while(p) /*t 始終指向頭節(jié)點(diǎn) */q=p->next;if(p->cscore>t->c
24、score)/* 用頭節(jié)點(diǎn)的后一個(gè)節(jié)點(diǎn)與頭節(jié)點(diǎn)進(jìn)行比較 */p->next=t; /* 將分?jǐn)?shù)大的放在前面 */t=p; /*t 始終指向當(dāng)前第一個(gè)節(jié)點(diǎn) */elsez=t;while(z->next&&z->next->cscore>=p->cscore)z=z->next;p->next=z->next;z->next=p;p=q;p0=t;return p0;void main()struct stu *head,*p;int a;int b;printf( "*n");*printf(&qu
25、ot; 要進(jìn)入系統(tǒng)請(qǐng)按任意鍵 n");getchar();printf(歡迎您!您已進(jìn)入管理系統(tǒng)*n");*printf( "*n");*doclearscreen();printf(" 學(xué)生紀(jì)錄操作 :n");printf("1:輸入學(xué)生信息 n");printf("2:查找學(xué)生信息 n");printf("3:刪除學(xué)生信息 n");printf("4:插入學(xué)生信息 n");printf("5:顯示學(xué)生信息 n");printf("6:按 C 語(yǔ)言成績(jī)排序 n");printf("0: 退出系統(tǒng) n");printf(" 請(qǐng)選擇 (06) : ");scanf("%d",&b);switch(b)case
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 1 My school Part A Let's learn(教學(xué)設(shè)計(jì))-2023-2024學(xué)年人教PEP版英語(yǔ)四年級(jí)下冊(cè)
- 砌磚質(zhì)量合同范本
- 20 美麗的小興安嶺 第二課時(shí) 教學(xué)設(shè)計(jì)-2024-2025學(xué)年語(yǔ)文三年級(jí)上冊(cè)統(tǒng)編版
- 9 玩得真開心 (教學(xué)設(shè)計(jì))-2023-2024學(xué)年道德與法治一年級(jí)上冊(cè)統(tǒng)編版
- 房屋全款購(gòu)買合同范本
- 制作預(yù)案合同范本
- 5的乘法口訣(教學(xué)設(shè)計(jì))- 2024-2025學(xué)年二年級(jí)上冊(cè)數(shù)學(xué)人教版
- 舊物交易合同范本
- 4 地球-我們的家園:《環(huán)境問題敲響了警鐘》 (教學(xué)設(shè)計(jì))統(tǒng)編版道德與法治六年級(jí)下冊(cè)
- 2023-2024學(xué)年清華版(2012)信息技術(shù)三年級(jí)下冊(cè)第一單元《3課 妙筆生花-文本的修飾》教學(xué)設(shè)計(jì)
- 2024年河南鄭州二七區(qū)侯寨中心衛(wèi)生院招聘筆試真題
- 中國(guó)糖尿病防治指南+2024+解讀
- 數(shù)學(xué)-山東省天一大聯(lián)考齊魯名校教研共同體2024-2025學(xué)年(下)高三開學(xué)質(zhì)量檢測(cè)聯(lián)考試題和答案
- 崗位職責(zé)心得體會(huì)(2篇)
- 2025年上海寶冶集團(tuán)限公司招聘歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- GB/T 6822-2024船體防污防銹漆體系
- 電信網(wǎng)絡(luò)詐騙犯罪的特征、治理困境及對(duì)策建議
- 救護(hù)車掛靠私立醫(yī)院協(xié)議書(2篇)
- 《血透患教》課件
- app 購(gòu)買合同范例
- 高二上學(xué)期物理(理科)期末試題(含答案)
評(píng)論
0/150
提交評(píng)論