C語(yǔ)言課程設(shè)計(jì)報(bào)告-賓館客房管理系統(tǒng)報(bào)告_第1頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告-賓館客房管理系統(tǒng)報(bào)告_第2頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告-賓館客房管理系統(tǒng)報(bào)告_第3頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告-賓館客房管理系統(tǒng)報(bào)告_第4頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告-賓館客房管理系統(tǒng)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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)介

...wd......wd......wd...?C語(yǔ)言?課程設(shè)計(jì)報(bào)告標(biāo)題:賓館客房管理系統(tǒng)學(xué)號(hào):姓名:同組人員:年級(jí)專業(yè):09電子信息工程指導(dǎo)教師:完成日期:2010/6/21目錄一、程序的具體分工二、課題要求三、課題分析與設(shè)計(jì)四、選題背景五、程序介紹六、源程序代碼與調(diào)試七、流程圖八、結(jié)語(yǔ)九、參考書(shū)目一、程序的具體分工第一局部包括主函數(shù)和menu菜單函數(shù)是由葉偉完成,第二局部包括客人的入住〔checkin〕函數(shù)和退房〔checkout〕函數(shù)由我完成,第三局部為查詢〔lookfor〕函數(shù)由王業(yè)生負(fù)責(zé)。二、課題要求某賓館有301、302、303、304、305五個(gè)標(biāo)準(zhǔn)間,每個(gè)標(biāo)準(zhǔn)間可住2人;鏈表存儲(chǔ)構(gòu)造:姓名、性別、房號(hào)、后續(xù)指針,按房間號(hào)有序;能實(shí)現(xiàn)入住〔注意性別〕和退房,能按給定姓名、房號(hào)查詢;建議采用鏈表構(gòu)造,但用其它方法實(shí)現(xiàn)也可。三、課題分析與設(shè)計(jì)本程序是非數(shù)值計(jì)算型算法設(shè)計(jì),我們?cè)O(shè)計(jì)出了賓館客房管理系統(tǒng)的基本功能,并設(shè)計(jì)了簡(jiǎn)單的界面。本程序主要考察對(duì)自定義函數(shù)的熟悉程度,本程序主要使用的是構(gòu)造體和鏈表的相關(guān)操作,包括構(gòu)造體數(shù)組的輸入、輸出、查找、刪除等。我們?cè)O(shè)計(jì)的這個(gè)賓館客房系統(tǒng)也初步實(shí)現(xiàn)了人員信息的顯示、刪除、查找、添加等必要的功能。選題背景C語(yǔ)言是目前世界上流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言。1972年,C語(yǔ)言在美國(guó)貝爾實(shí)驗(yàn)室里問(wèn)世,后來(lái)又被屢次改進(jìn),并出現(xiàn)了多種版本。80年代初,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)〔ANSI〕,根據(jù)C語(yǔ)言問(wèn)世以來(lái)各種版本對(duì)C語(yǔ)言的開(kāi)展和擴(kuò)大,制定了ANSIC標(biāo)準(zhǔn)。目前,在微機(jī)上廣泛使用的C語(yǔ)言編譯系統(tǒng)有MicrosoftC、TurboC、VisualC++等。這C語(yǔ)言版本不僅實(shí)現(xiàn)了ANSIC標(biāo)準(zhǔn),而且在此根基上各自作了一些擴(kuò)大,使之更加方便、完美。C語(yǔ)言是一種構(gòu)造化語(yǔ)言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語(yǔ)言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)構(gòu)造。它還可以直接訪問(wèn)內(nèi)存的物理地址,進(jìn)展位(bit)一級(jí)的操作。由于C語(yǔ)言實(shí)現(xiàn)了對(duì)硬件的編程操作,因此C語(yǔ)言集高級(jí)語(yǔ)言和低級(jí)語(yǔ)言的功能于一體。既可用于系統(tǒng)軟件的開(kāi)發(fā),也適合于應(yīng)用軟件的開(kāi)發(fā)。此外,C語(yǔ)言還具有效率高,可移植性強(qiáng)等特點(diǎn)。因此廣泛地移植到了各類各型計(jì)算機(jī)上,從而形成了多種版本的C語(yǔ)言。為了將本學(xué)期所學(xué)C語(yǔ)言知識(shí)應(yīng)用于實(shí)際,加深對(duì)C語(yǔ)言的理解與掌握,我院開(kāi)設(shè)了C語(yǔ)言課程設(shè)計(jì)這門(mén)課程。而我們小組選取了賓館客房管理系統(tǒng)這個(gè)課題,以此來(lái)鍛煉我們編寫(xiě)程序的能力。五、程序介紹賓館客房管理系統(tǒng)由8個(gè)函數(shù)組成,包括main函數(shù)、menu函數(shù)、checkin函數(shù)、checkout函數(shù)、lookfor函數(shù),其中checkin函數(shù)又包括一個(gè)add子函數(shù),lookfor函數(shù)包括search1和search2兩個(gè)子函數(shù)。main函數(shù)主要是對(duì)menu函數(shù)、checkin函數(shù)、checkout函數(shù)、lookfor函數(shù)進(jìn)展聲明,建設(shè)靜態(tài)鏈表并且對(duì)構(gòu)造體中num、sex進(jìn)展賦值。menu函數(shù)是界面函數(shù),有兩個(gè)功能。一是輸出一個(gè)界面,二是作為進(jìn)入其它函數(shù)的入口。輸入1那么執(zhí)行checkin函數(shù);輸入2那么執(zhí)行checkout函數(shù),輸入3那么執(zhí)行l(wèi)ookfor函數(shù)。checkin函數(shù)的功能是對(duì)入住房客的信息進(jìn)展統(tǒng)計(jì)。首先、函數(shù)先對(duì)五個(gè)房間的入住情況進(jìn)展檢查,并輸出相應(yīng)的信息。例如、假設(shè)房間301是空的,那么顯示可住兩人信息;假設(shè)已住一人,那么顯示可住一人信息,并且同時(shí)顯示可住房客的性別;假設(shè)已有兩人入住,那么不顯示任何信息。如果房客已決定入住,那么輸入1,進(jìn)入add函數(shù),按提示輸入房客信息即可。假設(shè)要返回menu函數(shù),那么輸入1。checkout函數(shù)的功能是退房。按提示信息輸入房間號(hào)和姓名即可實(shí)現(xiàn)退房。假設(shè)要返回menu函數(shù),輸入1。lookfor函數(shù)的功能是查詢房客的信息,有按姓名查找和按房間號(hào)查找兩種查詢方式。輸入1那么執(zhí)行search1子函數(shù),即按姓名查找;輸入2那么執(zhí)行search2子函數(shù),即按房號(hào)查找;輸入3,執(zhí)行manu函數(shù)。假設(shè)按姓名查找,那么輸入姓名即可;假設(shè)按房間號(hào)查找,那么輸入房間號(hào)即可;假設(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é)果:進(jìn)入程序后進(jìn)入程序主菜單結(jié)果如下:輸入1進(jìn)入checkin函數(shù),輸入2進(jìn)入checkout函數(shù),輸入3進(jìn)入lookfor函數(shù).2、checkin入住函數(shù)結(jié)果:進(jìn)入入住函數(shù)界面運(yùn)行結(jié)果如下輸入1繼續(xù)運(yùn)行結(jié)果如下:輸入房間號(hào)性別和姓名例如:輸入301myewei運(yùn)行結(jié)果如下:輸入1返回到menu函數(shù)3、lookfor〔查詢〕函數(shù)結(jié)果:輸入1按姓名查找,輸入2按房間號(hào)查找,輸入3返回menu函數(shù)。選擇查找方式:輸入1按姓名查找;例如輸入yewei結(jié)果:輸入1返回lookfor函數(shù)。輸入2按房間號(hào)查找,結(jié)果:例如輸入301結(jié)果:輸入1返回到lookfor函數(shù)4、checkout〔退房〕函數(shù)結(jié)果:輸入房間號(hào)和姓名即可實(shí)現(xiàn)退房例如輸入301yewei即可輸入1返回到menu函數(shù)七、流程圖八、結(jié)語(yǔ)通過(guò)這次課程設(shè)計(jì),在我和我們小組成員的共同的努力下,將?賓館客房管理系統(tǒng)?這個(gè)軟件編寫(xiě)出來(lái)并運(yùn)行成功。在此同時(shí),也加深了我對(duì)譚浩強(qiáng)的?C語(yǔ)言程序設(shè)計(jì)?這本書(shū)的體會(huì)和了解。我對(duì)很多的函數(shù)有了新的認(rèn)識(shí),也學(xué)會(huì)了運(yùn)用多種函數(shù),我也明白了寫(xiě)軟件的基本過(guò)程和基本方法

溫馨提示

  • 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)論