版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
年4月19日C語(yǔ)言旅館信息管理系統(tǒng)文檔僅供參考/***題目:旅店信息管理系統(tǒng)**小組成員:閆若琳戴雨晨馬淵沐張子飛李闖王浩崔以博孫浩浩李春普溫健成*/#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<string.h>#defineMIN1 #defineMAX30 #defineLENsizeof(structHotel) //用LEN代替結(jié)構(gòu)體的"長(zhǎng)度" voidregeist();voidout_information(); voidsearch_number(); voidshow_all(); voidsearch_name();voidchange(); voidfire(); structHotel*load();FILE*fp; structHotel { introom_number; charname[20]; charsex[10]; charID[20]; floatpaid[10]; intinyear; intinmonth; intinday; structHotel*next;};structHotel*load() //定義load函數(shù)讀取當(dāng)前的信息,并存到內(nèi)存鏈表中{ structHotel*head,*pb,*s; pb=(structHotel*)malloc(LEN);//開(kāi)辟新的節(jié)點(diǎn) s=(structHotel*)malloc(LEN); if((pb==NULL)||(s==NULL)) { printf("動(dòng)態(tài)內(nèi)存分配失??!\n"); getch(); exit(0); } if((fp=fopen("resturant.txt","rb"))==NULL) { printf("無(wú)法打開(kāi)文件!\n"); getch(); exit(0); } head=pb; while(fread(s,LEN,1,fp))//讀取當(dāng)前的信息,并存到鏈表中 { pb->next=s; pb=s; s=(structHotel*)malloc(LEN); } pb->next=NULL; returnhead; //返回鏈表的頭指針}intmain() //崔以博、孫浩浩 {charchoice; do{printf("\n\n歡迎使用旅店信息管理系統(tǒng)\n\n"); printf("1.查看旅店信息\n2.查看某一房間信息\n3.查看旅客信息\n"); printf("4.查找某一旅客信息\n5.旅客入住\n6.旅客換房\n7.旅客退房\n8.退出\n"); printf("\n\n"); choice=getch(); switch(choice) { case'1':out_information();break; case'2':search_number();break; case'3':show_all();break; case'4':search_name();break; case'5':regeist();break; case'6':change();break; case'7':fire();break; case'8':exit(0);break; default:printf("Error!");break; } printf("\n\n請(qǐng)按任意鍵繼續(xù)!\n"); getch(); system("cls"); }while(1); return0;}voidout_information() //張子飛:定義out_information函數(shù),完成查看旅店信息功能{ FILE*fp; charch; if((fp=fopen("information.txt","r"))==NULL) { printf("無(wú)法打開(kāi)文件!\n"); getch(); exit(0); } ch=fgetc(fp); system("cls"); printf("\n\n\t\t\t旅店信息介紹:(若沒(méi)有信息請(qǐng)返回創(chuàng)立)"); printf("\n\n\n\t"); while(ch!=EOF) { putchar(ch); ch=fgetc(fp); } fclose(fp); }voidsearch_number() //李春普、溫健成:定義search_number函數(shù),用來(lái)完成查看某一房間的信息{ charch[2]; introom_number; structHotel*head,*pa; head=load(); printf("\n請(qǐng)輸入需要查看的房間序號(hào):(%d~%d):",MIN,MAX); scanf("%d",&room_number); pa=head->next; if(room_number<MIN||room_number>MAX) { printf("\a\nError!"); return; } do { if(pa) { if(room_number==pa->room_number) //如果找到相應(yīng)信息,則輸出 { printf("\n"); printf("roomnumber:\t%d",pa->room_number); printf("\n"); printf("name:\t\t%s",pa->name); printf("\n"); printf("sex:\t\t%s",pa->sex); printf("\n"); printf("ID:\t\t%s",pa->ID); printf("\n"); printf("paid:\t\t%s",pa->paid); printf("\n"); printf("%d%d%d",pa->inyear,pa->inmonth,pa->inday); printf("\n"); printf("\n請(qǐng)選擇是否繼續(xù)查看信息(y/n):\n"); scanf("%s",ch); if((strcmp(ch,"Y")!=0)&&(strcmp(ch,"y")!=0)) { return; } else { printf("\n請(qǐng)輸入需要查看的房間序號(hào):(%d~%d):",MIN,MAX); scanf("%d",&room_number); pa=head->next; if(room_number<MIN||room_number>MAX) { printf("無(wú)此房間!"); return; } continue; } } pa=pa->next; } else { printf("\n該房間還沒(méi)有旅客入住"); return; } }while(1);}voidshow_all() //戴雨晨:定義是show_all函數(shù),用來(lái)顯示所有旅客信息{ structHotel*head,*pa; head=load(); pa=head->next; printf("\n所有入住旅客的信息如下:\n"); while(pa) //顯示所有的旅客信息 { printf("\n"); printf("roomnumber:\t%d",pa->room_number); printf("\n"); printf("name:\t\t%s",pa->name); printf("\n"); printf("sex:\t\t%s",pa->sex); printf("\n"); printf("ID:\t\t%s",pa->ID); printf("\n"); printf("paid:\t\t%s",pa->paid); printf("\n"); printf("date:\t\t%d%d%d",pa->inyear,pa->inmonth,pa->inday); printf("\n"); pa=pa->next; }}voidsearch_name() //馬淵沐:定義search_name函數(shù),用來(lái)完成查看某一旅客的信息{ charch[2]; charinname[20]; //用數(shù)組inname[20]來(lái)儲(chǔ)存需要查詢的旅客name structHotel*head,*pa; head=load(); printf("\n請(qǐng)輸入需要查看的旅客姓名:"); scanf("%s",inname); pa=head->next; do { if(pa) { if(strcmp(inname,pa->name)==0) { printf("\n"); printf("roomnumber:\t%d",pa->room_number); printf("\n"); printf("name:\t\t%s",pa->name); printf("\n"); printf("sex:\t\t%s",pa->sex); printf("\n"); printf("ID:\t\t%s",pa->ID); printf("\n"); printf("paid:\t\t%s",pa->paid); printf("\n"); printf("date:\t\t%d%d%d",pa->inyear,pa->inmonth,pa->inday); printf("\n"); printf("\n請(qǐng)選擇是否繼續(xù)查看信息(y/n):\n"); scanf("%s",ch); if((strcmp(ch,"Y")!=0)&&(strcmp(ch,"y")!=0)) { return; } else { printf("\n請(qǐng)輸入需要查看的旅客姓名:"); scanf("%s",inname); pa=head->next; continue; } } pa=pa->next; } else { printf("\n沒(méi)有查到該旅客的信息"); return; } }while(1);}voidregeist() //閆若琳:定義regeist函數(shù)實(shí)現(xiàn)入住功能{ charch[2]; intnumber; structHotel*head,*p1,*p2,*pa; head=load(); pa=head->next; printf("\n已入住房間:\n"); while(pa) { printf("\n"); printf("roomnumber:\t%d",pa->room_number); pa=pa->next;} fclose(fp); if((fp=fopen("resturant.txt","a+"))==NULL) { printf("無(wú)法打開(kāi)文件!\n"); getch(); exit(0); } head=NULL; p1=(structHotel*)malloc(LEN); p2=(structHotel*)malloc(LEN); if((p1==NULL)||(p2==NULL)) { printf("動(dòng)態(tài)內(nèi)存分配失??!\n"); getch(); exit(0); } printf("\n請(qǐng)登記入住信息!\n"); printf("請(qǐng)選擇房間號(hào)(%d~%d):",MIN,MAX); scanf("%d",&number); if(number<MIN||number>MAX) { printf("無(wú)此房間!"); return; } p1->room_number=number; //在該房間沒(méi)有旅客時(shí),登記入住 printf("name:\t"); scanf("%s",&p1->name); printf("sex:\t"); scanf("%s",&p1->sex); printf("ID:\t");scanf("%s",&p1->ID); printf("paid:\t"); scanf("%s",&p1->paid); printf("date(年月日空格隔開(kāi)):"); scanf("%d%d%d",&p1->inyear,&p1->inmonth,&p1->inday); p1->next=NULL; if(head==NULL) //將輸入的信息保存到鏈表 { head=p1; p2=p1; } else { p2->next=p1; p2=p1; } fwrite(p2,LEN,1,fp); fclose(fp);//將鏈表信息保存到磁盤(pán)文件 printf("\n請(qǐng)選擇是否繼續(xù)登記信息(y/n):"); //判斷是否繼續(xù)登記旅客信息 scanf("%s",ch); if((strcmp(ch,"y")!=0)) { printf("\n登記旅客入住信息成功!"); return(0); } elseregeist(); return; //登記完成后返回頭鏈表指針}voidchange()//李創(chuàng):定義change函數(shù)實(shí)現(xiàn)換房功能{ introom_number; intnewroom_number; structHotel*head,*pa,*L; head=load(); printf("\n請(qǐng)輸入需要換房的房間序號(hào):(%d~%d):",MIN,MAX); scanf("%d",&room_number); if(room_number<MIN||room_number>MAX) { printf("無(wú)此房間!"); getch(); return; } pa=head->next;do { if(pa) { if(room_number==pa->room_number) { printf("\n"); printf("roomnumber:\t%d",pa->room_number); printf("\n"); printf("name:\t\t%s",pa->name); printf("\n"); printf("sex:\t\t%s",pa->sex); printf("\n"); printf("ID:\t\t%s",pa->ID); printf("\n"); printf("paid:\t\t%s",pa->paid); printf("\n"); printf("date:\t\t%d%d%d",pa->inyear,pa->inmonth,pa->inday); printf("\n"); printf("\n請(qǐng)輸入需要換到的房間序號(hào):(%d~%d):",MIN,MAX); scanf("%d",&newroom_number); if(newroom_number<MIN||newroom_number>MAX) { printf("無(wú)此房間!"); getch(); return; } pa->room_number=newroom_number; break; } pa=pa->next; } else { printf("\n該房間還沒(méi)有旅客入??!\n"); getch(); return; } }while(1); fclose(fp); if((fp=fopen("resturant.txt","wb"))==NULL) { printf("無(wú)法打開(kāi)文件!\n"); getch(); exit(0); } L=head->next; while(L) { fwrite(L,LEN,1,fp); L=L->next; } fclose(fp); printf("\n換房成功!"); return;}voidfire()//王浩:定義fire函數(shù)實(shí)現(xiàn)退房功能{ charinname[20]; //用數(shù)組inname[20]來(lái)儲(chǔ)存需要退房旅客name structHotel*head,*qian,*pa,*L; head=load(); qian=(structHotel*)malloc(LEN);//開(kāi)辟新的節(jié)點(diǎn) if(qian==NULL) { printf("動(dòng)態(tài)內(nèi)存分配失??!\n"); //如果動(dòng)態(tài)內(nèi)存分配失敗,返回失敗信息 getch(); exit(0); } printf("\n請(qǐng)輸入需要退房的旅客姓名:"); scanf("%s",inname); pa=head->next; do { if(pa) { if(strcmp(innam
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 繆含2025年度離婚協(xié)議書(shū)及房產(chǎn)分割細(xì)則4篇
- 全新2025年度教育信息化建設(shè)合同
- 2025版信托投資公司外匯資產(chǎn)托管服務(wù)合同3篇
- 二零二五年度中美教育機(jī)構(gòu)合作項(xiàng)目風(fēng)險(xiǎn)評(píng)估與管理合同3篇
- 二零二五版美縫施工與環(huán)保驗(yàn)收合同4篇
- 水庫(kù)工程質(zhì)量檢測(cè)與監(jiān)控2025年度承包合同2篇
- 2025新生入學(xué)法律協(xié)議書(shū)(教育保障與未來(lái)規(guī)劃)3篇
- 二零二五年度定制門(mén)窗品牌代理銷售合同規(guī)范4篇
- 2025版農(nóng)田挖掘機(jī)操作工勞動(dòng)合同模板6篇
- 個(gè)人出租車承包合同(2024版)
- 2024年高純氮化鋁粉體項(xiàng)目可行性分析報(bào)告
- 安檢人員培訓(xùn)
- 危險(xiǎn)性較大分部分項(xiàng)工程及施工現(xiàn)場(chǎng)易發(fā)生重大事故的部位、環(huán)節(jié)的預(yù)防監(jiān)控措施
- 《榜樣9》觀后感心得體會(huì)四
- 2023事業(yè)單位筆試《公共基礎(chǔ)知識(shí)》備考題庫(kù)(含答案)
- 化學(xué)-廣東省廣州市2024-2025學(xué)年高一上學(xué)期期末檢測(cè)卷(一)試題和答案
- 2025四川中煙招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- EHS工程師招聘筆試題與參考答案(某大型央企)2024年
- 營(yíng)銷策劃 -麗亭酒店品牌年度傳播規(guī)劃方案
- 2025年中國(guó)蛋糕行業(yè)市場(chǎng)規(guī)模及發(fā)展前景研究報(bào)告(智研咨詢發(fā)布)
- 護(hù)理組長(zhǎng)年底述職報(bào)告
評(píng)論
0/150
提交評(píng)論