




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語百旅館信息管理系統(tǒng)/* *題目:旅店信息管理系統(tǒng)* 小組成員:閆若琳 戴雨晨 馬淵沐 張子飛 李 闖王浩 崔以博 孫浩浩 李春普 溫 健成*/#include #include #include #include #define MIN 1#define MAX 30/用#define LEN sizeof(struct Hotel) LEN 代替結(jié)構(gòu)體的 長度 void regeist(); void out_information(); void search_number(); void show_all();void search_name(); void change();voi
2、d fire(); struct Hotel *load();FILE *fp;struct Hotelint room_number; char name 20; char sex10;char ID 20;float paid10;int inyear ;int inmonth ;int inday ; struct Hotel *next ;struct Hotel *load() /定義 load 函數(shù)讀取當(dāng)前 的信息,并存到內(nèi)存鏈表中struct Hotel *head,*pb, *s ;pb=(struct Hotel *)malloc(LEN);/開辟新的節(jié)點(diǎn)s =(struct
3、 Hotel *)malloc(LEN); if(pb=NULL)|(s=NULL)printf ( 動態(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 = (struct Hotel *)malloc(LEN);pb-next =NULL;return head ;/返回鏈表的頭指針int mai
4、n ()/崔以博、孫浩浩 char choice ;do printf (nn 歡迎使用旅店信息管理系統(tǒng) nn);printf (1. 查看旅店信息 n2.查看某一房 間信息 n3.查看旅客信息 n);printf (4. 查找某一旅客信息 n5.旅客入 住n6.旅客換房 n7.旅客退房 n8.退出 n);printf(nn);choice=getch();switch (choice)case 1:out_information();break; case 2:search_number();break;case 3:show_all();break;case 4:search_name()
5、;break;case 5:regeist();break;case 6:change();break;case 7:fire();break;case 8:exit(0);break;default :printf (Error ! );break ;printf (nn 請按任意鍵繼續(xù) ! n); getch();system(cls);while(1);return 0 ;void out_information() / 張子飛:定義 out_information 函數(shù),完成查看旅店信息功能 FILE *fp;char ch ;if(fp=fopen(information.txt,r
6、)=NULL)printf ( 無法打開文件! n);getch();exit(0);ch=fgetc(fp);system(cls);printf(nnttt 旅店信息介紹: (若沒有信息 請返回創(chuàng)建 );printf(nnnt);while (ch!=EOF)putchar(ch);ch=fgetc(fp);fclose(fp);void search_number () /李春普、 溫健成:定 義 search_number函數(shù),用來完成查看某一房間 的信息char ch2 ;int room_number ;struct Hotel *head, *pa ;head=load();pr
7、intf (n 請輸入需要查看的房間序號:(%d%d) : ,MIN,MAX);scanf (%d,&room_number);pa= head-next;if (room_numberMAX)printf (anError ! );return ;doif (pa)if(room_number=pa-room_number) /如果找到相應(yīng)信息,則輸出printf (n);printf(roomnumber:t%d,pa-room_number); printf (n);printf (name :tt%s,pa-name);printf (n);printf (sex: tt%s,pa-s
8、ex);printf (n);printf (ID:tt%s,pa-ID);printf (n);printf (paid : tt%s,pa-paid);printf (n);printf(%d %d %d,pa-inyear,pa-inmonth,pa-in day);printf (n);printf (n 請選擇是否繼續(xù)查看信息 (y/n):n);scanf (%s,ch);if(strcmp(ch,Y)!=0)&(strcmp(ch,y)!=0 )return;elseprintf (n 請輸入需要查看的房間 序號: (%d%d) :,MIN,MAX);scanf (%d,&room
9、_number); pa= head-next;if(room_numberMAX)printf ( 無此房間! );return;continue ;pa = pa-next;elseprintf (n 該房間還沒有旅客入住 );return;while(1);void show_all()/ 戴雨晨:定義是show_all函數(shù),用來顯示所有旅客信息 struct Hotel *head, *pa ; head=load();pa= head-next;printf (n 所有入住旅客的信息如下: n); while (pa)/ 顯示所有的旅客信息printf (n); printf(roo
10、mnumber:t%d,pa-room_number); printf (n);printf (name :tt%s,pa-name); printf (n);printf (sex: tt%s,pa-sex); printf (n);printf (ID:tt%s,pa-ID);printf (n);printf (paid : tt%s,pa-paid);printf (n);printf (date : tt%d %d %d,pa-inyear,pa-inmonth,pa-in day);printf (n);pa = pa-next;void search_name () / 馬 淵
11、沐 : 定 義 search_name函數(shù),用來完成查看某一旅客的信 息char ch2 ;char inname20 ; / 用數(shù)組 inname20來 儲存需要查詢的旅客 namestruct Hotel *head, *pa ;head=load();printf (n 請輸入需要查看的旅客姓名: );scanf (%s,inname); pa= head-next;doif (pa)if(strcmp(inname,pa-name)=0) printf (n); printf(roomnumber:t%d,pa-room_number); printf (n);printf (name
12、 :tt%s,pa-name); printf (n);printf (sex: tt%s,pa-sex); printf (n);printf (ID:tt%s,pa-ID);printf (n); printf (paid : tt%s,pa-paid); printf (n);printf (date : tt%d %d %d,pa-inyear,pa-inmonth,pa-inday);printf (n);printf (n 請選擇是否繼續(xù)查看信息 (y/n):n);scanf (%s,ch);if(strcmp(ch,Y)!=0)&(strcmp(ch,y)!=0 )return;
13、elseprintf (n 請輸入需要查看的旅客 姓名: );scanf (%s,inname);pa= head-next; continue ;pa = pa-next;elseprintf (n 沒有查到該旅客的信息 );return ;while(1);void regeist()/閆若琳:定義 regeist 函數(shù)實(shí)現(xiàn)入住功能char ch2 ;int number ;struct Hotel *head,*p1,*p2,*pa;head=load();pa= head-next;printf (n 已入住房間: n);while (pa)printf (n);printf(room
14、number: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=(struct Hotel *)malloc(LEN);p2=(struct Hotel *)malloc(LEN);if (p1=NULL)|(p2=NULL)printf ( 動態(tài)內(nèi)存分配失??! n);getch();exit(0);printf (n 請登記入住信息! n);printf ( 請 選 擇 房 間 號 (%
15、d%d) : ,MIN,MAX);scanf (%d,&number);if (numberMAX)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-i
16、nyear,&p1-inmonth,&p 1-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 請選擇是否繼續(xù)登記信息 (y/n):); /判斷是否繼續(xù)登記旅客信息scanf (%s,ch); if(strcmp(ch,y)!=0)printf (n 登記旅客入住信息成功! ); return(0);else regeist();return ;/ 登記
17、完成后返回頭鏈表指針void change()/李創(chuàng):定義 change函數(shù)實(shí)現(xiàn)換房功能int room_number ;int newroom_number ;struct Hotel *head, *pa,*L ;head=load();printf (n 請輸入需要換房的房間序號:(%d%d) : ,MIN,MAX);scanf (%d,&room_number);if (room_numberMAX)printf ( 無此房間! ); getch();return; pa= head-next;doif (pa) if(room_number=pa-room_number) print
18、f (n);printf (roomnumber:t%d,pa-room_number);printf (n);printf (name :tt%s,pa-name); printf (n);printf (sex: tt%s,pa-sex);printf (n);printf (ID:tt%s,pa-ID);printf (n);printf (paid : tt%s,pa-paid);printf (n);printf (date : tt%d %d %d,pa-inyear,pa-inmonth,pa-in day);printf (n);printf (n 請輸入需要換到的房間序 號:
19、 (%d%d):,MIN,MAX);scanf (%d,&newroom_number);if (newroom_numberM AX)printf ( 無此房間 !);getch(); return;pa-room_number=newroom_number ;break ;pa = pa-next;elseprintf (n 該房間還沒有旅客入?。?n);getch();return;while(1);fclose(fp);if(fp=fopen(resturant.txt,wb)=NULL)printf ( 無法打開文件! n);getch();exit(0);L=head-next;w
20、hile(L)fwrite(L,LEN,1,fp);L=L-next ;fclose(fp);printf (n 換房成功! );return;void fire()/王浩:定義 fire函數(shù)實(shí)現(xiàn)退房功能char inname20 ; / 用數(shù)組 inname20來 儲存需要退房旅客 namestruct Hotel *head, *qian,*pa,*L ;head=load();qian=(struct Hotel *)malloc(LEN);/開辟新的節(jié)點(diǎn)if (qian=NULL)printf ( 動態(tài)內(nèi)存分配失?。?n); / 如 果動態(tài)內(nèi)存分配失敗,返回失敗信息getch();exit(0);printf (n 請輸入需要退房的旅客姓名: );scanf (%s,inname);pa=head-next
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南京郵電大學(xué)《國際投資與信貸》2023-2024學(xué)年第二學(xué)期期末試卷
- 公共交通線路審批管理制度
- 直埋管施工方案
- 特種陶瓷磨豆?jié){機(jī)問卷調(diào)查
- 城市路燈井施工方案
- 江西省新八校聯(lián)考2024-2025學(xué)年高三上學(xué)期1月期末聯(lián)考英語試題【含答案】
- 甘肅省酒泉市2024-2025學(xué)年高一(下)開學(xué)生物試卷-(含解析)
- 城市公共廣告施工方案
- 電表安裝施工方案
- 反濾土工布施工方案
- 新風(fēng)pvc施工方案
- 產(chǎn)權(quán)式酒店及酒店式公寓
- 產(chǎn)品國產(chǎn)化證明書
- 詢價(jià)投標(biāo)文件(范本)
- 2023互聯(lián)網(wǎng)交互式服務(wù)安全管理要求 第7部分:云服務(wù)
- 馬克思恩格斯列寧經(jīng)典著作選讀課件
- 機(jī)械裝配工藝作業(yè)指導(dǎo)書
- 醫(yī)學(xué)專家談靈芝孢子粉課件
- 初中綜合實(shí)踐活動《動技術(shù)-1探究營養(yǎng)與烹飪》培優(yōu)課件
- (完整word版)風(fēng)電項(xiàng)目開發(fā)前期工作流程
- 2023年初中升學(xué)考試語文中考漫畫練習(xí)題123
評論
0/150
提交評論