C语言旅馆信息管理系统_第1页
C语言旅馆信息管理系统_第2页
C语言旅馆信息管理系统_第3页
C语言旅馆信息管理系统_第4页
C语言旅馆信息管理系统_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/* *题目: 旅店信息管理系统* 小组成员:闫若琳 戴雨晨 马渊沐 张子飞 李闯 王浩 崔以博 孙浩浩 李春普 温健成*/#include #include #include #include #define MIN 1#define MAX 30#define LEN sizeof(struct Hotel) 看旅店信息 n2. 查看某一房间 信息 n3. 查看旅客信息 n);printf (4. 查找某一旅客信息 n5. 旅客入住 n6. 旅客换房 n7. 旅客退房 n8. 退出 n);printf(n-n);choice=getch();switch (choice)case 1:ou

2、t_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 ;/ 张子飞: 定义 out_

3、information 函数, 完成查看void out_information() 旅店信息功能FILE *fp; char ch ;if (fp=fopen(,r)=NULL)printf ( 无法打开文件! n);getch(); exit(0);ch=fgetc(fp); system(cls);printf(nnttt 旅店信息介绍: ( 若没有信息请返回创建 ); printf(nnnt);while (ch!=EOF)putchar(ch); ch=fgetc(fp); fclose(fp);void search_number ()/ 李春普、 温健成: 定义 search_n

4、umber 函数, 用来完成查看某一房间的信息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%

5、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)

6、!=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 ;he

7、ad=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

8、%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,

9、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请

10、选择是否继续查看信息 (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; elseprintf (n 没有查到该旅客的信息 );return ;while(1);void regeist()/ 闫若琳:定义 regeist 函数实现入住功能char ch2 ;int number ;struct Hotel *head,*p1,*p2,*pa;

11、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(,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 ( 动态内存分配失败!

12、 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);sca

13、nf (%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)

14、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();

15、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 : 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-

16、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(,wb)=NULL)pr

17、intf ( 无法打开文件! 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 函数实现退房功能 namechar inname20 ;/ 用数组 inname20 来储存需要退房旅客struct Hotel *head, *qian,*pa,*L ;开辟新的节点/ 如果动态内存分配失败,);返回失败信息head=load();qian=(struct Hotel *)malloc(LE

18、N); /if (qian=NULL)printf ( 动态内存分配失败! n); getch();exit(0);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);qian=head ;while(qian-next != pa) / 找到需要查找节点

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论