客房管理系統(tǒng)-C語言課程設(shè)計(jì)(共20頁)_第1頁
客房管理系統(tǒng)-C語言課程設(shè)計(jì)(共20頁)_第2頁
客房管理系統(tǒng)-C語言課程設(shè)計(jì)(共20頁)_第3頁
客房管理系統(tǒng)-C語言課程設(shè)計(jì)(共20頁)_第4頁
客房管理系統(tǒng)-C語言課程設(shè)計(jì)(共20頁)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C 語 言 課 程 實(shí) 習(xí) 報(bào) 告所 在 院 系 : 班 級(jí) 學(xué) 號(hào) : 姓 名 : 程序 已存檔 : 是 否 指 導(dǎo) 老 師 :趙 曼評(píng) 分 :二零一四年七月目錄1.題目與要求(1)2.功能實(shí)現(xiàn)設(shè)計(jì)(2)2.1總體設(shè)計(jì) (2)2.2詳細(xì)設(shè)計(jì) (2)2.2.1保存函數(shù) (2)2.2.2讀取函數(shù) (3)2.3 功能模塊設(shè)計(jì)(4)2.3.1 注冊(cè)模塊(4)2.3.2 統(tǒng)計(jì)模塊(5)2.3.3查詢模塊 (7)2.3.4修改模塊 (9)2.4主函數(shù)(11)3.上機(jī)操作(12)4.結(jié)束語(16)實(shí)習(xí)課題:客房管理系統(tǒng)1.題目與要求:實(shí)現(xiàn)登記功能,要提供結(jié)構(gòu)體的輸入操作,實(shí)現(xiàn)統(tǒng)計(jì)功能,要提供相應(yīng)的統(tǒng)計(jì)操作

2、,實(shí)現(xiàn)查詢功能,要提供查找操作,實(shí)現(xiàn)修改功能,要提供修改操作;另外還有提供鍵盤式菜單實(shí)現(xiàn)功能選擇。頭文件:#include<time.h>#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<string.h>#define NUM 50/定義常量NUMvoid input();void record();void find();void modify();int now_no;/定義全局變量now_no建立如下結(jié)構(gòu)體:struct Client char name2

3、0; char sex10; int age; char ID_card20; int year; int month; int date; int Room_ID; char Tel15; int Price; char Sign10; RoomNUM;2.功能實(shí)現(xiàn)設(shè)計(jì):2.1總體設(shè)計(jì):下面來分析一下整個(gè)系統(tǒng),根據(jù)上面的要求分析,可將這個(gè)系統(tǒng)設(shè)計(jì)為五大模塊(見下圖):注冊(cè)模塊,統(tǒng)計(jì)模塊,查詢模塊,修改模塊,退出模塊。其主要功能為:注冊(cè),統(tǒng)計(jì),查詢,修改功能??头抗芾硐到y(tǒng) 系統(tǒng)系統(tǒng) 注冊(cè)統(tǒng)計(jì) 查詢修改退出2.2詳細(xì)設(shè)計(jì): 程序中需要用到的函數(shù)。2.2.1保存函數(shù)用于將輸入的數(shù)據(jù)保存到文本文件客

4、戶信息.txt文件中,實(shí)現(xiàn)數(shù)據(jù)的保存void save()FILE *fp;int i;if (fp=fopen("客戶信息.txt","a+")=NULL)/*a+表示以讀和追加方式打開文件客戶信息.txt */printf("cannot open filen");return;for(i=0;i<Roomi.age!=0;i+)fprintf(fp,"%s %s %d %s %d %d %d %d %s %d %sn",R,Roomi.sex,Roomi.age,Roomi.ID_ca

5、rd,Roomi.year,Roomi.month,Roomi.date,Roomi.Room_ID,Roomi.Tel,Roomi.Price,Roomi.Sign);/按照規(guī)定的格式保存客戶信息fclose(fp); 2.2.2讀取函數(shù)將文本文件客戶信息.txt中的客戶個(gè)人信息讀取出來,從而實(shí)現(xiàn)統(tǒng)計(jì)、查詢以及修改的功能。void read()FILE *fp;int i;if(fp=fopen("客戶信息.txt","r")=NULL) printf("nCannot open filen");return; for(i=0;!f

6、eof(fp);i+)/!feof(fp)文件讀到結(jié)束時(shí)讀取停止fscanf(fp,"%s %s %d %s %d %d %d %d %s %d %sn",&R,&Roomi.sex,&Roomi.age,&Roomi.ID_card,&Roomi.year,&Roomi.month,&Roomi. date,&Roomi.Room_ID,&Roomi.Tel,&Roomi.Price,&Roomi.Sign,&now_no); fclose(fp); 2.3

