




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、編號:學 號:程設(shè)計教學院計算機學院課程名稱數(shù)據(jù)結(jié)構(gòu)宿舍管理查詢系統(tǒng)軟件工程同組人員(完成時間)指導教師概述1. 課程設(shè)計的目的 1理解和掌握該課程中的有關(guān)基本概念,程序設(shè)計思想和方法。 2培養(yǎng)綜合運用所學知識獨立完成課題的能力。 3培養(yǎng)勇于探索、嚴謹推理、實事求是、有錯必改,用實踐來檢驗理論, 全方位考慮問題等科學技術(shù)人員應具有的素質(zhì)。4掌握從資料文獻、科學實驗中獲得知識的能力,提高學生從別人經(jīng)驗中 找到解決問題的新途徑的悟性,初步培養(yǎng)工程意識和創(chuàng)新能力。2. 課程設(shè)計的要求 需要的基本知識與技能,尚未掌握的知識點,需要查閱相關(guān)資料。教師對 本題目所提出的要求等。任務:為宿舍管理人員編寫一個
2、宿舍管理查詢軟件 , 程序設(shè)計要求:(1)采用交互工作方式(2)可以增加、刪除、修改信息(3)建立數(shù)據(jù)文件 ,數(shù)據(jù)文件按關(guān)鍵字 (姓名、學號、房號)進行排序 ( 選擇、 快速排序、堆排序等任選一種 )(4)查詢: a. 按姓名查詢 ;b. 按學號查詢 ;c 按房號查詢(5)打印任一查詢結(jié)果(可以連續(xù)操作)總體方案設(shè)計1.程序結(jié)構(gòu)圖(主要部分的詳細流程圖)2.程序流程圖(圖 2-2)詳細設(shè)計1軟件設(shè)計題目:宿舍管理查詢?nèi)蝿眨簽樗奚峁芾砣藛T編寫一個宿舍管理查詢軟件 , 程序設(shè)計要求:( 1 )采用交互工作方式(2)可以增加、刪除、修改信息(3)建立數(shù)據(jù)文件 ,數(shù)據(jù)文件按關(guān)鍵字(姓名、學號、房號)進
3、行排序 ( 選擇、快速排序、堆 排序等任選一種 )(4)查詢 : a. 按姓名查詢 ;b. 按學號查詢 ;c 按房號查詢(5)打印任一查詢結(jié)果(可以連續(xù)操作)2算法思想:首先,運行程序進入“歡迎進入宿舍管理查詢系統(tǒng)”界面,然后進入線性 表創(chuàng)建界面中,輸入學生的信息,創(chuàng)建好學生信息以后單擊“ 界面(主界面),然后可按鍵進行操作。單擊數(shù)字鍵n”鍵則進入操作1”,則為按姓名排序單擊數(shù)字鍵2”則為按學號排單擊數(shù)字鍵3”,則為按房號排序單擊數(shù)字鍵4”則為按姓名查單擊數(shù)字鍵5”,則為按學號查找單擊數(shù)字鍵6”則為按學號查單擊數(shù)字鍵除系統(tǒng)中有如下關(guān)鍵詞:?提示:當輸入的數(shù)字鍵為 0 時,退出操作; ?請輸入數(shù)
4、字鍵 (18 為操作鍵 ) ; ?請按任意鍵進入主界面。7”,則為按學號插入單擊數(shù)字鍵8”則為按學號刪(1)關(guān)鍵變量說明:#define N 40#define increase 10 char name20;int num;int room;int length;stu *elem;3. 本系統(tǒng)定義的存儲結(jié)構(gòu)采用結(jié)構(gòu)體數(shù)組:線性表存儲空間的初始分配量 線性表存儲空間的分配量增量 姓名學號房號當前長度存儲空間基址int listsize;( 2)函數(shù)定義說明:#include#include#include (3)結(jié)構(gòu)體說明:當前分配的存儲容量typedef struct面設(shè)計函數(shù):void
5、menu() 要函數(shù)定義說明:void init ( linklist &l )試輸出結(jié)果(以運行結(jié)果圖表示)(圖(圖(圖(圖(圖(圖(圖(圖 (圖 圖 圖 圖 圖 圖圖4-1)4-2)4-3)4-4 )4-5 )4-6 )4-7)4-8 )4-9 ) 4-10 ) 4-11 ) 4-12 ) 4-13 ) 4-14 ) 4-15 )五 課程設(shè)計總結(jié)經(jīng)過這次課程設(shè)計,我收獲到到了很多東西,對 C語言有了進一步的了解 和認識,不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有 學到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的, 只有理論知識是遠遠不夠的,只有把所學的理
6、論知識與實踐相結(jié)合起來,從理 論中得出結(jié)論,才能提高自己的實際動手能力和獨立思考的能力,在設(shè)計的過 程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不 夠牢固,通過這次課程設(shè)計之后,一定把以前所學過的知識重新溫故。通過本次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計,我學到了很多,獨立的完成了作業(yè),我覺得 很滿足,也很有成就感, 現(xiàn)在知道并熟練的掌握了一些曾經(jīng)自己不知道的知識。 經(jīng)過這次課程設(shè)計,我深刻認識到算法在程序設(shè)計中的重要性,一個完整的程 序總是由若干個函數(shù)構(gòu)成的,這些相應的函數(shù)體現(xiàn)了算法的基本思想。通過此次課程設(shè)計,我了解了編寫應用軟件的一般步驟,獲得了很多寶貴 的經(jīng)驗。特別是怎樣將理論與實踐
7、相結(jié)合,把書本上的的內(nèi)容應用到我們做的 程序上。其次我熟悉了數(shù)據(jù)結(jié)構(gòu)的知識學會了很多關(guān)于程序設(shè)計的經(jīng)驗和技巧, 明白了程序設(shè)計的使用性和通用性事程序生存周期長短的關(guān)鍵,學會了程序調(diào) 試的一般方法。重要的是通過本次程序設(shè)計,我逐步具備了走向程序員的基本 素質(zhì)。知道如何在困難重重時一步一步細心發(fā)現(xiàn)問題,解決問題。知道了在軟 件設(shè)計中對界面和功能如何平衡,如何達到相對完美。編程是一件枯燥乏味工作,但是只要認真專研,我們會從中學到很多在課 本上學不到或者無法在課堂上掌握的知識,同時也能從中感受到編程的樂趣。 興趣是可以培養(yǎng)的, 只要堅持下去, 面對困難我們總能夠找到解決問題的方法。 通過小組的分工與合
8、作, 使我充分認識到在項目團隊開發(fā)過程中合作的重要性, 也更加理解了溝通協(xié)作能力在軟件開發(fā)行業(yè)中的重要性。另外也需要提出的是 在這次程序設(shè)計的過程中,非常感謝陳利民老師對我們的耐心指導。老師在教 學過程中表現(xiàn)出來的對學術(shù)專研一絲不茍的精神讓我非常有收獲。同樣也是老 師的嚴格要求才使得小組成員能夠順利的完成任務。1234567六 參考文獻譚浩強, C 程序設(shè)計題解與上機指導(第二版),北京,清華大學出版社,陳朔鷹等編著, C 語言程序設(shè)計基礎(chǔ)教程,兵器工業(yè)出版社,裘宗燕 著,從問題到程序科學出版社,北京大學出版社,姜仲秋等主編, C 語言程序設(shè)計,南京大學出版社,劉瑞挺主編,計算機二級教程,南開
9、大學出版社,1994 年 9 月。1999 年 4 月。1998 年 1 月。1996 年 10 月。陳朔鷹 陳英主編, C 語言程序設(shè)計習題集(第二版)人民郵電出版社,田淑清等, C 語言程序設(shè)計輔導與習題集,中國鐵道出版社,七 附件2000 年 9 月。2003 年 2 月。2000 年 1 月。源代碼: #include #include #include #define N 40 ame, );.num = ;.room = ;+;printf ( n );printf ( 是否繼續(xù)輸入 ?: );scanf ( %c, &ch );printf ( n );printf ( n );
10、while ( ch = y )printf (請輸入第c個學生的信息n, i );shuru ( l );strcpy ( .name, );.num = ;.room = ;+;i+; ch=getchar (); printf ( n );printf ( 是否繼續(xù)輸入 ?: ); scanf ( %c, &ch ); printf ( n ); printf ( n );if ( ch = n ) system ( cls );void sort3 ( linklist &l )oom j.room ) temp = i; i = j;j = temp;void sort2 ( lin
11、klist &l )um j.num )temp = i;i = j;void sort1j= temp;( linklist &l )ame, ) 0 )temp = i;i = j;j= temp;void print1 ( linklist &l )ame, i.num, i.room ); void print2 ( linklist &l, int mid ) ame, mid.num, mid.room );int panduan1 ( char ch ) oom ) flag = 1; break; elseif ( m mid.room ) low = mid +
12、1;elsehigh = mid - 1; if ( flag = 1 )print2 ( l, mid );if ( panduan1 ( ch ) um ) flag = 1; break; elseif ( n mid.num ) low = mid + 1;elsehigh = mid - 1;if ( flag = 1)print2 ( l, mid );if( panduan1 ( ch ) ) chazhao2 ( l );elsesystem ( cls );menu ();elseif ( panduan2 ( ch ) chazhao2 (l); elsevoid chaz
13、hao1system ( cls ); menu();( linklist &l )ame ) = 0 ) flag = 1;break;elseif ( strcmp ( a, ) 0 ) low = mid + 1;elsehigh = mid - 1;if ( flag = 1 )print2 ( l, mid ); ame, );.num = ;.room = ;for ( i = 0; i ; i+)if ( k; j- )j = j - 1; strcpy ( , );k.num = ;k.room = ; break;elsestrcpy ( .na
14、me, );.num = ;.room = ;+;fflush (stdin);printf (n);printf ( 是否繼續(xù)插入 ?:); scanf (%c, &ch);if(ch=y) insert(l);else system(cls);void Delete(linklist &l)um)printf( 該學生的信息為 :n);printf(n);printf(%-15s %-3d %7dn,,i.num,i.room); k=i;for(j=k;j= printf( 該學生不存在 n); if(k=0);fflush(stdin);printf(n);printf(
15、是否繼續(xù)刪除 ?:);scanf(%c,&ch);system(cls);if(ch=y) Delete(l);else system(cls);void main()linklist l;/主函數(shù)定義線性表 l 調(diào)用初始化函數(shù)init(l);char ch;system(color a);printf(n);printf( *n);printf(n);printf( 請按任意鍵開始操作 :); scanf(%c, &ch); system(cls);/ create(l); / system(cls);t=1;menu();while(f!=0)system(cls);switch(f)ca
16、se 1:/歡迎進入宿舍管理查詢系統(tǒng)將屏幕先前顯示的內(nèi)容清理掉調(diào)用線性表創(chuàng)建函數(shù)調(diào)用主菜單函數(shù)sort1(l); /printf(n);if=0)printf( 已無學生記錄 n); printf(n);disp(); menu();else調(diào)用按姓名排序函數(shù)printf( 按姓名排序 :n); print1(l);disp();menu();break;case 2:/ 調(diào)用返回主界面sort2(l); / printf(n); if=0) printf(調(diào)用按學號排序函數(shù)已無學生記錄 n);printf(n); disp(); menu();elseprintf( 按學號排序 :n);pr
17、int1(l);disp();menu();break;case 3:sort3(l); / 調(diào)用按房號排序函數(shù) printf(n);if=0)printf( 已無學生記錄 n);printf(n);disp();menu();elseprintf( print1(l); disp(); menu();break; case 4:按房號排序 :n);sort1(l); / chazhao1(l); break;/先調(diào)用按姓名排序函數(shù)進行排序 再調(diào)用按姓名查找函數(shù)進行(二分)查找case 5:sort2(l); / chazhao2(l); break;/先調(diào)用按學號排序函數(shù)進行排序再調(diào)用按學號查找函數(shù)進行(二分)查找case 6:sort3(l); / chazhao3(l); break;/先調(diào)用按房號排序函數(shù)進行排序再調(diào)用按房號查找函數(shù)進行(二分)查找case 7:sort2(l); / insert(l); system(cls);printf( 顯示插入后的學生信息 :n);print1(l);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)內(nèi)部員工培訓需求與實施策略
- CVD金剛石薄膜與涂層技術(shù)進展及其關(guān)鍵應用領(lǐng)域探索
- 合肥學校資產(chǎn)管理辦法
- 機票費用審核管理辦法
- 國企補充醫(yī)療管理辦法
- 公務接待集中管理辦法
- 醫(yī)藥機構(gòu)定點管理辦法
- 農(nóng)機大院農(nóng)機管理辦法
- 近現(xiàn)代文學批評主體與客體:期刊書評的媒介作用
- “新質(zhì)生產(chǎn)力”引領(lǐng)下的“檔案文化產(chǎn)業(yè)”發(fā)展新模式、新趨勢與新路徑探索
- -衛(wèi)生資格-副高-內(nèi)科護理-副高-章節(jié)練習-護理學總論-醫(yī)院感染護理(案例分析題)(共6題)
- 中國古代文化常識(上)
- 禮品禮金登記表
- 【新】2019-2020成都市石室中學北湖校區(qū)初升高自主招生數(shù)學【4套】模擬試卷【含解析】
- 《文明禮貌我最棒》班會課件
- 意外受傷賠償協(xié)議書的格式
- PE管閉水試驗表
- 山東省教師職稱改革實施方案
- 《河南省企業(yè)安全風險辨識管控與隱患排查治理雙重預防體系建設(shè)導則(試用)》
- 生產(chǎn)過程檢驗記錄表
- 規(guī)劃放線報告材料樣本
評論
0/150
提交評論