iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言实现酒店管理系统
  • 482
分享到

C语言实现酒店管理系统

2024-04-02 19:04:59 482人浏览 八月长安
摘要

本文实例为大家分享了C语言实现酒店管理系统的具体代码,供大家参考,具体内容如下 系统框架: 代码: #include <stdio.h> #include <st

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

系统框架:

代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int dan=988,shuang=1299,tao=2998;//初始房间价格
int sdan=1000,sshuang=600,stao=200;//初始房间数量
int Day;//天数
int num=0;//客户数量
long N=10000000;//现金流
struct DINGDAN//订单结构体
{
    long hao;//订单号
    struct YHXX *p;//客户信息结构体地址
};
struct DINGDAN Dingdan[2000];
struct YHXX//客户信息结构体
{
    char ID[18];
    char name[10];
    char sex;//性别
    int rooms;//房间数
    char rooml;//房间类型
    int rday[3];//入住日期
    int sday;//住宿时间
    long dingdanhao;//订单号
};
struct YHXX yhxx[2000];
void zhucaidan()//主菜单
{
    printf("\n\n");
    printf("\t\t******大壮酒店管理系统******\n");
    printf("\t\t*     1.:用户信息查询      *\n");
    printf("\t\t*     2.:客房经营管理      *\n");
    printf("\t\t*     3.:客房管理          *\n");
    printf("\t\t****************************\n\n");
}
void caidan1()//用户信息查询菜单
{
    printf("\n");
    printf("\t\t--------用户信息查询--------\n");
    printf("\t\t*     1.:按订单号查询      *\n");
    printf("\t\t*     2.:按姓名查询        *\n");
    printf("\t\t*     3.:按身份证号查询    *\n");
    printf("\t\t*     4.:用户信息目录      *\n");
    printf("\t\t----------------------------\n\n");
}
void caidan2()//客房经营管理菜单
{
    printf("\n");
    printf("\t\t--------客房经营管理--------\n");
    printf("\t\t*     1.:预定客房或登记入住*\n");
    printf("\t\t*     2.:退房操作          *\n");
    printf("\t\t*     3.:客房状态          *\n");
    printf("\t\t----------------------------\n\n");
}
void caidan3()//房间管理菜单
{
    printf("\n");
    printf("\t\t----------房间管理----------\n");
    printf("\t\t*        1.:更改房价       *\n");
    printf("\t\t*        2.:增加客房       *\n");
    printf("\t\t*        3.:减少客房       *\n");
    printf("\t\t----------------------------\n\n");
}
void save()
{
    FILE *fp;
    //int i;
    if((fp=fopen("kehu","wb"))==NULL)//打开输出文件
    {
        printf("\t\tcannot open file\n");
        return;
    }
    fseek(fp,0L,2);
    if(fwrite(&yhxx[num],sizeof(struct YHXX),1,fp)!=1)
        printf("\t\tfile write error\n");
    fclose(fp);//关闭wenj
}
void print()
{
    int i,t=0;
    FILE *fp;
    if((fp=fopen("kehu.dat","wb"))==NULL)//打开输入文件
    {
        printf("cannot open file\n");
        exit(0);
    }
    rewind(fp);//使文件位置标记返回文件开头
    for(i=0;i<num;i++)
        {
            fread(&yhxx[i],sizeof(struct YHXX),1,fp);
            printf("\t\t姓名:%s\t",yhxx[i].name);
            if(yhxx[i].sex=='Y') printf("性别: 男\n");
            else printf("性别 女\n");
            printf("\t\t身份证号:%s\n",yhxx[i].ID);
            printf("\t\t入住日期: %d %d %d",yhxx[i].rday[0],yhxx[i].rday[1],yhxx[i].rday[2]);
            printf("  入住时间: %d\n",yhxx[i].sday);
            t=1;
        }
        if(t==0) printf("\t\t  无用户信息!\n");
        fclose(fp);//关闭文件
}
void H()//更改房价
{
    int x;
    char ch;
Hto:
    printf("\t\t豪华单间:D  豪华双人:S  贵宾套房:T\n");
    printf("\t\t请输入房间类型和更改后价格: ");
    scanf("%c %d",&ch,&x);
    switch(ch)
    {
        case 'D':dan=x;break;
        case 'S':shuang=x;break;
        case 'T':tao=x;break;
        default : Goto Hto;
    }
    printf("\t\t更改后分别为:\n\t\t%d %d %d\n\t\t",dan,shuang,tao);
}
void I()//增加客房
{
    int x;
    char ch;
Ito:
    printf("\t\t豪华单间:D  豪华双人:S  贵宾套房:T\n");
    printf("\t\t请输入房间类型和增加数量: ");
    scanf("%c %d",&ch,&x);
    switch(ch)
    {
        case 'D':sdan+=x;break;
        case 'S':sshuang+=x;break;
        case 'T':stao+=x;break;
        default : goto Ito;
    }
    printf("\t\t更改后分别为:%d %d %d\n\t\t",sdan,sshuang,stao);
}
void J()//减少客房
{
    int x;
    //int sdan=1000,sshuang=600,stao=200;
    char ch;
Jto:
    printf("\t\t豪华单间:D  豪华双人:S  贵宾套房:T\n");
    printf("\t\t请输入房间类型和减少数量: ");
    scanf("%c %d",&ch,&x);
    switch(ch)
    {
        case 'D':sdan-=x;break;
        case 'S':sshuang-=x;break;
        case 'T':stao-=x;break;
        default : goto Jto;
    }
    printf("\t\t更改后分别为:%d %d %d\n\t\t",sdan,sshuang,stao);
}
void DE()//预定客房或登记入住
{
    char lroom;
    int sroom;
    int jiner=0;
    printf("\t\t订房功能\n");
    to:
    printf("\t\t豪华单间:D  豪华双人:S  贵宾套房:T\n");
    printf("\t\t请输入房间类型:");
    getchar();
    scanf("%c",&lroom);
    printf("\t\t数量:");
    scanf("%d",&sroom);
    switch(lroom)
    {
        case 'D':jiner=sroom*dan;sdan-=sroom;break;
        case 'S':jiner=sroom*shuang;sshuang-=sroom;break;
        case 'T':jiner=sroom*tao;stao-=sroom;break;
        default:goto to;
    }
    if((lroom=='D'&&sroom<=sdan)||(lroom=='S'&&sroom<=sshuang)||(lroom=='T'&&sroom<=stao))
    {
        printf("\t\t请输入您的信息: \n");
        printf("\t\t姓名: ");
        scanf("%s",yhxx[num].name);
        getchar();
        printf("\t\t性别: (男:Y  女:X) :");
        scanf("%c",&yhxx[num].sex);
        printf("\t\t身份证ID: ");
        scanf("%s",yhxx[num].ID);
        printf("\t\t入住日期: ");
        scanf("%d %d %d",&yhxx[num].rday[0],&yhxx[num].rday[1],&yhxx[num].rday[2]);
        printf("\t\t入住时间: ");
        scanf("%d",&yhxx[num].sday);
        printf("\t\t订单总额:%d\n",jiner*yhxx[num].sday);
        N+=jiner;jiner=0;
        yhxx[num].rooms=sroom;
        yhxx[num].rooml=lroom;
        yhxx[num].dingdanhao=100000+num;//生成订单号;
        save();
        Dingdan[num].hao=yhxx[num].dingdanhao;//插入订单号到订单号结构体;
        Dingdan[num].p=&yhxx[num];//将客户信息结构体地址插入到订单结构体中;
        printf("\t\t订单号:%ld\n",yhxx[num].dingdanhao);
        num++;
        printf("\t\t订购成功!\n");
    }
}
void F()//退房操作
{
    int i,j,t=0;
    char name1[10],ID1[18];
    printf("\t\t退房操作:\n");
    printf("\t\t请输入姓名: ");
    scanf("%s",name1);
    printf("\n\t\t请输入身份证号:");
    scanf("%s",ID1);
    for(i=0;i<num;i++)
    {
        if(strcmp(name1,yhxx[i].name)==0&&strcmp(ID1,yhxx[i].ID)==0)
        {
            switch(yhxx[i].rooml)
            {
                case 'D':N-=yhxx[i].rooms*dan;
                case 'S':N-=yhxx[i].rooms*shuang;
                case 'T':N-=yhxx[i].rooms*tao;
            }
            for(j=i-1;i<num;j++,i++)
            {
               strcpy(yhxx[j].ID,yhxx[i].ID);
               strcpy(yhxx[j].name,yhxx[i].name);
               yhxx[j].sex=yhxx[i].sex;
               yhxx[j].rooms=yhxx[i].rooms;
               yhxx[j].rooml=yhxx[i].rooml;
               yhxx[j].sday=yhxx[i].sday;
               yhxx[j].rday[0]=yhxx[i].rday[0];
               yhxx[j].rday[1]=yhxx[i].rday[1];
               yhxx[j].rday[1]=yhxx[i].rday[1];
            }
            num--;
            t=1;
            break;
        }
        else printf("\t\t查询到无此用户!");
    }
    if(t==1)printf("\t\t退房成功!\n");
}
void G()//客房状态
{
    printf("\t\t空余客房:豪华单间:%d 豪华双间:%d 豪华套房:%d\n",1000-sdan,600-sshuang,200-stao);
    printf("\t\t\t现金流:%ld\n",N);
}
void A()//按订单号查询
{
    int i,t=0;
    long h;
    struct YHXX *p0;
    printf("\t\t请输入订单号:");
    scanf("%ld",&h);
    for(i=0;i<num;i++)
    {
        if(h==Dingdan[i].hao)
        {
            p0=Dingdan[i].p;
            printf("\t\t姓名:%s\t",p0->name);
            if(p0->sex=='Y') printf("性别: 男\n");
            else printf("性别 女\n");
            printf("\t\t身份证号:%s ",p0->ID);
            switch(yhxx[i].rooml)
            {
                case 'D':printf(" 豪华单间: %d\n",p0->rooms);break;
                case 'S':printf(" 豪华双间: %d\n",p0->rooms);break;
                case 'T':printf(" 豪华套房: %d\n",p0->rooms);break;
            }
            printf("\t\t入住日期: %d %d %d",p0->rday[0],p0->rday[1],p0->rday[2]);
            printf("  入住时间: %d\n",p0->sday);
            t=1;
            break;
        }
    }
    if(t==0) printf("\t\t客户信息不存在!\n");
}
void B()//按姓名查询
{
    int i,t=0;
    FILE *fp;
    char names[10];
    printf("\t\t请输入姓名:");
    scanf("%s",names);
    if((fp=fopen("kehu.dat","wb"))==NULL)//打开文件
    {
        printf("cannot open file\n");
        exit(0);
    }
    rewind(fp);//使文件位置标记返回文件开头
    for(i=0;i<num;i++)
    {
        fread(&yhxx[i],sizeof(struct YHXX),1,fp);
        if(strcmp(names,yhxx[i].name)==0)
        {
            printf("\t\t姓名:%s\t",yhxx[i].name);
            if(yhxx[i].sex=='Y') printf("性别: 男\n");
            else printf("性别 女\n");
            printf("\t\t身份证号:%s",yhxx[i].ID);
            switch(yhxx[i].rooml)
            {
                case 'D':printf(" 豪华单间: %d\n",yhxx[i].rooms);break;
                case 'S':printf(" 豪华双间: %d\n",yhxx[i].rooms);break;
                case 'T':printf(" 豪华套房: %d\n",yhxx[i].rooms);break;
            }
            printf("\t\t入住日期: %d %d %d",yhxx[i].rday[0],yhxx[i].rday[1],yhxx[i].rday[2]);
            printf("  入住时间: %d\n",yhxx[i].sday);
            t=1;
            break;
        }
    }
    if(t==0) printf("\t\t客户信息不存在!\n");
    fclose(fp);//关闭文件
}
void C()//按身份证号查询
{
    int i,t=0;
    FILE *fp;
    char ids[10];
    printf("\t\t请输入身份证号:");
    scanf("%s",ids);
    if((fp=fopen("kehu.dat","wb"))==NULL)//打开文件
    {
        printf("cannot open file\n");
        exit(0);
    }
    rewind(fp);//使文件位置标记返回文件开头
    for(i=0;i<num;i++)
    {
        fread(&yhxx[i],sizeof(struct YHXX),1,fp);
        if(strcmp(ids,yhxx[i].ID)==0)
        {
            printf("\t\t姓名:%s\t",yhxx[i].name);
            if(yhxx[i].sex=='Y') printf("性别: 男\n");
            else printf("性别 女\n");
            printf("\t\t身份证号:%s",yhxx[i].ID);
            switch(yhxx[i].rooml)
            {
                case 'D':printf(" 豪华单间: %d\n",yhxx[i].rooms);break;
                case 'S':printf(" 豪华双间: %d\n",yhxx[i].rooms);break;
                case 'T':printf(" 豪华套房: %d\n",yhxx[i].rooms);break;
            }
            printf("\t\t入住日期: %d %d %d",yhxx[i].rday[0],yhxx[i].rday[1],yhxx[i].rday[2]);
            printf("  入住时间: %d\n",yhxx[i].sday);
            t=1;
            break;
        }
    }
    if(t==0) printf("\t\t客户信息不存在!\n");
    fclose(fp);//关闭文件
}
void zhukongzhi()//主控制函数
{
    int x1,x2;
    rrr:
    zhucaidan();//首页菜单
    printf("\t\t请输入选项:");
    scanf("%d",&x1);
    if(x1==1)//用户信息查询模块
    {
        qqq:
        caidan1();//用户信息查询菜单
        printf("\t\t请输入选项:");
        scanf("%d",&x2);
        switch(x2)
        {
            case 1:A();break;//按订单号查询
            case 2:B();break;//按姓名查询
            case 3:C();break;//按身份证号查询
            case 4:print();break;//用户目录浏览
            default: goto qqq;//重新输入
        }
    }
    else if(x1==2)//客房经营管理模块
    {
        www:
        caidan2();//客房经营管理菜单
        printf("\t\t请输入选项:");
        scanf("%d",&x2);
        switch(x2)
        {
            case 1:DE();break;//预定客房或登记入住
            case 3:F();break;//退房操作
            case 4:G();break;//客房状态
            default: goto www;//重新输入
        }
    }
    else if(x1==3)//房间管理模块
    {
        eee:
        caidan3();//客房管理菜单
        printf("\t\t请输入选项:");
        scanf("%d",&x2);
        switch(x2)
        {
            case 1:H();break;//更改房价
            case 2:I();break;//增加客房
            case 3:J();break;//减少客房
            default: goto eee;//重新输入
        }
    }
    else goto rrr;//返回主菜单重新输入
}
int main()
{
    int x=0;
    do
    {
        zhukongzhi();//进入主控制函数;
        printf("\t\t--------是否需要继续?--------\n");
        printf("\t\t----回复: 1 (继续): 0 (结束)----\n\t\t请选择:");
        scanf("%d",&x);
    }while(x);
    return 0;
}

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

