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

下载本文档

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

文档简介

1、/*题目:旅店信息管理系统*小组成员:闫若琳 戴雨晨 马渊沐 张子飞 李闯 王浩 崔以博 孙浩浩 李春普 温健成*/#include <stdio.h>#include <conio.h>#include <stdlib.h>#include <string.h>#define MIN 1#define MAX 30#define LEN sizeof(struct Hotel)/用LEN代替结构体的"长度"void regeist();void out_information();void search_number();v

2、oid 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

3、=(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->n

4、ext = 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")

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

6、9;: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 ("无

7、法打开文件!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,

8、 *pa ;head=load();printf ("n请输入需要查看的房间序号:(%d%d):",MIN,MAX);scanf ("%d",&room_number);pa= head->next;if (room_number<MIN|room_number>MAX)printf ("anError!");return ;doif (pa)if(room_number=pa->room_number)/如果找到相应信息,则输出printf ("n");printf ("

9、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);p

10、rintf ("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):

11、",MIN,MAX);scanf ("%d",&room_number);pa= head->next;if (room_number<MIN|room_number>MAX)printf (" 无此房间!");return;continue ;pa = pa->next;elseprintf ("n该房间还没有旅客入住");return;while(1);void show_all()/戴雨晨:定义是show_all函数,用来显示所有旅客信息struct Hotel *head, *pa ;

12、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

13、 ("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_nam

14、e函数,用来完成查看某一旅客的信息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_

15、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 (&qu

16、ot;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",inn

17、ame);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 ("

18、;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"

19、);getch();exit(0);printf ("n请登记入住信息!n");printf ("请选择房间号(%d%d):",MIN,MAX);scanf ("%d",&number);if (number<MIN|number>MAX)printf ("无此房间!");return;p1->room_number=number ;/在该房间没有旅客时,登记入住printf ("name:t");scanf ("%s",&p1->na

20、me);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->in

21、month,&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登记旅客入住信息成功!");

22、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_number<MIN|room_number>MAX)printf (&q

23、uot;无此房间!");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

24、);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

25、,MAX);scanf ("%d",&newroom_number);if (newroom_number<MIN|newroom_number>MAX)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.

26、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 ;doif (pa)if(strcmp(inname,pa->name)=0)printf

温馨提示

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

评论

0/150

提交评论