版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
年4月19日C語言旅館信息管理系統(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);//開辟新的節(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("無法打開文件!\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("無法打開文件!\n"); getch(); exit(0); } ch=fgetc(fp); system("cls"); printf("\n\n\t\t\t旅店信息介紹:(若沒有信息請(qǐng)返回創(chuàng)立)"); printf("\n\n\n\t"); while(ch!=EOF) { putchar(ch); ch=fgetc(fp); } fclose(fp); }voidsearch_number() //李春普、溫健成:定義search_number函數(shù),用來完成查看某一房間的信息{ 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("無此房間!"); return; } continue; } } pa=pa->next; } else { printf("\n該房間還沒有旅客入住"); return; } }while(1);}voidshow_all() //戴雨晨:定義是show_all函數(shù),用來顯示所有旅客信息{ 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ù),用來完成查看某一旅客的信息{ charch[2]; charinname[20]; //用數(shù)組inname[20]來儲(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沒有查到該旅客的信息"); 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("無法打開文件!\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("無此房間!"); return; } p1->room_number=number; //在該房間沒有旅客時(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(年月日空格隔開):"); 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);//將鏈表信息保存到磁盤文件 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("無此房間!"); 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("無此房間!"); getch(); return; } pa->room_number=newroom_number; break; } pa=pa->next; } else { printf("\n該房間還沒有旅客入?。n"); getch(); return; } }while(1); fclose(fp); if((fp=fopen("resturant.txt","wb"))==NULL) { printf("無法打開文件!\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]來儲(chǔ)存需要退房旅客name structHotel*head,*qian,*pa,*L; head=load(); qian=(structHotel*)malloc(LEN);//開辟新的節(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州大學(xué)《普通微生物學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽幼兒師范高等??茖W(xué)?!朵摻Y(jié)構(gòu)混凝土設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025福建省建筑安全員A證考試題庫
- 貴陽信息科技學(xué)院《生藥學(xué)Ⅱ》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025湖北省建筑安全員-C證考試題庫
- 2025年山西建筑安全員A證考試題庫
- 2025四川建筑安全員考試題庫附答案
- 廣州幼兒師范高等??茖W(xué)校《人文地理學(xué)理論與進(jìn)展》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州衛(wèi)生職業(yè)技術(shù)學(xué)院《影視制作實(shí)務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州鐵路職業(yè)技術(shù)學(xué)院《巖土工程測(cè)試技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 現(xiàn)代學(xué)徒制課題:數(shù)字化轉(zhuǎn)型背景下新型師徒關(guān)系構(gòu)建研究(附:研究思路模板、可修改技術(shù)路線圖)
- 9.2溶解度(第2課時(shí))-2024-2025學(xué)年九年級(jí)化學(xué)人教版(2024)下冊(cè)
- 安徽省合肥市包河區(qū)2023-2024學(xué)年三年級(jí)上學(xué)期語文期末試卷
- 2024版食源性疾病培訓(xùn)完整課件
- 2025年中國蛋糕行業(yè)市場(chǎng)規(guī)模及發(fā)展前景研究報(bào)告(智研咨詢發(fā)布)
- 護(hù)理組長(zhǎng)年底述職報(bào)告
- 巨量引擎合同范本
- 《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀課件
- 初中語文:非連續(xù)性文本閱讀練習(xí)(含答案)
- 零星維修工程施工方案(定)
- 花紋鋼板理論重量表(精品)
評(píng)論
0/150
提交評(píng)論