如何用C语言编写一个长尾词的形式的客房管理系统?

2026-04-12 09:531阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2999个文字,预计阅读时间需要12分钟。

如何用C语言编写一个长尾词的形式的客房管理系统?

原文:本文实例为大家分享了C语言实现酒店管理系统的主要代码,供大家参考。具体内容如下:总体设计+下面来分析一下整个系统,根据上面的要求分析,可将这个系统设计为五大模块(见下)。

改写后:“本文以C语言编写的酒店管理系统为例,展示了核心代码片段,便于参考。主要内容包括:整体设计概述,并对整个系统进行简要分析。基于上述要求,该系统可划分为五大模块(详情见下)。

本文实例为大家分享了C语言实现客房管理系统的具体代码,供大家参考,具体内容如下

总体设计

下面来分析一下整个系统,根据上面的要求分析,可将这个系统设计为五大模块(见下图):登记模块,统计模块,查询模块,修改模块,退出模块。其主要功能为:注册,统计,查询,修改,退房功能。

一、头文件以及结构体

#include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> #define NUM 50    //定义常量NUM  void input();  void record(); void find(); void modify(); //建立如下结构体:  struct Client   {      char name[20];      char sex[10];    int age;    char ID_card[20];   int year;    int month;      int date;           int Room_ID;      char Tel[15];         int Price;       char Sign[10];       }Room[NUM];

二、保存和读取函数

1、保存函数用于将输入的数据保存到文本文件客户信息.txt文件中,实现数据的保存

