用C語言實現(xiàn)的賓館客房管理系統(tǒng)課程設計報告_第1頁
用C語言實現(xiàn)的賓館客房管理系統(tǒng)課程設計報告_第2頁
用C語言實現(xiàn)的賓館客房管理系統(tǒng)課程設計報告_第3頁
用C語言實現(xiàn)的賓館客房管理系統(tǒng)課程設計報告_第4頁
用C語言實現(xiàn)的賓館客房管理系統(tǒng)課程設計報告_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、. 目 錄 一、課程設計題目3二、運行環(huán)境(軟、硬件環(huán)境)3三、算法設計的思想3四、算法的流程圖3五、算法設計分析4六、源代碼4七、運行結果分析10八、收獲及體會13一、課程設計題目賓館客房管理系統(tǒng)。二、運行環(huán)境(軟、硬件環(huán)境)中文版Windows XP和Microsoft Visual C+ 6.0。三、算法設計的思想1定義賓館客房管理信息結構體Hotel-Info。2建立一個簡易的選擇菜單,通過輸入選擇執(zhí)行的動作。3主函數(shù)中,用switch case 實現(xiàn)選擇功能,7項功能通過7個分支實現(xiàn),每個對應一個函數(shù)。4寫函數(shù),包括Insert-插入,Amend-修改,Demand-查詢,Del-刪

2、除,Skim-瀏覽,Balance-結算。5源程序可運行之后,將其數(shù)據、信息輸入到文檔中,使其能存檔,可以寫入文件和讀出文件。6對程序進行修改、完善。寫函數(shù)四、算法的流程圖聯(lián)系文件開始 定義結構體Hotel-Info 修改、完善建立選擇菜單寫主函數(shù),實現(xiàn)選擇功能結束 圖1 算法流程圖五、算法設計分析1.這是一個小型的管理系統(tǒng),使用結構體數(shù)組存儲客房的信息。2一般的管理系統(tǒng)都應該具備插入,修改,查詢,刪除,瀏覽等功能,通過使用一個簡易菜單進行執(zhí)行動作的選擇。3.用函數(shù)實現(xiàn)模塊化設計,調理清晰,使程序易讀寫。4.把程序與文件聯(lián)系,使數(shù)據能存儲在磁盤中,更具實用性。六、源代碼1結構體struct H

