C語言課程設(shè)計報告-賓館客房管理系統(tǒng)報告_第1頁
C語言課程設(shè)計報告-賓館客房管理系統(tǒng)報告_第2頁
C語言課程設(shè)計報告-賓館客房管理系統(tǒng)報告_第3頁
C語言課程設(shè)計報告-賓館客房管理系統(tǒng)報告_第4頁
C語言課程設(shè)計報告-賓館客房管理系統(tǒng)報告_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

...wd......wd......wd...?C語言?課程設(shè)計報告標題:賓館客房管理系統(tǒng)學號:姓名:同組人員:年級專業(yè):09電子信息工程指導教師:完成日期:2010/6/21目錄一、程序的具體分工二、課題要求三、課題分析與設(shè)計四、選題背景五、程序介紹六、源程序代碼與調(diào)試七、流程圖八、結(jié)語九、參考書目一、程序的具體分工第一局部包括主函數(shù)和menu菜單函數(shù)是由葉偉完成,第二局部包括客人的入住〔checkin〕函數(shù)和退房〔checkout〕函數(shù)由我完成,第三局部為查詢〔lookfor〕函數(shù)由王業(yè)生負責。二、課題要求某賓館有301、302、303、304、305五個標準間,每個標準間可住2人;鏈表存儲構(gòu)造:姓名、性別、房號、后續(xù)指針,按房間號有序;能實現(xiàn)入住〔注意性別〕和退房,能按給定姓名、房號查詢;建議采用鏈表構(gòu)造,但用其它方法實現(xiàn)也可。三、課題分析與設(shè)計本程序是非數(shù)值計算型算法設(shè)計,我們設(shè)計出了賓館客房管理系統(tǒng)的基本功能,并設(shè)計了簡單的界面。本程序主要考察對自定義函數(shù)的熟悉程度,本程序主要使用的是構(gòu)造體和鏈表的相關(guān)操作,包括構(gòu)造體數(shù)組的輸入、輸出、查找、刪除等。我們設(shè)計的這個賓館客房系統(tǒng)也初步實現(xiàn)了人員信息的顯示、刪除、查找、添加等必要的功能。選題背景C語言是目前世界上流行、使用最廣泛的高級程序設(shè)計語言。1972年,C語言在美國貝爾實驗室里問世,后來又被屢次改進,并出現(xiàn)了多種版本。80年代初,美國國家標準化協(xié)會〔ANSI〕,根據(jù)C語言問世以來各種版本對C語言的開展和擴大,制定了ANSIC標準。目前,在微機上廣泛使用的C語言編譯系統(tǒng)有MicrosoftC、TurboC、VisualC++等。這C語言版本不僅實現(xiàn)了ANSIC標準,而且在此根基上各自作了一些擴大,使之更加方便、完美。C語言是一種構(gòu)造化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護。C語言的表現(xiàn)能力和處理能力極強。它不僅具有豐富的運算符和數(shù)據(jù)類型,便于實現(xiàn)各類復雜的數(shù)據(jù)構(gòu)造。它還可以直接訪問內(nèi)存的物理地址,進展位(bit)一級的操作。由于C語言實現(xiàn)了對硬件的編程操作,因此C語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的C語言。為了將本學期所學C語言知識應(yīng)用于實際,加深對C語言的理解與掌握,我院開設(shè)了C語言課程設(shè)計這門課程。而我們小組選取了賓館客房管理系統(tǒng)這個課題,以此來鍛煉我們編寫程序的能力。五、程序介紹賓館客房管理系統(tǒng)由8個函數(shù)組成,包括main函數(shù)、menu函數(shù)、checkin函數(shù)、checkout函數(shù)、lookfor函數(shù),其中checkin函數(shù)又包括一個add子函數(shù),lookfor函數(shù)包括search1和search2兩個子函數(shù)。main函數(shù)主要是對menu函數(shù)、checkin函數(shù)、checkout函數(shù)、lookfor函數(shù)進展聲明,建設(shè)靜態(tài)鏈表并且對構(gòu)造體中num、sex進展賦值。menu函數(shù)是界面函數(shù),有兩個功能。一是輸出一個界面,二是作為進入其它函數(shù)的入口。輸入1那么執(zhí)行checkin函數(shù);輸入2那么執(zhí)行checkout函數(shù),輸入3那么執(zhí)行l(wèi)ookfor函數(shù)。checkin函數(shù)的功能是對入住房客的信息進展統(tǒng)計。首先、函數(shù)先對五個房間的入住情況進展檢查,并輸出相應(yīng)的信息。例如、假設(shè)房間301是空的,那么顯示可住兩人信息;假設(shè)已住一人,那么顯示可住一人信息,并且同時顯示可住房客的性別;假設(shè)已有兩人入住,那么不顯示任何信息。如果房客已決定入住,那么輸入1,進入add函數(shù),按提示輸入房客信息即可。假設(shè)要返回menu函數(shù),那么輸入1。checkout函數(shù)的功能是退房。按提示信息輸入房間號和姓名即可實現(xiàn)退房。假設(shè)要返回menu函數(shù),輸入1。lookfor函數(shù)的功能是查詢房客的信息,有按姓名查找和按房間號查找兩種查詢方式。輸入1那么執(zhí)行search1子函數(shù),即按姓名查找;輸入2那么執(zhí)行search2子函數(shù),即按房號查找;輸入3,執(zhí)行manu函數(shù)。假設(shè)按姓名查找,那么輸入姓名即可;假設(shè)按房間號查找,那么輸入房間號即可;假設(shè)要退回lookfor函數(shù),那么輸入1。六、源程序代碼與調(diào)試代碼:#include<stdio.h>#include<conio.h>#include<string.h>#defineNULL0structrestaurant{intnum;charname[2][20];charsex[2];structrestaurant*next;};voidmain(){voidmenu(structrestaurant*pt0);voidcheckin(structrestaurant*pt1);voidcheckout(structrestaurant*pt2);voidlookfor(structrestaurant*pt3);structrestauranta,b,c,d,e,*head,*p;a.num=301,b.num=302,c.num=303,d.num=304,e.num=305;a.sex[0]=a.sex[1]=b.sex[0]=b.sex[1]=c.sex[0]=c.sex[1]=d.sex[0]=d.sex[1]=e.sex[0]=e.sex[1]='';head=&a;a.next=&b;b.next=&c;c.next=&d;d.next=&e;e.next=NULL;p=head;menu(p);}voidmenu(structrestaurant*pt0){inti;clrscr();textcolor(5);gotoxy(10,5);cprintf("TheHotelManagementSystem\n");gotoxy(10,7);cprintf("Welcome\n");gotoxy(10,8);cprintf("**************Menu************\n");gotoxy(10,9);cprintf("*1.checkin*\n");gotoxy(10,10);cprintf("*2.checkout*\n");gotoxy(10,11);cprintf("*3.lookfor*\n");gotoxy(10,12);cprintf("******************************\n");gotoxy(10,13);cprintf("PleaseEnterYourChoice<1~3>:");scanf("%d",&i);switch(i){case1:checkin(pt0);break;case2:checkout(pt0);break;case3:lookfor(pt0);break;}}voidcheckin(structrestaurant*pt1){voidadd(structrestaurant*pt1); inti,k;structrestaurant*p;p=pt1;clrscr(); for(i=0;i<5;i++){if(pt1->sex[0]==''&&pt1->sex[1]=='') printf("room:%d\ntwopersoncanlivehere\n",pt1->num);elseif(pt1->sex[0]==''&&pt1->sex[1]!='') {printf("rome:%d\n",pt1->num);printf("onepersoncanlivehere,sex:%c\n",pt1->sex[1]);}elseif(pt1->sex[0]!=''&&pt1->sex[1]==''){printf("rome:%d\n",pt1->num);printf("onepersoncanlivehere,sex:%c\n",pt1->sex[0]);} pt1=pt1->next;}printf("1:continue\n2:return\nInputyourchioce:"); scanf("%d",&k); switch(k) {case1:add(p);break; case2:menu(p);break; } }voidadd(structrestaurant*pt1){structrestaurant*p; inti,j,k; charch1,ch2,str[20]; p=pt1;printf("Inputroomnumberandsexandname:\n"); scanf("%d%c%c%s",&i,&ch1,&ch2,&str); for(j=0;j<5;j++) {if(i==pt1->num) {for(k=0;k<2;k++) if(pt1->sex[k]=='') {pt1->num=i;pt1->sex[k]=ch2;strcpy(pt1->name[k],str);break;}j=5;} pt1=pt1->next; } checkin(p); }voidcheckout(structrestaurant*pt2){structrestaurant*p;inti,j,k;charstr[20];p=pt2;clrscr();do{pt2=p;printf("Inputromenumberandname:\n"); scanf("%d",&k); if(k==1){menu(p);break;} else{scanf("%s",str); for(i=0;i<5;i++) {if(k==pt2->num) {for(j=0;j<2;j++) if(strcmp(str,pt2->name[j])==0){memset(pt2->name[j],'',20);pt2->sex[j]='';break;}break;} pt2=pt2->next;} }}while(1);}voidlookfor(structrestaurant*pt3){voidsearch1(structrestaurant*pt4); voidsearch2(structrestaurant*pt4);inti;charstr[20]; clrscr(); printf("1:searchbyinputingname\n2:searchbyinputingroomnumber\n3:return\n");printf("pleaseinputyourchoice:"); scanf("%d",&i); switch(i) {case1:search1(pt3);break; case2:search2(pt3);break; case3:menu(pt3);break;}}voidsearch1(structrestaurant*pt4){structrestaurant*p;intn,i,j;charstr1[20]={'1'},str2[20];p=pt4; clrscr(); do{pt4=p; printf("Inputname:\n"); scanf("%s",&str2); if(strcmp(str1,str2)==0)lookfor(p);elsefor(i=0;i<5;i++) {for(j=0;j<2;j++) if(strcmp(str2,pt4->name[j])==0) printf("rome:%d\tsex:%c\tname:%s\n",pt4->num,pt4->sex[j],pt4->name[j]); pt4=pt4->next;} }while(1);}voidsearch2(structrestaurant*pt4){structrestaurant*p;inti,j,k;charstr[20];p=pt4; clrscr(); do{pt4=p;printf("Inputroomnumber:\n"); scanf("%d",&j); if(j==1){lookfor(p);break;} elsefor(i=0;i<5;i++) {if(j==pt4->num) {for(k=0;k<2;k++) if(pt4->sex[k]!='')printf("room:%d\tsex:%c\tname:%s\n",pt4->num,pt4->sex[k],pt4->name[k]); break;} pt4=pt4->next;} }while(1); }調(diào)試:菜單函數(shù)執(zhí)行結(jié)果:進入程序后進入程序主菜單結(jié)果如下:輸入1進入checkin函數(shù),輸入2進入checkout函數(shù),輸入3進入lookfor函數(shù).2、checkin入住函數(shù)結(jié)果:進入入住函數(shù)界面運行結(jié)果如下輸入1繼續(xù)運行結(jié)果如下:輸入房間號性別和姓名例如:輸入301myewei運行結(jié)果如下:輸入1返回到menu函數(shù)3、lookfor〔查詢〕函數(shù)結(jié)果:輸入1按姓名查找,輸入2按房間號查找,輸入3返回menu函數(shù)。選擇查找方式:輸入1按姓名查找;例如輸入yewei結(jié)果:輸入1返回lookfor函數(shù)。輸入2按房間號查找,結(jié)果:例如輸入301結(jié)果:輸入1返回到lookfor函數(shù)4、checkout〔退房〕函數(shù)結(jié)果:輸入房間號和姓名即可實現(xiàn)退房例如輸入301yewei即可輸入1返回到menu函數(shù)七、流程圖八、結(jié)語通過這次課程設(shè)計,在我和我們小組成員的共同的努力下,將?賓館客房管理系統(tǒng)?這個軟件編寫出來并運行成功。在此同時,也加深了我對譚浩強的?C語言程序設(shè)計?這本書的體會和了解。我對很多的函數(shù)有了新的認識,也學會了運用多種函數(shù),我也明白了寫軟件的基本過程和基本方法

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論