數(shù)據(jù)結(jié)構(gòu)-宿舍管理查詢(xún)系統(tǒng)_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)-宿舍管理查詢(xún)系統(tǒng)_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)-宿舍管理查詢(xún)系統(tǒng)_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)-宿舍管理查詢(xún)系統(tǒng)_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)-宿舍管理查詢(xún)系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、攀枝花學(xué)院學(xué)生課程設(shè)計(jì)(論文)題 目: 宿舍管理查詢(xún)軟件的設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生姓名: 學(xué) 號(hào): 所在院(系): 計(jì)算機(jī)學(xué)院 專(zhuān) 業(yè): 班 級(jí): 指 導(dǎo) 教 師: 職 稱(chēng): 2011年6月4日教務(wù)處制- 15 -攀枝花學(xué)院本科學(xué)生課程設(shè)計(jì)任務(wù)書(shū)題目宿舍管理查詢(xún)軟件的設(shè)計(jì)與實(shí)現(xiàn)1、課程設(shè)計(jì)的目的培養(yǎng)學(xué)生用學(xué)到的書(shū)本知識(shí)解決實(shí)際問(wèn)題的能力;培養(yǎng)實(shí)際工作所需要的動(dòng)手能力;培養(yǎng)學(xué)生以科學(xué)理論和工程上能力的技術(shù),規(guī)范地開(kāi)發(fā)大型、復(fù)雜、高質(zhì)量的應(yīng)用軟件和系統(tǒng)軟件具有關(guān)鍵性作用;通過(guò)課程設(shè)計(jì)的實(shí)踐,學(xué)生可以在程序設(shè)計(jì)方法、上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)格的訓(xùn)練。2、課程設(shè)計(jì)的內(nèi)容和要求(包括原始

2、數(shù)據(jù)、技術(shù)要求、工作要求等)1)任務(wù):為宿舍管理人員編寫(xiě)一個(gè)宿舍管理查詢(xún)軟件, 程序設(shè)計(jì)要求:A.采用交互工作方式B.建立數(shù)據(jù)文件 ,數(shù)據(jù)文件按關(guān)鍵字(姓名、學(xué)號(hào)、房號(hào))進(jìn)行排序(冒泡、選擇、插入排序等任選一種)2)查詢(xún)菜單: (用二分查找實(shí)現(xiàn)以下操作)A.按姓名查詢(xún) B.按學(xué)號(hào)查詢(xún) C.按房號(hào)查詢(xún)3)打印任一查詢(xún)結(jié)果(可以連續(xù)操作)3、主要參考文獻(xiàn)1數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版),嚴(yán)蔚敏,清華大學(xué)出版社,20032數(shù)據(jù)結(jié)構(gòu)題集,嚴(yán)蔚敏,清華大學(xué)出版社,20053數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版),劉大有,高等教育出版社,20044Data Structure with C+,William FordWilliam

3、Topp,清華大學(xué)出版社,20034、課程設(shè)計(jì)工作進(jìn)度計(jì)劃第1天 完成方案設(shè)計(jì)與程序框圖 第2、3天 編寫(xiě)程序代碼第4天 程序調(diào)試分析和結(jié)果第5天 課程設(shè)計(jì)報(bào)告和總結(jié)指導(dǎo)教師(簽字)日期年 月 日教研室意見(jiàn):年 月 日學(xué)生(簽字): 接受任務(wù)時(shí)間: 年 月 日注:任務(wù)書(shū)由指導(dǎo)教師填寫(xiě)。課程設(shè)計(jì)(論文)指導(dǎo)教師成績(jī)?cè)u(píng)定表題目名稱(chēng)宿舍管理查詢(xún)軟件的設(shè)計(jì)與實(shí)現(xiàn)評(píng)分項(xiàng)目分值得分評(píng)價(jià)內(nèi)涵工作表現(xiàn)20%01學(xué)習(xí)態(tài)度6遵守各項(xiàng)紀(jì)律,工作刻苦努力,具有良好的科學(xué)工作態(tài)度。02科學(xué)實(shí)踐、調(diào)研7通過(guò)實(shí)驗(yàn)、試驗(yàn)、查閱文獻(xiàn)、深入生產(chǎn)實(shí)踐等渠道獲取與課程設(shè)計(jì)有關(guān)的材料。03課題工作量7按期圓滿完成規(guī)定的任務(wù),工作量飽滿

