用C語言實現的賓館客房管理系統課程設計報告樣本_第1頁
用C語言實現的賓館客房管理系統課程設計報告樣本_第2頁
用C語言實現的賓館客房管理系統課程設計報告樣本_第3頁
用C語言實現的賓館客房管理系統課程設計報告樣本_第4頁
用C語言實現的賓館客房管理系統課程設計報告樣本_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

付費下載

VIP免費下載

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

文檔簡介

目錄一、課程設計題目 3二、運營環境(軟、硬件環境) 3三、算法設計思想 3四、算法流程圖 3五、算法設計分析 4六、源代碼 4七、運營成果分析 10八、收獲及體會 13一、課程設計題目賓館客房管理系統。二、運營環境(軟、硬件環境)中文版WindowsXP和MicrosoftVisualC++6.0。三、算法設計思想1.定義賓館客房管理信息構造體Hotel-Info。2.建立一種簡易選取菜單,通過輸入選取執行動作。3.主函數中,用switchcase實現選取功能,7項功能通過7個分支實現,每個相應一種函數。4.寫函數,涉及Insert-插入,Amend-修改,Demand-查詢,Del-刪除,Skim-瀏覽,Balance-結算。5.源程序可運營之后,將其數據、信息輸入到文檔中,使其能存檔,可以寫入文獻和讀出文獻。6.對程序進行修改、完善。寫函數四、算法流程圖聯系文獻開始開始定義構造體Hotel-Info修改、完善建立選取菜單寫主函數,實現選取功能結束結束圖1算法流程圖五、算法設計分析1.這是一種小型管理系統,使用構造體數組存儲客房信息。2.普通管理系統都應當具備插入,修改,查詢,刪除,瀏覽等功能,通過使用一種簡易菜單進行執行動作選取。3.用函數實現模塊化設計,調理清晰,使程序易讀寫。4.把程序與文獻聯系,使數據能存儲在磁盤中,更具實用性。六、源代碼1構造體structHotel_Info{ charname[N],type[N],ID_card[N],in_time[N],leave_time[N]; charidly[N]; intprize,num,ad_payment;}Info[N];2主函數intmain(){ FILE*fp; inti=0;fp=fopen("d:\\hotelmanagesystem.txt","r"); //fscanf(fp,"%d",&n);// for(i=0;i<n;i++) while(!feof(fp)) { inta; fscanf(fp,"%d",&a); fscanf(fp,"客房號:%d",&Info[i].num); fscanf(fp,"空閑狀況:%s",Info[i].type); fscanf(fp,"客房類型:%s",Info[i].idly); fscanf(fp,"客房價格:%d",&Info[i].prize); fscanf(fp,"客戶姓名:%s",Info[i].name); fscanf(fp,"身份證:%s",Info[i].ID_card); fscanf(fp,"預付款:%d",&Info[i].ad_payment); fscanf(fp,"入住時間:%s",Info[i].in_time); fscanf(fp,"退房時間:%s",Info[i].leave_time); i++; } fclose(fp); n=i-1; intm; do { printf("\n"); printf("***************************************************\n"); printf("1————登記。\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) { case1:Insert(&count);break; case2: Amend(count);break; case3: Demand(count);break; case4: Del(&count);break; case5: Skim(count);break; case6: Balance(count);break; case7: break; default:printf("錯誤選取!請重選");break; } }while(m!=7); return0;}3函數voidInsert(int*count)//定義1————插入函數{ inti=0,in_num; n=n+1; if(*count==N) {printf("overflow!");return;} FILE*fp; fp=fopen("d:\\hotelmanagesystem.txt","a"); fprintf(fp,"%d",n); for(i=*count;i<N;i++) { printf("編號:"); scanf("%d",&in_num); intflag=1; while(flag) { flag=0; for(intii=0;ii<=N;ii++) if(Info[ii].num==in_num) {printf("已有相似編號!\n");scanf("%d",&in_num);flag=1;break;} } Info[i].num=in_num; printf("客房號:"); scanf("%d",&Info[i].num); fprintf(fp,"客房號:%d",Info[i].num); printf("空閑狀況:"); scanf("%s",Info[i].idly); fprintf(fp,"空閑狀況:%s",Info[i].idly); printf("客房類型:"); scanf("%s",Info[i].type); fprintf(fp,"客房類型:%s",Info[i].type); printf("客房價格:"); scanf("%d",&Info[i].prize); fprintf(fp,"客房價格:%d",Info[i].prize); printf("客戶姓名:"); scanf("%s",Info[i].name); fprintf(fp,"客戶姓名:%s",Info[i].name); printf("身份證:"); scanf("%s",Info[i].ID_card); fprintf(fp,"身份證:%s",Info[i].ID_card); printf("預付款:"); scanf("%d",&Info[i].ad_payment); fprintf(fp,"預付款:%d",Info[i].ad_payment); printf("入住時間:"); scanf("%s",Info[i].in_time); fprintf(fp,"入住時間:%s",Info[i].in_time); printf("退房時間:"); scanf("%s",Info[i].leave_time); fprintf(fp,"退房時間:%s\n",Info[i].leave_time); break; } fclose(fp); (*count)++;}voidAmend(intcount)//定義2————修改函數{ inti,num,payment,tag=0;; charidly[N],name[N],ID_card[N],in_time[N],leave_time[N]; printf("請輸入要修改數據編號:"); scanf("%d",&num); for(i=0;i<n;i++) if(Info[i].num==num) { tag=1; printf("空閑狀況:%s",Info[i].idly); printf("客人姓名:%s",Info[i].name); printf("身份證:%s",Info[i].ID_card); printf("入住時間:%s",Info[i].in_time); printf("退房時間:%s",Info[i].leave_time); printf("預付費用:%d\n",Info[i].ad_payment); printf("空閑狀況:"); scanf("%s",idly);printf("客人姓名:");scanf("%s",name);printf("身份證:"); scanf("%s",ID_card);printf("入住時間:"); scanf("%s",in_time);printf("退房時間:"); scanf("%s",leave_time);printf("預付費用:"); scanf("%d",&payment);strcpy(Info[i].idly,idly); strcpy(Info[i].name,name);strcpy(Info[i].ID_card,ID_card);strcpy(Info[i].in_time,in_time); strcpy(Info[i].leave_time,leave_time); Info[i].ad_payment=payment; FILE*fp; fp=fopen("d:\\hotelmanagesystem.txt","w");for(i=0;i<n;i++) { fprintf(fp,"%d",i+1); fprintf(fp,"客房號:%d",Info[i].num); fprintf(fp,"空閑狀況:%s",Info[i].idly); fprintf(fp,"客房類型:%s",Info[i].type); fprintf(fp,"客房價格:%d",Info[i].prize); fprintf(fp,"客戶姓名:%s",Info[i].name); fprintf(fp,"身份證:%s",Info[i].ID_card); fprintf(fp,"預付款:%d",Info[i].ad_payment); fprintf(fp,"入住時間:%s",Info[i].in_time); fprintf(fp,"退房時間:%s\n",Info[i].leave_time); }fclose(fp); } if(!tag) printf("沒有查詢到可修改數據!");}voidDemand(intcount)//定義3————查詢函數{ intin_num,i=0,flag=1;printf("請輸入要查詢客房號:"); scanf("%d",&in_num); inttag=0; for(i=0;i<n;i++) if(Info[i].num==in_num) { tag=1; printf("客房號:%d\n",Info[i].num); printf("空閑狀況:%s\n",Info[i].idly); printf("客房類型:%s\n",Info[i].type); printf("客房價格:%d\n",Info[i].prize); printf("客人姓名:%s\n",Info[i].name); printf("身份證:%s\n",Info[i].ID_card); printf("入住時間:%s\n",Info[i].in_time); printf("退房時間:%s\n",Info[i].leave_time); printf("預付費用:%d\n",Info[i].ad_payment); flag=0; break; } if(!tag) {printf("沒有查詢到!");}}voidDel(int*count)//定義4————刪除函數{ inti,j,num,flag=1,tag=0; printf("請輸入要刪除客房號信息:"); scanf("%d",&num); for(i=0;i<*count&&flag;i++) { if(Info[i].num==num) { for(j=i;j<*count&&flag;j++) Info[j]=Info[j+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(Info[*count-1].name,""); 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:\\hotelmanagesystem.txt","w"); for(i=0;i<n;i++) { fprintf(fp,"%d",i+1); fprintf(fp,"客房號:%d",Info[i].num); fprintf(fp,"空閑狀況:%s",Info[i].idly); fprintf(fp,"客房類型:%s",Info[i].type); fprintf(fp,"客房價格:%d",Info[i].prize); fprintf(fp,"客戶姓名:%s",Info[i].name); fprintf(fp,"身份證:%s",Info[i].ID_card); fprintf(fp,"預付款:%d",Info[i].ad_payment); fprintf(fp,"入住時間:%s",Info[i].in_time); fprintf(fp,"退房時間:%s\n",Info[i].leave_time); } fclose(fp); }voidSkim(intcount)//定義5————瀏覽函數{ inti,flag=1; printf("\n"); for(i=0;i<n;i++) { printf("第%d條記錄:\n",i+1); printf("客房號:%d\n",Info[i].num); printf("客房類型:%s\n",Info[i].type); printf("%客房價格:%d\n",Info[i].ad_payment); printf("空閑狀況:%d\n",Info[i].prize); printf("客人姓名:%s\n",Info[i].idly); printf("客人身份證號:%s\n",Info[i].name); printf("入住時間:%s\n",Info[i].ID_card); printf("退房時間:%s\n",Info[i].in_time); printf("預付費用:%s\n",Info[i].leave_time); printf("\n"); flag=0; //return; }}voidBalance(intconut)

溫馨提示

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

評論

0/150

提交評論