版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 《課程名稱》</b></p><p><b> 課程設(shè)計報告</b></p><p> 安徽師范大學(xué)物理與電子信息學(xué)院</p><p> College of Physics and Electronic Information, Anhui Normal University</
2、p><p><b> 目 錄</b></p><p><b> 一、程序的具體分工</b></p><p><b> 二、課題要求 </b></p><p><b> 三、課題分析與設(shè)計</b></p><p><b&
3、gt; 四、選題背景</b></p><p><b> 五、程序介紹</b></p><p> 六、源程序代碼與調(diào)試</p><p><b> 七、流程圖</b></p><p><b> 八、結(jié)語</b></p><p><
4、b> 九、參考書目</b></p><p><b> 一、程序的具體分工</b></p><p> 第一部分包括主函數(shù)和menu菜單函數(shù),第二部分包括客人的入?。╟heckin)函數(shù)和退房(checkout)函數(shù),第三部分為查詢(lookfor)函數(shù)。</p><p><b> 二、課題要求</b>
5、;</p><p> 某賓館有301、302、303、304、305五個標(biāo)準(zhǔn)間,每個標(biāo)準(zhǔn)間可住2人;</p><p> 鏈表存儲結(jié)構(gòu):姓名、性別、房號、后續(xù)指針,按房間號有序;</p><p> 能實現(xiàn)入?。ㄗ⒁庑詣e)和退房,能按給定姓名、房號查詢;</p><p> 建議采用鏈表結(jié)構(gòu),但用其它方法實現(xiàn)也可。</p>&
6、lt;p><b> 三、課題分析與設(shè)計</b></p><p> 本程序是非數(shù)值計算型算法設(shè)計,我們設(shè)計出了賓館客房管理系統(tǒng)的基本功能,并設(shè)計了簡單的界面。本程序主要考察對自定義函數(shù)的熟悉程度,本程序主要使用的是結(jié)構(gòu)體和數(shù)組,包括結(jié)構(gòu)體數(shù)組的輸入、輸出、查找、刪除等。我設(shè)計的這個賓館客房系統(tǒng)也初步實現(xiàn)了人員信息的顯示、刪除、查找、添加等必要的功能。</p><p
7、><b> 選題背景</b></p><p> C語言是目前世界上流行、使用最廣泛的高級程序設(shè)計語言。1972年,C語言在美國貝爾實驗室里問世,后來又被多次改進(jìn),并出現(xiàn)了多種版本。80年代初,美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI),根據(jù)C語言問世以來各種版本對C語言的發(fā)展和擴(kuò)充,制定了ANSIC標(biāo)準(zhǔn)。</p><p> 目前,在微機(jī)上廣泛使用的C語言編譯系統(tǒng)有Mi
8、crosoftC、Turbo C 、Visual C++等。這</p><p> C語言版本不僅實現(xiàn)了ANSIC標(biāo)準(zhǔn),而且在此基礎(chǔ)上各自作了一些擴(kuò)充,使之更加方便、完美。</p><p> C語言是一種結(jié)構(gòu)化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理
9、地址,進(jìn)行位(bit)一級的操作。由于C語言實現(xiàn)了對硬件的編程操作,因此C語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。</p><p> 此外,C語言還具有效率高,可移植性強(qiáng)等特點。因此廣泛地移植到了各類各型計算機(jī)上,從而形成了多種版本的C語言。</p><p> 為了將本學(xué)期所學(xué)C語言知識應(yīng)用于實際,加深對C語言的理解與掌握,我院開設(shè)了C語言
10、課程設(shè)計這門課程。而我們小組選取了賓館客房管理系統(tǒng)這個課題,以此來鍛煉我們編寫程序的能力。</p><p><b> 五、程序介紹</b></p><p> 賓館客房管理系統(tǒng)由8個函數(shù)組成,包括main函數(shù)、menu函數(shù)、checkin函數(shù)、checkout函數(shù)、lookfor函數(shù),其中checkin函數(shù)又包括一個add子函數(shù),lookfor函數(shù)包括search1
11、和search2兩個子函數(shù)。 </p><p> main函數(shù)主要是對menu函數(shù)、checkin函數(shù)、checkout函數(shù)、lookfor函數(shù)進(jìn)行聲明,建立靜態(tài)鏈表并且對結(jié)構(gòu)體中num、sex進(jìn)行賦值。</p><p> menu函數(shù)是界面函數(shù),有兩個功能。一是輸出一個界面,二是作為進(jìn)入其它函數(shù)的入口。輸入1則執(zhí)行checkin函數(shù);輸入2則執(zhí)行checkout函數(shù) ,輸入3則執(zhí)行l(wèi)
12、ookfor函數(shù);輸入4則執(zhí)行返回管理系統(tǒng)。 </p><p> checkin函數(shù)的功能是對入住房客的信息進(jìn)行統(tǒng)計。首先、函數(shù)先對五個房間的入住情況進(jìn)行檢查,并輸出相應(yīng)的信息。例如、若房間301是空的,則顯示可住兩人信息;若已住一人,則顯示可住一人信息,并且同時顯示可住房客的性別;若已有兩人入住,則不顯示任何信息。如果房客已決定入住,則輸入1,進(jìn)入add函數(shù),按提示輸入房客信息即可。若要返回menu函數(shù)
13、,則輸入1。</p><p> checkout函數(shù)的功能是退房。按提示信息輸入房間號和姓名即可實現(xiàn)退房。若要返回menu函數(shù),輸入1。</p><p> lookfor函數(shù)的功能是查詢房客的信息,有按姓名查找和按房間號查找兩種查詢方式。輸入1則執(zhí)行search1子函數(shù),即按姓名查找;輸入2則執(zhí)行search2子函數(shù),即按房號查找;輸入3,執(zhí)行manu函數(shù)。若按姓名查找,則輸入姓名即可
14、;若按房間號查找,則輸入房間號即可;若要退回lookfor函數(shù),則輸入1。</p><p> /*房間管理程序*/</p><p> #include <stdio.h></p><p> #include <string.h></p><p> #define N 5</p><p>
15、 struct room</p><p><b> {</b></p><p> char name[2][20];</p><p> char sex[2];</p><p> int intx[2],roomnum;</p><p><b> };</b>&l
16、t;/p><p> struct room broom[N] = { {{" "," "},{' ',' '},{0,0},301},{{" "," "},{' ',' '},{0,0},302},</p><p> {{" "
17、," "},{' ',' '},{0,0},303},{{" "," "},{' ',' '},{0,0},304},</p><p> {{" "," "},{' ',' '},{0,0},305}</p>
18、;<p><b> };</b></p><p> void checkin();</p><p> void checkout();</p><p> void lookfor();</p><p> void main(void)</p><p><b>
19、{</b></p><p> int intj=0;</p><p> while (intj != 4)//主菜單 </p><p><b> {</b></p><p> printf("\t\tPlease Select:\n\t\t1.Check In\n\t\t2.Check Ou
20、t\n\t\t3.Search\n\t\t4.Exit\n\t\tPlease Select a Task:");</p><p> scanf("%d",&intj);</p><p> if ( intj == 1 )</p><p><b> {</b></p><p>
21、 checkin();</p><p><b> }</b></p><p> else if ( intj == 2)</p><p><b> {</b></p><p> checkout();</p><p><b> }</b>&l
22、t;/p><p> else if ( intj == 3)</p><p><b> {</b></p><p><b> search();</b></p><p><b> }</b></p><p> else if ( intj == 4
23、 )</p><p><b> {</b></p><p><b> char ch;</b></p><p> printf("\t\tAre You Sure?(Y/N):");</p><p> getchar();</p><p> ch
24、 = getchar();</p><p> if ( ch != 'Y' && ch != 'y')</p><p><b> {</b></p><p><b> intj = 0;</b></p><p><b> }</
25、b></p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p><p> printf ("\t\tWarning : Wrong Task! Please Select Again
26、\n");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void checkin()//錄入模塊 </p><p><b> {<
27、/b></p><p> char name[20],sex,ch;</p><p> int inti=0,intj=0;</p><p> printf ("\t\tInput Information(Name sex(F/M)):");</p><p> scanf ("%s %c"
28、,name,&sex);</p><p> printf ("\t\tAvailable:\n");</p><p> for (inti=0;inti<N;inti++)//查找可用床位 </p><p><b> {</b></p><p> if (broom[inti].
29、intx[0] != 1 && broom[inti].intx[1] != 1)</p><p><b> {</b></p><p> printf ("\t\t%d %d\n\t\t%d %d\n",301+inti,1,301+inti,2);</p><p><b> intj+
30、+;</b></p><p><b> }</b></p><p> else if (broom[inti].intx[0] == 1 && broom[inti].sex[0] == sex)</p><p><b> {</b></p><p> print
31、f("\t\t%d %d\n",301+inti,2);</p><p><b> intj++;</b></p><p><b> }</b></p><p> else if (broom[inti].intx[1] == 1 && broom[inti].sex[1] ==
32、 sex)</p><p><b> {</b></p><p> printf ("\t\t%d %d\n",301+inti,1);</p><p><b> intj++;</b></p><p><b> }</b></p>
33、<p><b> else </b></p><p><b> {</b></p><p><b> ;</b></p><p><b> } </b></p><p><b> }</b></p>
34、;<p> if ( intj == 0 )//錄入信息,完成入住 </p><p><b> {</b></p><p> printf("\t\tNo Bed Left");</p><p> system("cls");</p><p><b>
35、; }</b></p><p><b> else</b></p><p><b> {</b></p><p> int roomnum,bednum;</p><p> lp1: printf ("\t\tPlease Select Room And be
36、d:");</p><p> getchar();</p><p> scanf("%d%d",&roomnum,&bednum);</p><p> if (roomnum > 305 || roomnum < 301 || bednum > 2 || bednum < 1)</p&
37、gt;<p><b> {</b></p><p> printf ("\t\tWrong Room Number Or Bed Number!\n");</p><p><b> goto lp1;</b></p><p><b> }</b></p&
38、gt;<p> strcpy (broom[roomnum-301].name[bednum-1],name);</p><p> broom[roomnum-301].intx[bednum-1] = 1;</p><p> broom[roomnum-301].sex[bednum-1] = sex;</p><p> printf (&q
39、uot;\t\tSucceed\n\t\tContinue Checking In?(Y/N):");</p><p> getchar();</p><p> ch = getchar();</p><p> if ( ch == 'Y' || ch == 'y' )</p><p><
40、b> {</b></p><p> system("cls");</p><p> checkin();</p><p><b> }</b></p><p> system("cls");</p><p><b>
41、}</b></p><p><b> }</b></p><p> void checkout()//注銷 </p><p><b> {</b></p><p> char name[20],ch;</p><p> int inti=0,intj=0
42、,intx=0;</p><p> printf ("\t\tPlease Input Name:");</p><p> getchar();</p><p> gets(name);</p><p> for (inti=0;inti<N;inti++)</p><p><b
43、> {</b></p><p> for (intj=0;intj<2;intj++)</p><p><b> {</b></p><p> if ( strcmp(broom[inti].name[intj],name) == 0 )</p><p><b> {</
44、b></p><p><b> intx = 1;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if ( in
45、tx == 1 )</p><p><b> {</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> printf (&qu
46、ot;\t\tAre You Sure?(Y/N)");</p><p> ch=getchar();</p><p> if ( ch == 'Y' || ch == 'y' )</p><p><b> {</b></p><p> broom[inti].intx[
47、intj] = 0;</p><p> printf ("\t\tSucceed");</p><p><b> }</b></p><p> system("pause"); </p><p> system("cls"); </p>
48、<p><b> }</b></p><p> void lookfor()//查找住客 </p><p><b> {</b></p><p> int inti = 0,intj = 0;</p><p> lp2: printf ("\t\t1.By Name
49、\n\t\t2.By Roomnumber\n\t\tPlease select:");//選擇查找方式 </p><p> scanf ("%d",&inti);</p><p> if ( inti > 2 || inti < 1)</p><p><b> {</b></p&g
50、t;<p> printf ("\t\tWrong Number!\n");</p><p><b> goto lp2;</b></p><p><b> }</b></p><p> if ( inti == 1 )//根據(jù)姓名查找 </p><p>&
51、lt;b> {</b></p><p> char name[20];</p><p> printf("\t\tPlease Input Name:");</p><p> getchar();</p><p> gets(name);</p><p> for (i
52、nti=0;inti<N;inti++)</p><p><b> {</b></p><p> for (intj=0;intj<2;intj++)</p><p><b> {</b></p><p> if ( strcmp(broom[inti].name[intj],n
53、ame) == 0 && broom[inti].intx[intj] == 1 )</p><p><b> {</b></p><p> printf ("\t\t%s %d %d %c\n",broom[inti].name[intj],301+inti,intj+1,broom[inti].sex[intj]
54、);</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b&g
55、t;</p><p> else if ( inti = 2)//根據(jù)房間號查找 </p><p><b> {</b></p><p> int inty=0;</p><p> printf("\t\tPlease Input Room Number:");</p><
56、p> scanf("%d",&inty);</p><p> if ( broom[inty-301].intx[0] == 1 )</p><p><b> {</b></p><p> printf("\t\t%s %d %d %c\n",broom[inty-301
57、].name[0],inty,1,broom[inty-301].sex[0]);</p><p><b> }</b></p><p> if ( broom[inty-301].intx[1] == 1 )</p><p><b> {</b></p><p> printf("
58、;\t\t%s %d %d %c\n",broom[inty-301].name[1],inty,2,broom[inty-301].sex[1]);</p><p><b> }</b></p><p><b> }</b></p><p> system("pause")
59、; </p><p> system("cls");</p><p><b> }</b></p><p><b> 六、流程圖</b></p><p><b> 七、結(jié)語</b></p><p> 通過這次課程設(shè)計,在我和
60、我們小組成員的共同的努力下,將《賓館客房管理系統(tǒng)》這個軟件編寫出來并運(yùn)行成功。在此同時,也加深了我對譚浩強(qiáng)的《C語言程序設(shè)計》這本書的體會和了解。我對很多的函數(shù)有了新的認(rèn)識,也學(xué)會了運(yùn)用多種函數(shù),我也明白了寫軟件的基本過程和基本方法。寫軟件的過程中我又學(xué)到了曾經(jīng)自己不知道的函數(shù)或是自己不會的</p><p> 函數(shù)的用法。這次課程設(shè)計課總的來說讓我受益匪淺。在軟件的設(shè)計過程中遇到了很多的困難。在軟件一次一次的調(diào)
61、試失敗下曾經(jīng)想過要放棄。我最后還是讓自己堅持了下來,毫不畏懼困難,在同學(xué)和老師的幫助與講解下我總算是順利的完成了軟件的設(shè)計。雖然在調(diào)試程序遇到了很多的困難,當(dāng)軟件調(diào)試成功時那種喜悅的感覺沒有什么東西可以代替的。在程序的編寫過程中我發(fā)現(xiàn)我自己有很多的知識漏洞和缺陷,需要進(jìn)一步努力學(xué)習(xí)來完善自己。</p><p> 在這幾天的編寫過程中我對C語言有了更進(jìn)一步的認(rèn)識和了解。此次編程過程的經(jīng)驗和知識肯定能促進(jìn)我以后的學(xué)
62、習(xí)。</p><p> 此次課程設(shè)計不僅給了我很多很好的經(jīng)驗,也讓我體會到了失敗時的焦急和難受,成功時的興奮與喜悅。同時我們小組成員互幫互助,讓我認(rèn)識到團(tuán)隊的力量,團(tuán)結(jié)就是力量。</p><p><b> 八、參考書目</b></p><p> 譚浩強(qiáng),C程序設(shè)計教程,清華大學(xué)出版社,2007年</p><p>
63、 趙永哲,李雄飛,戴秀英編著,《C語言程序設(shè)計》,科學(xué)出版社,2003年</p><p> 夏寬理,趙子正編著,《C語言程序設(shè)計》,中國鐵道出版社,2006年</p><p> 譚浩強(qiáng)編著,《C程序設(shè)計》,清華大學(xué)出版社,1991年</p><p> Gary J. Bronson, A First Book of ANSI C (Fourth Edition
64、), Publishing House of Electronics Industry, 2006.</p><p> Al Kelley, Ira Pohl, A Book on C: Programming in C (Fourth Edition), China Machine Press, 2004.</p><p> Brian W. Kernighan, Dennis M.
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計-賓館客房管理軟件
- c++課程設(shè)計賓館客房管理系統(tǒng)
- 軟件工程課程設(shè)計--- 賓館客房管理系統(tǒng)
- 賓館客房管理系統(tǒng)課程設(shè)計
- c語言課程設(shè)計-酒店客房管理系統(tǒng)
- 賓館客房管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 賓館客房管理(設(shè)計)
- 數(shù)據(jù)庫原理課程設(shè)計--賓館客房管理系統(tǒng)
- 課程設(shè)計---賓館客房管理程序的設(shè)計與實現(xiàn)
- c語言課程設(shè)計-賓館管理系統(tǒng)
- c語言課程設(shè)計報告--公司員工管理軟件
- 賓館客房管理系統(tǒng)(設(shè)計)
- c語言課程設(shè)計酒店客房管理系統(tǒng)說明書
- c語言課程設(shè)計-酒店客房管理系統(tǒng)說明書
- 客房管理課程設(shè)計
- 客房管理系統(tǒng)課程設(shè)計
- c語言課程設(shè)計——身份證信息管理軟件
- 面向?qū)ο蠹夹g(shù)基礎(chǔ)及java語言課程設(shè)計--賓館客房管理系統(tǒng)的設(shè)計與實現(xiàn)
- 數(shù)據(jù)庫課程設(shè)計實驗報告(賓館客房管理系統(tǒng))
- 賓館客房管理.doc
評論
0/150
提交評論