4、。能力水平35%04綜合運(yùn)用知識(shí)的能力10能運(yùn)用所學(xué)知識(shí)和技能去發(fā)現(xiàn)與解決實(shí)際問(wèn)題,能正確處理實(shí)驗(yàn)數(shù)據(jù),能對(duì)課題進(jìn)行理論分析,得出有價(jià)值的結(jié)論。05應(yīng)用文獻(xiàn)的能力5能獨(dú)立查閱相關(guān)文獻(xiàn)和從事其他調(diào)研;能提出并較好地論述課題的實(shí)施方案;有收集、加工各種信息及獲取新知識(shí)的能力。06設(shè)計(jì)(實(shí)驗(yàn))能力,方案的設(shè)計(jì)能力5能正確設(shè)計(jì)實(shí)驗(yàn)方案,獨(dú)立進(jìn)行裝置安裝、調(diào)試、操作等實(shí)驗(yàn)工作,數(shù)據(jù)正確、可靠;研究思路清晰、完整。07計(jì)算及計(jì)算機(jī)應(yīng)用能力5具有較強(qiáng)的數(shù)據(jù)運(yùn)算與處理能力;能運(yùn)用計(jì)算機(jī)進(jìn)行資料搜集、加工、處理和輔助設(shè)計(jì)等。08對(duì)計(jì)算或?qū)嶒?yàn)結(jié)果的分析能力(綜合分析能力、技術(shù)經(jīng)濟(jì)分析能力)10具有較強(qiáng)的數(shù)據(jù)收集、

5、分析、處理、綜合的能力。成果質(zhì)量45%09插圖(或圖紙)質(zhì)量、篇幅、設(shè)計(jì)(論文)規(guī)范化程度5符合本專(zhuān)業(yè)相關(guān)規(guī)范或規(guī)定要求;規(guī)范化符合本文件第五條要求。10設(shè)計(jì)說(shuō)明書(shū)(論文)質(zhì)量30綜述簡(jiǎn)練完整,有見(jiàn)解;立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理;實(shí)驗(yàn)正確,分析處理科學(xué)。11創(chuàng)新10對(duì)前人工作有改進(jìn)或突破,或有獨(dú)特見(jiàn)解。成績(jī)指導(dǎo)教師評(píng)語(yǔ)指導(dǎo)教師簽名: 年月日摘 要 本宿舍管理查詢(xún)軟件是為方便宿舍管理人員實(shí)現(xiàn)宿舍管理查詢(xún)而開(kāi)發(fā)的,具有信息錄入、顯示、查詢(xún)、排序、插入和刪除功能,能實(shí)現(xiàn)信息修改和通過(guò)別的途徑導(dǎo)入大量數(shù)據(jù),可連續(xù)打印任一查詢(xún)結(jié)果,但不能實(shí)現(xiàn)信息存盤(pán),使用簡(jiǎn)單方便,點(diǎn)擊程序即可運(yùn)行。關(guān)鍵詞:管理,

6、查詢(xún),結(jié)構(gòu)體,函數(shù)目 錄攀枝花學(xué)院本科學(xué)生課程設(shè)計(jì)任務(wù)書(shū)I課程設(shè)計(jì)(論文)指導(dǎo)教師成績(jī)?cè)u(píng)定表II摘 要III1 方案設(shè)計(jì)11.1任務(wù):11.1.1程序設(shè)計(jì)要求:11.1.2查詢(xún)菜單: (用二分查找實(shí)現(xiàn)以下操作)11.1.3打印任一查詢(xún)結(jié)果(可以連續(xù)操作)11.2功能:12 算法設(shè)計(jì)22.1線性表的順序存儲(chǔ)22.1.1存儲(chǔ)結(jié)構(gòu)22.1.2程序結(jié)構(gòu)圖為:23 詳細(xì)設(shè)計(jì)34 調(diào)試分析94.1使用方法94.2測(cè)試數(shù)據(jù):94.2.1開(kāi)始錄入的數(shù)據(jù):94.2.2插入的數(shù)據(jù):94.2.3查找的數(shù)據(jù):94.2.4刪除的數(shù)據(jù):94.3測(cè)試輸出結(jié)果(以運(yùn)行結(jié)果圖表示):94.3.1歡迎界面:104.3.2按任意鍵