7、功能模塊設(shè)計(jì)2.3.1 注冊(cè)模塊用于完成客戶個(gè)人信息的輸入功能并保存。本函數(shù)的功能為登記用戶及房間信息,包括姓名、性別、年齡、身份證、年份、月份、日期、房間電話及房間價(jià)格。系統(tǒng)依次分配房間號(hào)并定義此房間為非空。void input()int i=0,right,num;char as,sex10;printf("顧客人數(shù):");scanf("%d人",&num);/輸入顧客的人數(shù)doprintf("tttt1.錄入賓客信息n輸入第%d賓客的信息n",i+1);printf("n輸入賓客姓名:");gets(

8、R);doprintf("n輸入賓客性別:");scanf("%s",&sex);if(strcmp(sex,"男")!=0&&strcmp(sex,"女")!=0)/*判斷輸入的字符是否為“男”或“女”,否則輸出“輸入有誤!”*/printf("輸入有誤!");right=1;getchar();else right=0;strcpy(Roomi.sex,sex);while(right=1);printf("n輸入賓客的年齡:")

9、;scanf("%d",&Roomi.age);printf("n輸入賓客身份證號(hào):");scanf("%s",&Roomi.ID_card);printf("n輸入賓客入住時(shí)間:");scanf("%d",&Roomi.year);scanf("%d",&Roomi.month);scanf("%d",&Roomi.date);printf("n輸入賓客房間號(hào):");scanf("%d

10、",&Roomi.Room_ID);printf("n輸入賓客房間電話:");scanf("%s",&Roomi.Tel);printf("n輸入賓客房間價(jià)格:");scanf("%d",&Roomi.Price);printf("n輸入該房間是否入住(yes/no):");scanf("%s",&Roomi.Sign);/輸入客戶的個(gè)人信息printf("nn");i+;now_no=i;printf("

11、;是否繼續(xù)輸入?(Y/N)");/判斷是否繼續(xù)輸入as=getch();system("cls"); save();while(as!='n'&&as!='N');system("cls");/清屏2.3.2 統(tǒng)計(jì)模塊用于統(tǒng)計(jì)總共入住的人數(shù),并且可以統(tǒng)計(jì)某一天住了多少人以及收入多少。void record()int i,j,y,m,d,s=0,money=0;char as;int n=0;read();doprintf("n客房入住總數(shù): ");fflush(stdin);f

12、or(j=0;Roomj.age!=0;j+)n=n+1;printf("%d間n",n);/統(tǒng)計(jì)一共入住的人數(shù)printf("輸入查詢?nèi)掌? "); /按照日期統(tǒng)計(jì)入住人數(shù)及收入scanf("%d%d%d",&y,&m,&d);fflush(stdin);for(i=0;i<=NUM;i+)if(Roomi.year=y)&&(Roomi.month=m)&&(Roomi.date=d)/判斷輸入的日期與數(shù)據(jù)庫中的哪些日期相同s=s+1;money=money+Roomi

13、.Price;printf("n 姓名:%sn 性別:%sn 年齡:%dn 身份證號(hào):%sn 入住時(shí)間:%d年%d月%d日n 房間號(hào)碼:%dn 電話號(hào)碼:%sn 價(jià)格:%dn 是否入?。?sn",R,Roomi.sex,Roomi.age,Roomi.ID_card,Roomi.year,Roomi.month,Roomi.date,Roomi.Room_ID,Roomi.Tel,Roomi.Price,Roomi.Sign);printf("n該天客房入住總數(shù): %d人n",s); printf("該天共收入%d元n&quo

14、t;,money);printf("t按任意鍵返回主菜單.");as=getch();system("cls");while(!as);system("cls");2.3.3查詢模塊本函數(shù)的功能為輸出查詢功能菜單選項(xiàng),包括根據(jù)房間號(hào)查詢、根據(jù)姓名查詢。系統(tǒng)根據(jù)輸入的選項(xiàng)執(zhí)行相應(yīng)的函數(shù)。void find()int i,a,b;char str20,as;read ();doprintf("n按以下條件查詢:1.姓名 2.房間號(hào) 3.返回主菜單n請(qǐng)選擇:");scanf("%d",&a);

15、switch(a)case 1:doprintf("輸入要查詢的賓客姓名:");fflush(stdin);gets(str);for(i=0;i<NUM;i+)if(!strcmp(R,str)printf("n 姓名:%sn 性別:%sn 年齡:%dn 身份證號(hào):%sn 入住時(shí)間:%d年%d月%d日n 房間號(hào)碼:%dn 房間電話:%sn 房間價(jià)格:%dn 該房間是否入住(yes/no)%snn",R,Roomi.sex,Roomi.age,Roomi.ID_card,Roomi.year,Roomi.mont

16、h,Roomi.date,Roomi.Room_ID,Roomi.Tel,Roomi.Price,Roomi.Sign);else;while(!as);break;case 2:doprintf("輸入要查詢的房間號(hào):");scanf("%d",&b);for(i=0;i<NUM;i+)if(Roomi.Room_ID=b)printf("n 姓名:%sn 性別:%sn 年齡:%dn 身份證號(hào):%sn 入住時(shí)間:%d年%d月%d日n 房間號(hào)碼:%dn 房間電話:%sn 房間價(jià)格:%dn 該房間是否入住(yes/no)%snn&q

17、uot;,R,Roomi.sex,Roomi.age,Roomi.ID_card,Roomi.year,Roomi.month,Roomi.date,Roomi.Room_ID,Roomi.Tel,Roomi.Price,Roomi.Sign);else;while(!as);break;case 3:system("exit");default:break;printf("是否繼續(xù)查詢?(Y/N)n");as=getch();while(as!='n'&&as!='N');system(

18、"cls");2.3.4修改模塊本函數(shù)的功能為系統(tǒng)根據(jù)輸入的姓名調(diào)出該用戶及所在房間信息,同時(shí)輸出修改功能菜單選項(xiàng),包括修改性別、修改年齡、修改入住年份、修改月份及修改日期等。系統(tǒng)根據(jù)輸入的選項(xiàng)修改用戶相應(yīng)的信息。void modify()int i,x;char str20,as;printf("輸入要修改的賓客姓名:");scanf("%s",&str);read ();do for(i=0;Roomi.age!=0;i+)if(!strcmp(R,str)system("cls");

19、printf("n 姓名:%sn 性別:%sn 年齡:%dn 身份證號(hào):%sn 入住時(shí)間:%d年%d月%d日n 房間號(hào)碼:%dn 電話號(hào)碼:%sn 價(jià)格:%dn 是否入住:%snn",R,Roomi.sex,Roomi.age,Roomi.ID_card,Roomi.year,Roomi.month,Roomi.date,Roomi.Room_ID,Roomi.Tel,Roomi.Price,Roomi.Sign);printf("請(qǐng)選擇要修改的內(nèi)容:n1.姓名 tt2.性別 tt3.年齡 tt4.身份證號(hào) n5.入住時(shí)間 t6.房間號(hào) t7.客

20、房電話 t8.價(jià)格n請(qǐng)選擇:");/按照不同的選擇修改相應(yīng)的內(nèi)容scanf("%d",&x);switch(x)case 1:printf("ntt輸入新插入賓客信息n");printf("n輸入賓客姓名:");scanf("%s",R);break;case 2:printf("n輸入賓客性別:");scanf("%s",&Roomi.sex);break;case 3:printf("n輸入賓客的年齡:");

21、scanf("%d",&Roomi.age);break;case 4:printf("n輸入賓客身份證號(hào):");scanf("%s",&Roomi.ID_card);break;case 5:printf("n輸入賓客入住時(shí)間:");scanf("%d",&Roomi.year);scanf("%d",&Roomi.month);scanf("%d",&Roomi.date);break;case 6:printf

22、("n輸入賓客房間號(hào):");scanf("%d",&Roomi.Room_ID);break;case 7:printf("n輸入賓客房間電話:");scanf("%s",&Roomi.Tel);break;case 8:printf("n輸入賓客房間價(jià)格:");scanf("%d",&Roomi.Price);case 9:system("exit");default:system("cls");printf(

23、"n");save();printf("n 姓名:%sn 性別:%sn 年齡:%dn 身份證號(hào):%sn 入住時(shí)間:%d年%d月%d日n 房間號(hào)碼:%dn 電話號(hào)碼:%sn 價(jià)格:%dn 是否入?。?sn",R,Roomi.sex,Roomi.age,Roomi.ID_card,Roomi.year,Roomi.month,Roomi.date,Roomi.Room_ID,Roomi.Tel,Roomi.Price,Roomi.Sign);break;as=getch();while(!as);system("cls"

24、);24主函數(shù)顯示各功能選項(xiàng)根據(jù) n的值調(diào)用各功能模塊函數(shù)NY輸入n ,判斷n 是否是0-5void main()int as;start:doprintf("t*");printf("ntt歡迎使用客房管理系統(tǒng)n");printf("ntt| 1.錄入賓客信息 |ntt| 2.統(tǒng)計(jì)賓客信息 |ntt| 3.查詢賓客信息 |ntt| 4.修改賓客信息 |ntt| 5.退出 |n");printf("t*n");printf("tt選擇功能選項(xiàng): ");/選擇語句用于選擇不同的模塊fflush(s

25、tdin);scanf("%d",&as);switch(as)case 1:system("cls");input();break;case 2:system("cls");record();break;case 3:system("cls");find();break;case 4:system("cls");modify();break;case 5:system("exit");exit(0);default:system("cls");g

26、oto start;while(1); 3.上機(jī)操作下面事各個(gè)模塊的界面圖:3.1主菜單3.2錄入信息模塊3.3統(tǒng)計(jì)模塊 3.4查詢模塊3.4.1按姓名查找3.4.2按房間號(hào)查找3.5修改模塊3.6退出3.7文本數(shù)據(jù)4.結(jié)束語通過此次實(shí)習(xí),我們更加理解和懂得運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法,初步掌握開發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法,學(xué)會(huì)調(diào)試一個(gè)較長程序的的基本方法,學(xué)會(huì)利用流程圖表示算法,進(jìn)一步掌握和提高利用C語言進(jìn)行程序設(shè)計(jì)的能力。在實(shí)習(xí)中遇到了許多的調(diào)試不出結(jié)果出乎意料的問題。在調(diào)試的過程中,得到了許多以后可以避免錯(cuò)誤的經(jīng)驗(yàn)。也得到了很多沒有接觸過的知識(shí)。這些都使我獲益匪淺。C語言是一門計(jì)算機(jī)語言,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論