void save() {     FILE *fp;     int i;     if ((fp=fopen("客户信息.txt","a+"))==NULL)    /*a+表示以读和追加方式打开文件客户信息.txt */     {printf("cannot open file\n");     return;}     for(i=0;i<NUM&&Room[i].age!=0;i++)     fprintf(fp,"%s %s %d %s %d %d %d %d %s %d %s\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign); //按照规定的格式保存客户信息     fclose(fp);  }

2、读取函数将文本文件客户信息.txt中的客户个人信息读取出来,从而实现统计、查询以及修改的功能。

void read() { FILE *fp; int i; if((fp=fopen("客户信息.txt","r"))==NULL)   {printf("\nCannot open file\n");     return;}   for(i=0;!feof(fp);i++)            //!feof(fp)文件读到结束时读取停止 fscanf(fp,"%s %s %d %s %d %d %d %d %s %d %s\n",&Room[i].name,&Room[i].sex, &Room[i].age,&Room[i].ID_card,&Room[i].year,&Room[i].month,&Room[i]. date,&Room[i].Room_ID,&Room[i].Tel,&Room[i].Price,&Room[i].Sign,&now_no);      fclose(fp); }

三、按照房间号查找函数

int search(int num) {     int i,k=1;     read();     for(i=0;i<NUM;i++)     {         if(Room[i].Room_ID==num)         {             return 1;             k=0;         }     }         if(k)             return 0;         return 0; }

四、登记模块

用于完成客户个人信息的输入功能并保存。本函数的功能为先要在文件中查找房间状态,若可以出借,则允许入住,把房客信息(房间号、价格、房间状态、入住人姓名、入住人身份证号等)添加到记录中,并把房间状态改为已住。

void input() {     int i,right,index;     char as;     do     {         printf("\t\t\t\t1.宾客入住登记\n");         do         {             printf("请输入房间号:\n");             scanf("%d",&i);             index=search(i);             if(index)             {printf("已有宾客居住,请重新输入!\n");             right=1;             getchar();}             else                 right=0;             Room[i-1].Room_ID=i;         }         while(right==1);         printf("\n输入宾客的姓名:");         scanf("%s",Room[i-1].name);         printf("\n输入宾客性别:");         scanf("%s",Room[i-1].sex);     printf("\n输入宾客的年龄:");     scanf("%d",&Room[i-1].age);     printf("\n输入宾客身份证号:");     scanf("%s",Room[i-1].ID_card);     printf("\n输入宾客入住时间:");     scanf("%d",&Room[i-1].year);     scanf("%d",&Room[i-1].month);     scanf("%d",&Room[i-1].date);     printf("\n输入宾客电话号:");     scanf("%s",Room[i-1].Tel);     printf("\n输入宾客房间价格:");     scanf("%d",&Room[i-1].Price);     printf("\n输入该房间是否入住(yes/no):");     scanf("%s",Room[i-1].Sign);//输入客户的个人信息     Room[i-1].Room_ID=i;     printf("\n\n");     printf("是否继续输入?(Y/N)");        //判断是否继续输入     as=getch();     system("cls");     save();     }     while(as!='n'&&as!='N');     system("cls");                //清屏 }

五、统计模块

用于统计总共入住的人数,并且可以统计某一天住了多少人以及收入多少。

void record() {     int i,j,y,m,d,s=0,money=0;     char as;     int n=0;         read();     do     {printf("\n客房入住总数: ");     fflush(stdin);         for(j=0;j<NUM;j++)         if(!strcmp(Room[j].Sign,"yes"))         n=n+1;     if(n==0)     {     printf("%d间\n",n);    //统计一共入住的人数         break;     }     printf("%d间\n",n);    //统计一共入住的人数     printf("输入查询日期: ");         //按照日期统计入住人数及收入     scanf("%d%d%d",&y,&m,&d);     fflush(stdin);     for(i=0;i<=NUM;i++)         if(((Room[i].year==y)&&(Room[i].month==m)&&(Room[i].date==d))) //判断输入的日期与数据库中的哪些日期相同         {s=s+1;         money=money+Room[i].Price;         printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 房间号:%d\n 电话号:%s\n 价格:%d\n 是否入住:%s\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign);         }         printf("\n该天客房入住总数: %d人\n",s);          printf("该天共收入%d元\n",money);         printf("\t按任意键返回主菜单.");         as=getch();         system("cls");     }     while(!as);     system("cls"); }

六、查询模块

本函数的功能为输出查询功能菜单选项,包括房间号、价格、房间标记、用户姓名、居份证查询等功能。系统根据输入的选项执行相应的函数。

void find() {     int i,a,b,c;     char str[20],as,d[20],e[10];     read ();     do     {         printf("\n按以下条件查询:1.宾客姓名 2.房间号 3.房间价格 4.身份证号 5.房间标记 6.返回主菜单\n请选择:");         scanf("%d",&a);         switch(a)         {         case 1:             do             {printf("输入要查询的宾客:");             fflush(stdin);             gets(str);             for(i=0;i<NUM;i++)             if(!strcmp(Room[i].name,str)) printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 房间号:%d\n 电话号:%s\n 房间价格:%d\n 该房间是否入住(yes/no)%s\n\n",Room[i].name,Room[i].sex,Room[i].age, Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign);             else;             }             while(!as);             break;         case 2:         do         {             printf("输入要查询的房间号:");             scanf("%d",&b);         for(i=0;i<NUM;i++)             if(Room[i].Room_ID==b) printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 房间号:%d\n 电话号:%s\n 房间价格:%d\n 该房间是否入住(yes/no)%s\n\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign);                 else;         }         while(!as);         break;         case 3:             do             {                 printf("输入要查询的房间价格:");                 scanf("%d",&c);                 for(i=0;i<NUM;i++)                     if(Room[i].Price==c)                         printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 房间号:%d\n 电话号:%s\n 房间价格:%d\n 该房间是否入住(yes/no)%s\n\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign);                     else;             }             while(!as);             break;             case 4:             do             {                 printf("输入要查询的身份证号:");                 scanf("%s",d);                 for(i=0;i<NUM;i++)                     if(!strcmp(Room[i].ID_card,d))                         printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 房间号:%d\n 电话号:%s\n 房间价格:%d\n 该房间是否入住(yes/no)%s\n\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign);                     else;             }             while(!as);             break;             case 5:             do             {                 printf("输入要查询的房间标志:");                 scanf("%s",e);                 for(i=0;i<NUM;i++)                     if(!strcmp(Room[i].Sign,e))                         printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 房间号:%d\n 电话号:%s\n 房间价格:%d\n 该房间是否入住(yes/no)%s\n\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign);                     else;             }             while(!as);             break;         case 6:system("exit");         default:         break;         }         printf("是否继续查询?(Y/N)\n");         as=getch();     }     while(as!='n'&&as!='N');         system("cls"); }

七、修改模块

本函数的功能为系统根据输入的调出该用户及所在房间信息,同时输出修改功能菜单选项,包括修改姓名、修改性别、修改年龄、修改身份证号、修改日期、修改电话号码修改房间价格。系统根据输入的选项修改用户相应的信息。

void modify() {     int i,x,a;     char as;     printf("输入要修改的房间号:");     scanf("%d",&a);     read ();     do      {     for(i=0;i<NUM;i++)         if(Room[i].Room_ID==a)         {system("cls");         printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 电话号:%s\n 价格:%d\n 是否入住:%s\n\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Tel,Room[i].Price,Room[i].Sign);     printf("请选择要修改的容:\n1.姓名 \t\t2.性别 \t\t3.年龄 \t\t4.身份证号 \n5.入住时间 \t6.电话号\t7.价格\n请选择:"); //按照不同的选择修改相应的容             scanf("%d",&x);             switch(x)             {             case 1:                     printf("\n\t\t输入新插入宾客信息\n");                 printf("\n输入宾客姓名:");                 scanf("%s",Room[i].name);break;             case 2:                 printf("\n输入宾客性别:");                 scanf("%s",&Room[i].sex);break;             case 3:                 printf("\n输入宾客的年龄:");                 scanf("%d",&Room[i].age);break;             case 4:                 printf("\n输入宾客身份证号:");                 scanf("%s",&Room[i].ID_card);break;             case 5:                 printf("\n输入宾客入住时间:");                 scanf("%d",&Room[i].year);                 scanf("%d",&Room[i].month);                 scanf("%d",&Room[i].date);break;             case 6:                 printf("\n输入宾客电话号:");                 scanf("%s",&Room[i].Tel);break;             case 7:                 printf("\n输入宾客房间价格:");                 scanf("%d",&Room[i].Price);             case 8:system("exit");             default:system("cls");             }         printf("\n");         save(); printf("\n 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 手机号:%s\n 价格:%d\n 是否入住:%s\n", Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Tel,Room[i].Price,Room[i].Sign);         break;         }as=getch();     }while(!as);     system("cls"); }

八、退房模块

本函数的功能根据输入的房间号判断该房间入住状态,若有宾客居住把房间状态改为空置,把房客信息删除。

​void OutRoom()      //退房函数 {     int i,j;     system("cls");     printf("                                    退房管理\n");     printf("请输入房间号:\n");     scanf("%d",&i);     printf("确认要退%d号房吗?(1:Y/0:N)",i);     scanf("%d",&j);     if(j==1)     {         if(Room[i-1].Room_ID==i)         {             Room[i-1].Room_ID=0; strcpy(Room[i-1].name," "); strcpy(Room[i-1].sex," "); Room[i-1].age=0; strcpy(Room[i-1].ID_card," "); Room[i-1].year=0; Room[i-1].month=0; Room[i-1].date=0; strcpy(Room[i-1].Tel," "); strcpy(Room[i-1].Sign,"no");             save();             system("cls");             printf("退房成功\n");         }         else         {             system("cls");             printf("该房间为空房\n");         }     }     printf("要返回首页吗?(1:Y,0:N)");     scanf("%d",&j);     if(j==0)     {         OutRoom();     }     system("cls"); }

九、主函数​

int main() {     int as; start:     do     {         printf("\t***********************************");         printf("\n\t\t欢迎使用客房管理系统\n");         printf("\n\t\t|   1.宾客入住登记   |\n\t\t|   2.统计宾客信息   |\n\t\t|   3.查询宾客信息   |\n\t\t|   4.修改宾客信息   |\n\t\t|   5.退房系统       |\n\t\t|   6.退出           |\n");         printf("\t***********************************\n");         printf("\t\t选择功能选项: ");    //选择语句用于选择不同的模块         fflush(stdin);         scanf("%d",&as);         switch(as)         {case 1:system("cls");input();break;         case 2:system("cls");record();break;         case 3:system("cls");find();break;         case 4:system("cls");modify();break;         case 5:system("cls");OutRoom();break;         case 6:system("exit");printf("成功退出系统\n");exit(0);         default:system("cls");goto start;}     }while(1);  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

如何用C语言编写一个长尾词的形式的客房管理系统?

本文共计2999个文字,预计阅读时间需要12分钟。

如何用C语言编写一个长尾词的形式的客房管理系统?

原文:本文实例为大家分享了C语言实现酒店管理系统的主要代码,供大家参考。具体内容如下:总体设计+下面来分析一下整个系统,根据上面的要求分析,可将这个系统设计为五大模块(见下)。

改写后:“本文以C语言编写的酒店管理系统为例,展示了核心代码片段,便于参考。主要内容包括:整体设计概述,并对整个系统进行简要分析。基于上述要求,该系统可划分为五大模块(详情见下)。

本文实例为大家分享了C语言实现客房管理系统的具体代码,供大家参考,具体内容如下

总体设计

下面来分析一下整个系统,根据上面的要求分析,可将这个系统设计为五大模块(见下图):登记模块,统计模块,查询模块,修改模块,退出模块。其主要功能为:注册,统计,查询,修改,退房功能。

一、头文件以及结构体

#include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> #define NUM 50    //定义常量NUM  void input();  void record(); void find(); void modify(); //建立如下结构体:  struct Client   {      char name[20];      char sex[10];    int age;    char ID_card[20];   int year;    int month;      int date;           int Room_ID;      char Tel[15];         int Price;       char Sign[10];       }Room[NUM];

二、保存和读取函数

1、保存函数用于将输入的数据保存到文本文件客户信息.txt文件中,实现数据的保存

void save() {     FILE *fp;     int i;     if ((fp=fopen("客户信息.txt","a+"))==NULL)    /*a+表示以读和追加方式打开文件客户信息.txt */     {printf("cannot open file\n");     return;}     for(i=0;i<NUM&&Room[i].age!=0;i++)     fprintf(fp,"%s %s %d %s %d %d %d %d %s %d %s\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign); //按照规定的格式保存客户信息     fclose(fp);  }

2、读取函数将文本文件客户信息.txt中的客户个人信息读取出来,从而实现统计、查询以及修改的功能。

void read() { FILE *fp; int i; if((fp=fopen("客户信息.txt","r"))==NULL)   {printf("\nCannot open file\n");     return;}   for(i=0;!feof(fp);i++)            //!feof(fp)文件读到结束时读取停止 fscanf(fp,"%s %s %d %s %d %d %d %d %s %d %s\n",&Room[i].name,&Room[i].sex, &Room[i].age,&Room[i].ID_card,&Room[i].year,&Room[i].month,&Room[i]. date,&Room[i].Room_ID,&Room[i].Tel,&Room[i].Price,&Room[i].Sign,&now_no);      fclose(fp); }

三、按照房间号查找函数

int search(int num) {     int i,k=1;     read();     for(i=0;i<NUM;i++)     {         if(Room[i].Room_ID==num)         {             return 1;             k=0;         }     }         if(k)             return 0;         return 0; }

四、登记模块

用于完成客户个人信息的输入功能并保存。本函数的功能为先要在文件中查找房间状态,若可以出借,则允许入住,把房客信息(房间号、价格、房间状态、入住人姓名、入住人身份证号等)添加到记录中,并把房间状态改为已住。

void input() {     int i,right,index;     char as;     do     {         printf("\t\t\t\t1.宾客入住登记\n");         do         {             printf("请输入房间号:\n");             scanf("%d",&i);             index=search(i);             if(index)             {printf("已有宾客居住,请重新输入!\n");             right=1;             getchar();}             else                 right=0;             Room[i-1].Room_ID=i;         }         while(right==1);         printf("\n输入宾客的姓名:");         scanf("%s",Room[i-1].name);         printf("\n输入宾客性别:");         scanf("%s",Room[i-1].sex);     printf("\n输入宾客的年龄:");     scanf("%d",&Room[i-1].age);     printf("\n输入宾客身份证号:");     scanf("%s",Room[i-1].ID_card);     printf("\n输入宾客入住时间:");     scanf("%d",&Room[i-1].year);     scanf("%d",&Room[i-1].month);     scanf("%d",&Room[i-1].date);     printf("\n输入宾客电话号:");     scanf("%s",Room[i-1].Tel);     printf("\n输入宾客房间价格:");     scanf("%d",&Room[i-1].Price);     printf("\n输入该房间是否入住(yes/no):");     scanf("%s",Room[i-1].Sign);//输入客户的个人信息     Room[i-1].Room_ID=i;     printf("\n\n");     printf("是否继续输入?(Y/N)");        //判断是否继续输入     as=getch();     system("cls");     save();     }     while(as!='n'&&as!='N');     system("cls");                //清屏 }

五、统计模块

用于统计总共入住的人数,并且可以统计某一天住了多少人以及收入多少。

void record() {     int i,j,y,m,d,s=0,money=0;     char as;     int n=0;         read();     do     {printf("\n客房入住总数: ");     fflush(stdin);         for(j=0;j<NUM;j++)         if(!strcmp(Room[j].Sign,"yes"))         n=n+1;     if(n==0)     {     printf("%d间\n",n);    //统计一共入住的人数         break;     }     printf("%d间\n",n);    //统计一共入住的人数     printf("输入查询日期: ");         //按照日期统计入住人数及收入     scanf("%d%d%d",&y,&m,&d);     fflush(stdin);     for(i=0;i<=NUM;i++)         if(((Room[i].year==y)&&(Room[i].month==m)&&(Room[i].date==d))) //判断输入的日期与数据库中的哪些日期相同         {s=s+1;         money=money+Room[i].Price;         printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 房间号:%d\n 电话号:%s\n 价格:%d\n 是否入住:%s\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign);         }         printf("\n该天客房入住总数: %d人\n",s);          printf("该天共收入%d元\n",money);         printf("\t按任意键返回主菜单.");         as=getch();         system("cls");     }     while(!as);     system("cls"); }

六、查询模块

本函数的功能为输出查询功能菜单选项,包括房间号、价格、房间标记、用户姓名、居份证查询等功能。系统根据输入的选项执行相应的函数。

void find() {     int i,a,b,c;     char str[20],as,d[20],e[10];     read ();     do     {         printf("\n按以下条件查询:1.宾客姓名 2.房间号 3.房间价格 4.身份证号 5.房间标记 6.返回主菜单\n请选择:");         scanf("%d",&a);         switch(a)         {         case 1:             do             {printf("输入要查询的宾客:");             fflush(stdin);             gets(str);             for(i=0;i<NUM;i++)             if(!strcmp(Room[i].name,str)) printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 房间号:%d\n 电话号:%s\n 房间价格:%d\n 该房间是否入住(yes/no)%s\n\n",Room[i].name,Room[i].sex,Room[i].age, Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign);             else;             }             while(!as);             break;         case 2:         do         {             printf("输入要查询的房间号:");             scanf("%d",&b);         for(i=0;i<NUM;i++)             if(Room[i].Room_ID==b) printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 房间号:%d\n 电话号:%s\n 房间价格:%d\n 该房间是否入住(yes/no)%s\n\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign);                 else;         }         while(!as);         break;         case 3:             do             {                 printf("输入要查询的房间价格:");                 scanf("%d",&c);                 for(i=0;i<NUM;i++)                     if(Room[i].Price==c)                         printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 房间号:%d\n 电话号:%s\n 房间价格:%d\n 该房间是否入住(yes/no)%s\n\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign);                     else;             }             while(!as);             break;             case 4:             do             {                 printf("输入要查询的身份证号:");                 scanf("%s",d);                 for(i=0;i<NUM;i++)                     if(!strcmp(Room[i].ID_card,d))                         printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 房间号:%d\n 电话号:%s\n 房间价格:%d\n 该房间是否入住(yes/no)%s\n\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign);                     else;             }             while(!as);             break;             case 5:             do             {                 printf("输入要查询的房间标志:");                 scanf("%s",e);                 for(i=0;i<NUM;i++)                     if(!strcmp(Room[i].Sign,e))                         printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 房间号:%d\n 电话号:%s\n 房间价格:%d\n 该房间是否入住(yes/no)%s\n\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign);                     else;             }             while(!as);             break;         case 6:system("exit");         default:         break;         }         printf("是否继续查询?(Y/N)\n");         as=getch();     }     while(as!='n'&&as!='N');         system("cls"); }

七、修改模块

本函数的功能为系统根据输入的调出该用户及所在房间信息,同时输出修改功能菜单选项,包括修改姓名、修改性别、修改年龄、修改身份证号、修改日期、修改电话号码修改房间价格。系统根据输入的选项修改用户相应的信息。

void modify() {     int i,x,a;     char as;     printf("输入要修改的房间号:");     scanf("%d",&a);     read ();     do      {     for(i=0;i<NUM;i++)         if(Room[i].Room_ID==a)         {system("cls");         printf(" 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 电话号:%s\n 价格:%d\n 是否入住:%s\n\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Tel,Room[i].Price,Room[i].Sign);     printf("请选择要修改的容:\n1.姓名 \t\t2.性别 \t\t3.年龄 \t\t4.身份证号 \n5.入住时间 \t6.电话号\t7.价格\n请选择:"); //按照不同的选择修改相应的容             scanf("%d",&x);             switch(x)             {             case 1:                     printf("\n\t\t输入新插入宾客信息\n");                 printf("\n输入宾客姓名:");                 scanf("%s",Room[i].name);break;             case 2:                 printf("\n输入宾客性别:");                 scanf("%s",&Room[i].sex);break;             case 3:                 printf("\n输入宾客的年龄:");                 scanf("%d",&Room[i].age);break;             case 4:                 printf("\n输入宾客身份证号:");                 scanf("%s",&Room[i].ID_card);break;             case 5:                 printf("\n输入宾客入住时间:");                 scanf("%d",&Room[i].year);                 scanf("%d",&Room[i].month);                 scanf("%d",&Room[i].date);break;             case 6:                 printf("\n输入宾客电话号:");                 scanf("%s",&Room[i].Tel);break;             case 7:                 printf("\n输入宾客房间价格:");                 scanf("%d",&Room[i].Price);             case 8:system("exit");             default:system("cls");             }         printf("\n");         save(); printf("\n 姓名:%s\n 性别:%s\n 年龄:%d\n 身份证号:%s\n 入住时间:%d年%d月%d日\n 手机号:%s\n 价格:%d\n 是否入住:%s\n", Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Tel,Room[i].Price,Room[i].Sign);         break;         }as=getch();     }while(!as);     system("cls"); }

八、退房模块

本函数的功能根据输入的房间号判断该房间入住状态,若有宾客居住把房间状态改为空置,把房客信息删除。

​void OutRoom()      //退房函数 {     int i,j;     system("cls");     printf("                                    退房管理\n");     printf("请输入房间号:\n");     scanf("%d",&i);     printf("确认要退%d号房吗?(1:Y/0:N)",i);     scanf("%d",&j);     if(j==1)     {         if(Room[i-1].Room_ID==i)         {             Room[i-1].Room_ID=0; strcpy(Room[i-1].name," "); strcpy(Room[i-1].sex," "); Room[i-1].age=0; strcpy(Room[i-1].ID_card," "); Room[i-1].year=0; Room[i-1].month=0; Room[i-1].date=0; strcpy(Room[i-1].Tel," "); strcpy(Room[i-1].Sign,"no");             save();             system("cls");             printf("退房成功\n");         }         else         {             system("cls");             printf("该房间为空房\n");         }     }     printf("要返回首页吗?(1:Y,0:N)");     scanf("%d",&j);     if(j==0)     {         OutRoom();     }     system("cls"); }

九、主函数​

int main() {     int as; start:     do     {         printf("\t***********************************");         printf("\n\t\t欢迎使用客房管理系统\n");         printf("\n\t\t|   1.宾客入住登记   |\n\t\t|   2.统计宾客信息   |\n\t\t|   3.查询宾客信息   |\n\t\t|   4.修改宾客信息   |\n\t\t|   5.退房系统       |\n\t\t|   6.退出           |\n");         printf("\t***********************************\n");         printf("\t\t选择功能选项: ");    //选择语句用于选择不同的模块         fflush(stdin);         scanf("%d",&as);         switch(as)         {case 1:system("cls");input();break;         case 2:system("cls");record();break;         case 3:system("cls");find();break;         case 4:system("cls");modify();break;         case 5:system("cls");OutRoom();break;         case 6:system("exit");printf("成功退出系统\n");exit(0);         default:system("cls");goto start;}     }while(1);  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

如何用C语言编写一个长尾词的形式的客房管理系统?