7、進(jìn)入線性表的創(chuàng)建界面:104.3.3輸入數(shù)據(jù),開(kāi)始創(chuàng)建:104.3.4請(qǐng)按鍵選擇操作:104.3.5按姓名排序:114.3.6按學(xué)號(hào)排序:114.3.7按房號(hào)排序:114.3.8插入后顯示:124.3.9按姓名查找:124.3.10按學(xué)號(hào)查找:124.3.11按房號(hào)查找:124.3.12進(jìn)入刪除功能,刪除數(shù)據(jù)后顯示剩余的學(xué)生信息:134.3.13退出(數(shù)字為零時(shí)退出):134.4分析結(jié)果135 總結(jié)14參考文獻(xiàn)151 方案設(shè)計(jì)1.1任務(wù):為宿舍管理人員編寫(xiě)一個(gè)宿舍管理查詢(xún)軟件1.1.1程序設(shè)計(jì)要求:采用交互工作方式建立數(shù)據(jù)文件 ,數(shù)據(jù)文件按關(guān)鍵字(姓名、學(xué)號(hào)、房號(hào))進(jìn)行排序(冒泡、選擇、插入排

8、序等任選一種)1.1.2查詢(xún)菜單: (用二分查找實(shí)現(xiàn)以下操作)按姓名查詢(xún) 按學(xué)號(hào)查詢(xún) 按房號(hào)查詢(xún)1.1.3打印任一查詢(xún)結(jié)果(可以連續(xù)操作)1.2功能:根據(jù)上述要求,我們開(kāi)始考慮系統(tǒng)應(yīng)具備的功能:要實(shí)現(xiàn)交互工作方式,各項(xiàng)操作結(jié)束后均應(yīng)返回主菜單;系統(tǒng)本無(wú)任何信息數(shù)據(jù),要建立數(shù)據(jù)文件,需開(kāi)發(fā)一個(gè)信息錄入功能,即首先創(chuàng)建一個(gè)學(xué)員線性表,同時(shí)我們可以將數(shù)據(jù)暫時(shí)保存在內(nèi)存中,所以我們未開(kāi)發(fā)信息存盤(pán)功能;信息錄入后都保存在內(nèi)存中,用戶看不到,需要設(shè)計(jì)一個(gè)信息顯示功能,信息的顯示應(yīng)該便于查閱,所以需具備按各種關(guān)鍵字顯示的功能;本系統(tǒng)按關(guān)鍵字(姓名、學(xué)號(hào)、房號(hào))進(jìn)行冒泡排序,采用二分查找方式分別實(shí)現(xiàn)按關(guān)鍵字(

9、姓名、學(xué)號(hào)、房號(hào))查詢(xún)功能;由于有些同學(xué)因?yàn)椴煌蚨x校,所以設(shè)計(jì)了刪除功能;由于有新同學(xué)入校,所以設(shè)計(jì)了插入功能;當(dāng)用戶操作完畢需要退出時(shí),我們提供了退出選項(xiàng),便于使用者退出交互式工作系統(tǒng)。2 算法設(shè)計(jì)2.1線性表的順序存儲(chǔ)2.1.1存儲(chǔ)結(jié)構(gòu)本系統(tǒng)定義的存儲(chǔ)結(jié)構(gòu)采用結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)體為:typedef struct /定義結(jié)構(gòu)體成員char name20;int num; /學(xué)號(hào)和房號(hào)都為整型int room;stu;stu stud;typedef structint length; /當(dāng)前長(zhǎng)度stu *elem; /存儲(chǔ)空間基址int listsize; /當(dāng)前分配的存儲(chǔ)容量linkl

