已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*题目:旅店信息管理系统*小组成员:闫若琳 戴雨晨 马渊沐 张子飞 李闯 王浩 崔以博 孙浩浩 李春普 温健成*/#include #include #include #include #define MIN 1#define MAX 30#define LEN sizeof(struct Hotel)/用LEN代替结构体的长度void regeist();void out_information();void search_number();void show_all();void search_name();void change();void fire();struct Hotel *load();FILE *fp; struct Hotel int 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函数读取当前的信息,并存到内存链表中struct Hotel *head,*pb, *s ;pb=(struct Hotel *)malloc(LEN); /开辟新的节点s =(struct Hotel *)malloc(LEN);if(pb=NULL)|(s=NULL)printf (动态内存分配失败!n);getch();exit(0);if(fp=fopen(resturant.txt,rb)=NULL)printf (无法打开文件!n);getch();exit(0);head = pb;while (fread (s,LEN,1,fp) /读取当前的信息,并存到链表中pb-next = s;pb = s;s = (struct Hotel *)malloc(LEN);pb-next =NULL;return head ;/返回链表的头指针int main ()/崔以博、孙浩浩 char choice ;do printf (nn-欢迎使用旅店信息管理系统-nn); 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 (nn请按任意键继续 !n);getch();system(cls);while(1);return 0 ;void out_information()/张子飞:定义out_information函数,完成查看旅店信息功能FILE *fp;char ch ;if (fp=fopen(information.txt,r)=NULL) printf (无法打开文件!n);getch(); exit(0);ch=fgetc(fp);system(cls);printf(nnttt旅店信息介绍: (若没有信息请返回创建);printf (n-nnt);while (ch!=EOF)putchar(ch);ch=fgetc(fp);fclose(fp);void search_number ()/李春普、温健成:定义search_number函数,用来完成查看某一房间的信息char ch2 ;int room_number ;struct Hotel *head, *pa ;head=load();printf (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)/如果找到相应信息,则输出printf (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 (%d %d %d,pa-inyear,pa-inmonth,pa-inday);printf (n);printf (n请选择是否继续查看信息(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_number);pa= head-next;if (room_numberMAX)printf ( 无此房间!);return;continue ;pa = pa-next;elseprintf (n该房间还没有旅客入住);return;while(1);void show_all()/戴雨晨:定义是show_all函数,用来显示所有旅客信息struct Hotel *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: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);pa = pa-next;void search_name ()/马渊沐:定义search_name函数,用来完成查看某一旅客的信息char ch2 ;char inname20 ;/用数组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: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请选择是否继续查看信息(y/n):n);scanf (%s,ch);if(strcmp(ch,Y)!=0)&(strcmp(ch,y)!=0)return;elseprintf (n请输入需要查看的旅客姓名:);scanf (%s,inname);pa= head-next;continue ;pa = pa-next;else printf (n没有查到该旅客的信息);return ;while(1);void regeist()/闫若琳:定义regeist函数实现入住功能char ch2 ;int number ;struct Hotel *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=(struct Hotel *)malloc(LEN);p2=(struct Hotel *)malloc(LEN);if (p1=NULL)|(p2=NULL)printf (动态内存分配失败!n);getch();exit(0);printf (n请登记入住信息!n);printf (请选择房间号(%d%d):,MIN,MAX);scanf (%d,&number);if (numberMAX)printf (无此房间!);return;p1-room_number=number ;/在该房间没有旅客时,登记入住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 ;elsep2-next=p1;p2=p1 ;fwrite(p2,LEN,1,fp);fclose (fp); /将链表信息保存到磁盘文件printf (n请选择是否继续登记信息 (y/n):);/判断是否继续登记旅客信息scanf (%s,ch);if(strcmp(ch,y)!=0)printf (n登记旅客入住信息成功!);return(0);else regeist();return ;/登记完成后返回头链表指针void change() /李创:定义change函数实现换房功能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)printf (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-inday);printf (n);printf (n请输入需要换到的房间序号:(%d%d):,MIN,MAX);scanf (%d,&newroom_number);if (newroom_numberMAX)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;while(L)fwrite(L,LEN,1,fp);L=L-next ;fclose(fp);printf (n换房成功!);return;void fire() /王浩:定义fire函数实现退房功能char inname20 ;/用数组inname20来储存需要退房旅客namestruct Hotel *head, *qian,*pa,*L ;head=load();qian=(struct Hotel *)malloc(LEN); /开辟新的节点if (qian=NULL)printf (动态内存分配失败!n);/如果动态内存分配失败,返回失败信息getch();exit(0);printf (n请输入需要退房的旅客姓名:);scanf (%s,inname);pa=head-next ;do
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精准农业种植管理机器人企业制定与实施新质生产力项目商业计划书
- 长沙语文考试作文阅读题及答案
- 基于重叠群嵌入与分解四核苷酸频率的宏基因组分箱方法研究
- 运城t联考试卷届化学题及答案
- 宾馆改学生公寓旧楼改造施工方案
- H公司科技成果转化策略研究
- 先验模糊信息的预处理算法研究与应用
- M公司H磁组件生产项目风险管理研究
- 天然沸石联合植物强化AAO工艺处理生活污水试验研究
- 热塑性聚氨酯-橡胶复合材料冰摩擦性能的影响因素及其机理研究
- 2025年电商平台生鲜配送售后服务标准范本3篇
- DB36-T 1941-2024 老年人轻度认知障碍筛查与干预指南
- 2024年09月2024秋季中国工商银行湖南分行校园招聘620人笔试历年参考题库附带答案详解
- 儿童青少年行为和情绪障碍的护理
- DB45T 2178-2020 甘蔗产量现场测定操作规程
- 实验设计DOE培训
- 第9课-秦统一中国【课件】(共30张课件)
- 智算中心发展创新指南
- 成都中医药大学《诊断学基本技能训练(一)》2021-2022学年第一学期期末试卷
- 2025年九省联考新高考 英语试卷(含答案解析)
- 数据分包灵活传(教学课件)-七年级信息科技全一册同步教学(人教版2024)
评论
0/150
提交评论