3、otel_Infochar nameN,typeN,ID_cardN,in_timeN,leave_timeN;char idlyN; int prize,num,ad_payment;InfoN;2主函數(shù)int main()FILE *fp; int i=0; fp=fopen(d:hotel manage system.txt,r); /fscanf(fp,%d,&n);/for(i=0;in;i+)while(!feof(fp)int a;fscanf(fp,%d,&a);fscanf(fp, 客房號:%d,&Infoi.num);fscanf(fp, 空閑情況:%s,Infoi.typ

4、e);fscanf(fp, 客房類型:%s,Infoi.idly);fscanf(fp, 客房價格:%d,&Infoi.prize);fscanf(fp, 客戶姓名:%s,I);fscanf(fp, 身份證:%s,Infoi.ID_card);fscanf(fp, 預付款:%d,&Infoi.ad_payment);fscanf(fp, 入住時間:%s,Infoi.in_time);fscanf(fp, 退房時間:%s,Infoi.leave_time);i+;fclose(fp);n=i-1;int m;doprintf(n);printf( *n);printf( 1登記

5、。n);printf( 2修改。n);printf( 3查詢。n);printf( 4刪除。n);printf( 5瀏覽。n);printf( 6結算。n);printf( 7退出。n);printf( *n);scanf(%d,&m);switch(m)case 1: Insert(&count); break;case 2:Amend(count) ;break;case 3:Demand(count) ;break;case 4:Del(&count) ;break;case 5:Skim(count) ;break;case 6:Balance(count) ;break;case 7

6、:break;default:printf(錯誤選擇!請重選);break;while(m!=7);return 0;3 函數(shù)void Insert(int *count) /定義1插入函數(shù)int i=0,in_num;n=n+1;if(*count=N)printf(overflow!);return;FILE *fp; fp=fopen(d:hotel manage system.txt,a); fprintf(fp,%d,n);for(i=*count;iN;i+) printf(編號:);scanf(%d,&in_num);int flag = 1;while(flag)flag=0;

7、for(int ii=0;ii=N;ii+)if(Infoii.num=in_num)printf(已經有相同編號!n);scanf(%d,&in_num);flag=1;break; Infoi.num=in_num;printf(客房號:);scanf(%d,&Infoi.num);fprintf(fp, 客房號:%d,Infoi.num);printf(空閑情況:);scanf(%s,Infoi.idly);fprintf(fp, 空閑情況:%s,Infoi.idly);printf(客房類型:);scanf(%s,Infoi.type);fprintf(fp, 客房類型:%s,Info

8、i.type);printf(客房價格:);scanf(%d,&Infoi.prize);fprintf(fp, 客房價格:%d,Infoi.prize);printf(客戶姓名:);scanf(%s,I);fprintf(fp, 客戶姓名:%s,I);printf(身份證:);scanf(%s,Infoi.ID_card);fprintf(fp, 身份證:%s,Infoi.ID_card);printf(預付款:);scanf(%d,&Infoi.ad_payment);fprintf(fp, 預付款:%d,Infoi.ad_payment);printf

9、(入住時間:);scanf(%s,Infoi.in_time);fprintf(fp, 入住時間:%s,Infoi.in_time);printf(退房時間:);scanf(%s,Infoi.leave_time);fprintf(fp, 退房時間:%sn,Infoi.leave_time);break;fclose(fp);(*count)+;void Amend(int count) /定義2修改函數(shù)int i,num,payment,tag=0;char idlyN,nameN,ID_cardN,in_timeN,leave_timeN;printf(請輸入要修改數(shù)據的編號:);scan

10、f(%d,&num);for(i=0;in;i+)if(Infoi.num=num)tag=1;printf(空閑情況:%s,Infoi.idly);printf( 客人姓名:%s,I);printf( 身份證:%s,Infoi.ID_card);printf( 入住時間:%s,Infoi.in_time);printf( 退房時間:%s,Infoi.leave_time);printf( 預付費用:%dn,Infoi.ad_payment);printf(空閑情況:);scanf(%s,idly); printf(客人姓名:); scanf(%s,name); printf

11、(身份證:);scanf(%s,ID_card); printf(入住時間:);scanf(%s,in_time); printf(退房時間:);scanf(%s,leave_time); printf(預付費用:);scanf(%d,&payment); strcpy(Infoi.idly,idly);strcpy(I,name); strcpy(Infoi.ID_card,ID_card); strcpy(Infoi.in_time,in_time);strcpy(Infoi.leave_time,leave_time);Infoi.ad_payment=payment;

12、FILE *fp; fp=fopen(d:hotel manage system.txt,w); for(i=0;in;i+)fprintf(fp,%d,i+1);fprintf(fp, 客房號:%d,Infoi.num);fprintf(fp, 空閑情況:%s,Infoi.idly);fprintf(fp, 客房類型:%s,Infoi.type);fprintf(fp, 客房價格:%d,Infoi.prize);fprintf(fp, 客戶姓名:%s,I);fprintf(fp, 身份證:%s,Infoi.ID_card);fprintf(fp, 預付款:%d,Infoi.

13、ad_payment);fprintf(fp, 入住時間:%s,Infoi.in_time);fprintf(fp, 退房時間:%sn,Infoi.leave_time); fclose(fp);if(!tag)printf(沒有查詢到可修改的數(shù)據!);void Demand(int count) /定義3查詢函數(shù)int in_num,i=0,flag=1; printf(請輸入要查詢的客房號:);scanf(%d,&in_num);int tag=0;for(i=0;in;i+)if(Infoi.num=in_num)tag=1;printf(客房號:%dn,Infoi.num); prin

14、tf(空閑情況:%sn,Infoi.idly);printf(客房類型:%sn,Infoi.type);printf(客房價格:%dn,Infoi.prize);printf(客人姓名:%sn,I);printf(身份證:%sn,Infoi.ID_card);printf(入住時間:%sn,Infoi.in_time);printf(退房時間:%sn,Infoi.leave_time);printf(預付費用:%dn,Infoi.ad_payment);flag=0;break;if(!tag)printf(沒有查詢到!);void Del(int *count) /定義4刪

15、除函數(shù)int i,j,num,flag=1,tag=0;printf(請輸入要刪除的客房號信息:);scanf(%d,&num);for(i=0;i*count&flag;i+)if(Infoi.num=num)for(j=i;j*count&flag;j+)Infoj=Infoj+1;Info*count-1.ad_payment = 0;strcpy(Info*count-1.ID_card,);strcpy(Info*count-1.idly,);strcpy(Info*count-1.in_time,);strcpy(Info*count-1.leave_time,);strcpy(I

16、nfo*,);Info*count-1.num = 0;Info*count-1.prize = 0;strcpy(Info*count-1.type,);flag=0,tag=1;(*count)-;break;if(!tag)printf(沒有查詢到可以刪除的信息!);n=n-1;FILE *fp; fp=fopen(d:hotel manage system.txt,w); for(i=0;in;i+) fprintf(fp,%d,i+1);fprintf(fp, 客房號:%d,Infoi.num);fprintf(fp, 空閑情況:%s,Infoi.idly);

17、fprintf(fp, 客房類型:%s,Infoi.type);fprintf(fp, 客房價格:%d,Infoi.prize);fprintf(fp, 客戶姓名:%s,I);fprintf(fp, 身份證:%s,Infoi.ID_card);fprintf(fp, 預付款:%d,Infoi.ad_payment);fprintf(fp, 入住時間:%s,Infoi.in_time);fprintf(fp, 退房時間:%sn,Infoi.leave_time);fclose(fp);void Skim(int count) /定義5瀏覽函數(shù)int i,flag=1;print

18、f(n);for(i=0;in;i+)printf(第%d條記錄:n,i+1);printf(客房號:%dn,Infoi.num);printf(客房類型:%sn,Infoi.type);printf(%客房價格:%dn,Infoi.ad_payment);printf(空閑情況:%dn,Infoi.prize);printf(客人姓名:%sn,Infoi.idly);printf(客人身份證號:%sn,I);printf(入住時間:%sn,Infoi.ID_card);printf(退房時間:%sn,Infoi.in_time);printf(預付費用:%sn,Infoi.leave_time);printf(n);flag=0;/return; void Balance(int conut) /定義6結算函數(shù)int i,x,fee,time;printf(請輸入要結算的客房號:);scanf(%d,&x);for(i=0;in;i+)if(Infoi.num=x)printf(住房時間為%s%s。n請輸入住房時間:,Infoi.in_time,Infoi.leave_time);scanf(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論