10、ist; 在此說(shuō)明每個(gè)部分的算法設(shè)計(jì)說(shuō)明(可以是描述算法的流程圖)2.1.2程序結(jié)構(gòu)圖為: 姓名排序模塊學(xué)號(hào)刪除模塊房間排序模塊學(xué)號(hào)排序模塊 姓名查找模塊房號(hào)查找模快學(xué)號(hào)插入模塊主函數(shù)學(xué)號(hào)查找模塊3 詳細(xì)設(shè)計(jì)/采用順序線性表解決宿舍管理問(wèn)題 (C語(yǔ)言)#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 40 /線性表存儲(chǔ)空間的初始分配量#define increase 10 /線性表存儲(chǔ)空間的分配量增量int f,t=0; /定義全局變量typedef struct char name

11、20;int num; /學(xué)號(hào)和房號(hào)都為整型int room;stu;stu stud;typedef structint length; /當(dāng)前長(zhǎng)度stu *elem; /存儲(chǔ)空間基址int listsize; /當(dāng)前分配的存儲(chǔ)容量linklist; void init(linklist &l)/線性表初始化l.length=0;l.elem=(stu *)malloc(N*sizeof(stu );l.listsize=N;void menu()/操作菜單printf("n");printf(" *請(qǐng)按鍵選擇操作*n");printf(&qu

12、ot;n");printf("n");printf(" 1 按姓名排序 2 按學(xué)號(hào)排序n");printf("n");printf(" 3 按房號(hào)排序 4 按姓名查找n");printf("n");printf(" 5 按學(xué)號(hào)查找 6 按房號(hào)查找n");printf("n");printf(" 7 按學(xué)號(hào)插入 8 按學(xué)號(hào)刪除n");printf("n");printf("n");prin

13、tf("n");printf("n");printf("提示:當(dāng)輸入的數(shù)字鍵為0時(shí),退出操作n");if(t=1)printf("請(qǐng)輸入數(shù)字鍵(18為操作鍵):");/18為有效數(shù)字操作鍵 scanf("%d",&f);if(f<0|f>9)system("cls"); printf("n");printf("輸入數(shù)字不對(duì),請(qǐng)?jiān)谠幹剌?n"); printf("n");menu();void d

14、isp() /返回主界面char c;fflush(stdin);printf("n");printf("請(qǐng)按任意鍵進(jìn)入主界面:");scanf("%c",&c);system("cls");void panduan3() /如果已無(wú)學(xué)生記錄則返回主界面 printf("n");printf("已無(wú)學(xué)生記錄n");printf("n"); disp(); menu();void shuru(linklist l) /輸入學(xué)生的信息printf(&q

15、uot;請(qǐng)輸入姓名:");fflush(stdin); / 清空輸入緩沖區(qū),得到正確的輸入數(shù)據(jù)gets(); /輸入一行字符串(姓名)printf("請(qǐng)輸入學(xué)號(hào):");scanf("%d",&stud.num);printf("請(qǐng)輸入房號(hào):");scanf("%d",&stud.room);void create(linklist &l)/創(chuàng)建學(xué)生信息表if(l.length>=l.listsize) /判斷學(xué)生的人數(shù)是否超過(guò)初值,如果超過(guò),則重新分配stu

16、 *newbase;newbase=(stu*)realloc(l.elem,(N+increase)*sizeof(stu );l.elem=newbase;l.listsize+=increase;int i=2;char ch;printf("n");printf(" *開(kāi)始創(chuàng)建線性表*n");printf("n");printf("請(qǐng)輸入第1個(gè)學(xué)生的信息n");shuru(l); /調(diào)用輸入函數(shù)ch=getchar();strcpy(,);l.elem

17、l.length.num=stud.num;l.eleml.length.room=stud.room;l.length+;printf("n");printf("是否繼續(xù)輸入?<y/n>:");scanf("%c",&ch);printf("n");printf("n");while(ch='y') printf("請(qǐng)輸入第%d個(gè)學(xué)生的信息n",i); shuru(l);strcpy(,stud.na

18、me);l.eleml.length.num=stud.num;l.eleml.length.room=stud.room;l.length+;i+;ch=getchar(); printf("n");printf("是否繼續(xù)輸入?<y/n>:");scanf("%c",&ch);printf("n");printf("n"); if(ch='n') system("cls");void sort3(linklist &l)/按房號(hào)

19、排序(采用冒泡排序)int i,j;stu temp;for(i=0;i<l.length-1;i+)for(j=i+1;j<l.length;j+)if(l.elemi.room>l.elemj.room)temp=l.elemi;l.elemi=l.elemj;l.elemj=temp;void sort2(linklist &l)/按學(xué)號(hào)排序(采用冒泡排序)int i,j;stu temp;for(i=0;i<l.length-1;i+)for(j=i+1;j<l.length;j+)if(l.elemi.num>l.elemj.num)tem

20、p=l.elemi;l.elemi=l.elemj;l.elemj=temp;void sort1(linklist &l)/按姓名排序(采用冒泡排序)int i,j;stu temp;for(i=0;i<l.length-1;i+)for(j=i+1;j<l.length;j+)if(strcmp(,)>0)temp=l.elemi;l.elemi=l.elemj;l.elemj=temp;void print1(linklist &l)/打印學(xué)生信息int i;printf("n");pr

21、intf("姓名 學(xué)號(hào) 房號(hào)n");printf("n");for(i=0;i<l.length;i+)printf("%-15s %-3d %5dn",,l.elemi.num,l.elemi.room);void print2(linklist &l,int mid) /打印查找到的學(xué)生信息 printf("查找成功->該學(xué)生信息為:n");printf("姓名 學(xué)號(hào) 房號(hào)n");printf("n");printf("

22、;%-15s %-5d %-5dn",,l.elemmid.num,l.elemmid.room);int panduan1(char ch) /判斷是否繼續(xù)查找scanf("%c",&ch);printf("是否繼續(xù)查找?<y/n>:"); fflush(stdin);scanf("%c",&ch);if(ch='y')system("cls");return(1); elsereturn 0;int panduan2(char c

23、h) /如果學(xué)生不存在,判斷是否繼續(xù)查找scanf("%c",&ch);printf("該學(xué)生不存在,是否繼續(xù)查找?<y/n>:"); fflush(stdin);scanf("%c",&ch);if(ch='y')system("cls");return(1); elsereturn 0;void chazhao3(linklist &l)/按房號(hào)從小到大查找(采用二分查找)if(l.length=0) panduan3(); /此函數(shù)功能為:返回主界面else

24、 int low=0,high=l.length,mid,flag=0;/flag作為標(biāo)志符,為1則表示查找成功,否則沒(méi)有所要查找的學(xué)生int m;char ch;printf("n");printf("n");printf("按房號(hào)查找->請(qǐng)輸入要查找的房號(hào):");scanf("%d",&m);printf("n");while(low<=high) mid=(low+high)/2;if(m=l.elemmid.room)flag=1;break;else if(m>

25、;l.elemmid.room)low=mid+1;else high=mid-1;if(flag=1) print2(l,mid);if(panduan1(ch) /調(diào)用判斷函數(shù)1chazhao3(l);else system("cls");menu();else if(panduan2(ch) /調(diào)用判斷函數(shù)2chazhao3(l); else system("cls");menu();void chazhao2(linklist &l)/按學(xué)號(hào)從小到大查找(采用二分查找) if(l.length=0) panduan3();elseint

26、low=0,high=l.length,mid,flag=0;int n;char ch;printf("n");printf("n");printf("按學(xué)號(hào)查找->請(qǐng)輸入要查找的學(xué)號(hào):");scanf("%d",&n);printf("n");while(low<=high) mid=(low+high)/2;if(n=l.elemmid.num)flag=1;break;else if(n>l.elemmid.num)low=mid+1;else high=mid

27、-1;if(flag=1) print2(l,mid);if(panduan1(ch) chazhao2(l);else system("cls");menu();else if(panduan2(ch) chazhao2(l); else system("cls");menu(); void chazhao1(linklist &l)/按姓名從小到大查找(采用二分查找) if(l.length=0) panduan3();elseint low=0,high=l.length,mid,flag=0;printf("n");p

28、rintf("n");printf("按姓名查找->請(qǐng)輸入要查找的姓名:");char a15,ch;scanf("%s",a);printf("n");while(low<=high) mid=(low+high)/2;if(strcmp(a,)=0)flag=1;break;else if(strcmp(a,)>0)low=mid+1;else high=mid-1;if(flag=1) print2(l,mid); /打印查找到的學(xué)生的

29、信息if(panduan1(ch) chazhao1(l);else system("cls");menu();elseif(panduan2(ch)chazhao1(l);else system("cls");menu();void insert(linklist &l)/按學(xué)號(hào)從小到大插入該學(xué)生int i,j,k; char ch;printf("n");printf("插入的學(xué)生信息為:n");printf("姓名:");fflush(stdin);/ 清空輸入緩沖區(qū),得到正確的輸

30、入數(shù)據(jù)gets(); printf("學(xué)號(hào):");scanf("%d",&stud.num);printf("房號(hào):");scanf("%d",&stud.room);if(l.length=0)strcpy(,);l.eleml.length.num=stud.num;l.eleml.length.room=stud.room;for(i=0;i<l.length;i+) if(stud.num<l.elemi.

31、num)k=i;for(j=l.length;j>k;j-)l.elemj=l.elemj-1;strcpy(,);l.elemk.num=stud.num;l.elemk.room=stud.room;break;else strcpy(,);l.eleml.length.num=stud.num;l.eleml.length.room=stud.room;l.length+;fflush(stdin);printf("n");printf("是否繼續(xù)插入?&

32、lt;y/n>:");scanf("%c",&ch);if(ch='y') insert(l);else system("cls");void Delete(linklist &l)/按學(xué)號(hào)刪除該學(xué)生int i,j,k=-1;char ch;printf("n");printf("n");printf("請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):");scanf("%d",&stud.num);for(i=0;i<l.length;

33、i+)if(stud.num=l.elemi.num)printf("該學(xué)生的信息為:n");printf("n");printf("%-15s %-3d %7dn",,l.elemi.num,l.elemi.room);k=i;for(j=k;j<l.length-1;j+)l.elemj=l.elemj+1;printf("n");break; if(i>=l.length) printf("該學(xué)生不存在n");if(k>=0)l.length-;f

34、flush(stdin);printf("n");printf("是否繼續(xù)刪除?<y/n>:");scanf("%c",&ch);system("cls");if(ch='y') Delete(l);else system("cls");void main() /主函數(shù)linklist l; /定義線性表 linit(l); /調(diào)用初始化函數(shù)char ch;system("color a");printf("n");pr

35、intf(" *歡迎進(jìn)入宿舍管理查詢(xún)系統(tǒng)*n");printf("n");printf("請(qǐng)按任意鍵開(kāi)始操作:");scanf("%c",&ch);system("cls");/將屏幕先前顯示的內(nèi)容清理掉create(l); /調(diào)用線性表創(chuàng)建函數(shù)system("cls");t=1;menu(); /調(diào)用主菜單函數(shù)while(f!=0)system("cls");switch(f)case 1: sort1(l); /調(diào)用按姓名排序函數(shù) printf

36、("n"); if(l.length=0) printf("已無(wú)學(xué)生記錄n"); printf("n"); disp(); menu(); elseprintf("按姓名排序:n");print1(l);disp(); /調(diào)用返回主界面 menu(); break;case 2: sort2(l); /調(diào)用按學(xué)號(hào)排序函數(shù) printf("n"); if(l.length=0) printf("已無(wú)學(xué)生記錄n");printf("n"); disp(); m

37、enu(); elseprintf("按學(xué)號(hào)排序:n");print1(l);disp(); menu();break;case 3: sort3(l); /調(diào)用按房號(hào)排序函數(shù) printf("n"); if(l.length=0) printf("已無(wú)學(xué)生記錄n"); printf("n"); disp(); menu(); elseprintf("按房號(hào)排序:n");print1(l);disp(); menu();break; case 4:sort1(l); /先調(diào)用按姓名排序函數(shù)進(jìn)行排

38、序 chazhao1(l); /再調(diào)用按姓名查找函數(shù)進(jìn)行(二分)查找 break;case 5: sort2(l); /先調(diào)用按學(xué)號(hào)排序函數(shù)進(jìn)行排序 chazhao2(l); /再調(diào)用按學(xué)號(hào)查找函數(shù)進(jìn)行(二分)查找 break;case 6: sort3(l); /先調(diào)用按房號(hào)排序函數(shù)進(jìn)行排序 chazhao3(l); /再調(diào)用按房號(hào)查找函數(shù)進(jìn)行(二分)查找 break;case 7: sort2(l); /調(diào)用插入函數(shù) insert(l); system("cls");printf("顯示插入后的學(xué)生信息:n");print1(l);disp(); m

39、enu(); break;case 8: Delete(l); /調(diào)用刪除函數(shù)if(l.length=0)printf("n");printf("學(xué)生記錄已被刪除完n");printf("n");disp(); menu();elseprintf("顯示刪除后的學(xué)生信息:n");print1(l);disp(); menu();break;4 調(diào)試分析4.1使用方法首先,運(yùn)行程序進(jìn)入“歡迎進(jìn)入宿舍管理查詢(xún)系統(tǒng)”界面,然后進(jìn)入線性表創(chuàng)建界面中,輸入學(xué)生的信息,創(chuàng)建好學(xué)生信息以后單擊“n”鍵則進(jìn)入操作界面(主界面),然

40、后可按鍵進(jìn)行操作。單擊數(shù)字鍵“1”,則為按姓名排序 單擊數(shù)字鍵“2”,則為按學(xué)號(hào)排序單擊數(shù)字鍵“3”,則為按房號(hào)排序 單擊數(shù)字鍵“4”,則為按姓名查找單擊數(shù)字鍵“5”,則為按學(xué)號(hào)查找 單擊數(shù)字鍵“6”,則為按學(xué)號(hào)查找單擊數(shù)字鍵“7”,則為按學(xué)號(hào)插入 單擊數(shù)字鍵“8”,則為按學(xué)號(hào)刪除系統(tǒng)中有如下關(guān)鍵詞: 提示:當(dāng)輸入的數(shù)字鍵為0時(shí),退出操作;請(qǐng)輸入數(shù)字鍵(18為操作鍵);請(qǐng)按任意鍵進(jìn)入主界面。4.2測(cè)試數(shù)據(jù):4.2.1開(kāi)始錄入的數(shù)據(jù):姓名 學(xué)號(hào) 房間號(hào)田浩然 200910803050 105朱棲才 200910803079 108丁強(qiáng) 200910803008 1044.2.2插入的數(shù)據(jù):姓名

41、學(xué)號(hào) 房間號(hào)殷林 200910803065 1144.2.3查找的數(shù)據(jù):丁強(qiáng)(按姓名) 200910803050(按學(xué)號(hào)) 114(按房間號(hào))4.2.4刪除的數(shù)據(jù):200910803079(按學(xué)號(hào))4.3測(cè)試輸出結(jié)果(以運(yùn)行結(jié)果圖表示):4.3.1歡迎界面:4.3.2按任意鍵進(jìn)入線性表的創(chuàng)建界面:4.3.3輸入數(shù)據(jù),開(kāi)始創(chuàng)建:4.3.4請(qǐng)按鍵選擇操作:4.3.5按姓名排序:4.3.6按學(xué)號(hào)排序:4.3.7按房號(hào)排序:4.3.8插入后顯示:4.3.9按姓名查找:4.3.10按學(xué)號(hào)查找:4.3.11按房號(hào)查找:4.3.12進(jìn)入刪除功能,刪除數(shù)據(jù)后顯示剩余的學(xué)生信息:4.3.13退出(數(shù)字為零時(shí)退出):4.4分析結(jié)果為了避免繁瑣、改

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論