--结束END--

本文标题: C语言实现酒店管理系统

本文链接: https://www.lsjlt.com/news/150542.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言实现酒店管理系统
    本文实例为大家分享了C语言实现酒店管理系统的具体代码,供大家参考,具体内容如下 系统框架: 代码: #include <stdio.h> #include <st...
    99+
    2022-11-13
  • C语言实现简单酒店管理系统
    本文实例为大家分享了C语言实现酒店管理系统的具体代码,供大家参考,具体内容如下 一、问题描述 系统应具有以下主要功能:登记入住:从键盘输入住信息:房间层数,房间号码等;查询入住情况,...
    99+
    2022-11-13
  • C语言实现酒店预订管理系统
    本文实例为大家分享了C语言实现酒店预订管理系统的具体代码,供大家参考,具体内容如下 课设要求: 客房信息管理。 客人预订及入住信息管理。 各种查询和统计功能。 本系统要有通用性、界面...
    99+
    2022-11-13
  • C语言如何实现酒店管理系统
    这篇文章主要讲解了“C语言如何实现酒店管理系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言如何实现酒店管理系统”吧!系统框架:代码:#include <stdio.h...
    99+
    2023-06-30
  • C语言如何实现简单酒店管理系统
    今天小编给大家分享一下C语言如何实现简单酒店管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、问题描述系统应具有以下...
    99+
    2023-06-29
  • C语言如何实现酒店预订管理系统
    这篇“C语言如何实现酒店预订管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言如何实现酒店预订管理系统”文章吧。课...
    99+
    2023-06-30
  • C++实现酒店管理系统
    本文实例为大家分享了C++实现酒店管理系统的具体代码,供大家参考,具体内容如下 一、先看效果 1、run 2、查询   3、入住   再查询,可以看到201有人...
    99+
    2022-11-12
  • C语言实现酒店客房管理系统课程设计
    本文实例为大家分享了C语言实现酒店客房管理系统的具体代码,供大家参考,具体内容如下 设计目标:设计一个酒店客房管理系统,用C语言实现。对该系统的要求如下: 一、需求描述 系统角色: ...
    99+
    2022-11-13
  • C++实现简单酒店管理系统
    本文实例为大家分享了C++实现简单酒店管理系统的具体代码,供大家参考,具体内容如下 酒店管理系统设计报告 一、 需求分析 题目要求如下: 某酒店有客房若干间,其中客房分为不同等级,如...
    99+
    2022-11-13
  • C#窗体实现酒店管理系统
    本文实例为大家分享了C#窗体实现酒店管理系统的具体代码,供大家参考,具体内容如下 一、概述 酒店管理系统是我们常说的MIS (Management Information Syste...
    99+
    2022-11-13
    C#酒店管理系统 C#酒店管理 C#酒店系统
  • 基于C++实现酒店管理系统
    现今大多数宾馆所提供的服务样式都各式各样,规模大小也是各有不同,但是归总下来,不可或缺的两类模块还是顾客和工作人员。由于对宾馆行业内部没有很深刻的理解,此次系统设计包括数据库和功能模...
    99+
    2022-11-13
  • 怎么用C++实现酒店管理系统
    这篇文章主要介绍“怎么用C++实现酒店管理系统”,在日常操作中,相信很多人在怎么用C++实现酒店管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用C++实现酒店管理系统”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • 如何使用C++实现酒店管理系统
    这篇文章主要介绍了如何使用C++实现酒店管理系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。现今大多数宾馆所提供的服务样式都各式各样,规模大小也是各有不同,但是归总下来,不...
    99+
    2023-06-29
  • 【C#项目】酒店管理系统-WinForm+MySQL
    文章目录 前言实现步骤 一、系统分析1、需求分析(1)用户管理(2)客人信息管理(3)客房信息管理(4)客房预定信息管理 2、系统设计3、数据库设计 二、...
    99+
    2023-09-30
    c# mysql 数据库
  • Java代码实现酒店管理系统
    我们通过学习Java基础知识,让自己正式踏入学习Java语言的行列,这篇博客是用来让我们真正的了解并应用面向对象的思想来实现的。 使用简单的Java代码实现酒店管理系统,供大家参考,...
    99+
    2022-11-13
  • Java实现简单酒店管理系统
    用Java编写一个简单的酒店管理系统,供大家参考,具体内容如下 为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。 1、该系统的用户是:酒店前台。2、酒店使用...
    99+
    2022-11-13
  • PHP酒店管理系统源码(多酒店)+数据库,酒店管理系统APP+H5+小程序预订
    酒店管理系统(多酒店) APP+H5+小程序预订 完整代码下载地址:PHP酒店管理系统源码(多酒店)+数据库 安装手册(必看) 安装手册: (1)sql在根目录(hotel.sql), 需...
    99+
    2023-08-31
    php 数据库 小程序
  • Java代码实现简单酒店管理系统
    本文实例为大家分享了Java实现简单酒店管理系统的具体代码,供大家参考,具体内容如下 为某个酒店编写程序:酒店管理系统,模拟订房、退房和打印所有房间状态等功能 1.该系统的用户是:酒...
    99+
    2022-11-13
  • 怎么用Java代码实现酒店管理系统
    本文小编为大家详细介绍“怎么用Java代码实现酒店管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Java代码实现酒店管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一. 需求分析我们如果要实...
    99+
    2023-06-30
  • Java实战之酒店人事管理系统的实现
    目录一、项目运行二、效果图三、核心代码用户管理注册登录控制层房间管理控制层订单管理控制层角色管理控制层一、项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql ...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作