广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言实现宾馆管理系统课程设计
  • 852
分享到

C语言实现宾馆管理系统课程设计

2024-04-02 19:04:59 852人浏览 独家记忆
摘要

本文实例为大家分享了C语言实现宾馆管理系统的具体代码,供大家参考,具体内容如下 课程设计题目: 宾馆管理系统 一、需求分析 近年来,科技进步不仅促进了全球旅游企业的快速增长,而且指导

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

课程设计题目: 宾馆管理系统

一、需求分析

近年来,科技进步不仅促进了全球旅游企业的快速增长,而且指导了旅游者消费观念的 更新,其中信息与通信技术的发展对酒店等企业有着深远的影响,传统的管理方式已不 能满足具有信息量大,查询量大,保存期长,要求不间断运行等特点的宾馆管理需求, 重视信息技术的发展成为我国酒店业的共识。为增强竞争能力,提高管理水平,先进的 宾馆管理系统已成为必然。宾馆管理系统可以及时了解客户信息与需求,实现宾馆管理 信息化,通过宾馆管理系统的实施可以逐步提高宾馆的现代化建设,提升员工工作效率, 良好的管理系统越来越建立服务部门的良好形象,有利于业务规范化,标准化,有利于 提高管理水平,有利于创造更高的经济效益和社会效益,使管理过程实现现代化。

二、总体设计

三、详细设计

本系统中主要实现客户信息的建立,查找,删除等方面功能。由主函数生成系统主菜单,为进入各个界面提供通道。主要为 SWITCH 开关语句进入不同的界面,输入“1”进入宾馆信息建立界面,输入“2”进入信息添加界面,输入“3”进入客户姓名查询界面,输入“4”进入客户性别查询界面,输入“5”进入房号查询界面。输入“6”进入入住时间查询界面,输入“7”进入客户信息修改界面,输入“8”进入客户信息删除界面,输入“9”进入客户信息删除界面,输入“0”退出系统。程序由 C 语言结合数据结构中建立一个线性链表的知识编程

四、调试与测试

五、用户手册

1.在主菜单输入“1”进入“宾馆信息建立界面”。此界面可建立客户的基本信息:姓名,性别,证件号,入住时间,天数,房号,押金,离开时间等,并返回主菜单。

2.宾馆信息添加功能

在主菜单输入“2”进入“宾馆信息添加界面”。此界面可以添加客户个数和客户基本信息:姓名,性别,证件号,入住时间,天数,房号,押金,离开时间等,并返回到菜单进行下一步。

3. 客户姓名查询功能

在主菜单输入“3”进入“客户姓名查询界面”。在此界面首先根据提示输入 1 表示按照姓名查找,然后输入客户姓名确定进行查询客户的基本信息并显示出来。此功能可以方便的查询到某一姓名的客户
的客房信息。

4.客户性别查询功能

在主菜单输入“4”,进入“客户性别查询界面”。在此界面可按客户的性别查询某一性别的所有客户的基本信息,此功能可以查询同一性别的客人信息,并比较不同性别客流量,以制定计划增加客流量。

5.宾馆房号查询功能

在主菜单输入“5”,进入“宾馆房号查询界面”。在此界面可按已知的房号查询客户的基本信息,此功能可以确定某房间的住入情况,若无人则显示没有该房间信息,若有人住入可根据之前建立或添加的客户信息显示出住在该房间的客人登记信息。

6.入住时间查询功能

在主菜单输入“6”,进入“入住时间查询界面”。在此界面可通过大概的入住时间查询客户登记的基本信息,此功能可以查询在同一天住入宾馆的客

7.客户信息修改功能

在主菜单输入“7”,进入“客户信息修改界面”。在此界面先通过先前的客户姓名查找到该客户信息,再根据要修改的客户姓名,修改客户信息。此功能可以方便的对需要增加住宿时间的客户进行维
护。

8.客户信息删除功能

在主菜单输入“8”,进入“客户信息删除界面”。在此界面可按客户的姓名删除客户的基本信息,使用 del()函数,输入客户姓名,确定删除按 1,此功能可以将保存时间过长现在已不需要保留
的客户的信息删除。

9.客户信息显示功能

在主菜单输入“9”,进入“客户信息显示界面”。在此界面可按客户的性别查询客户的基本信息,此功能可以将所有客户信息显示在输出界面上,工作人员可直观观察。

六.源代码

#include"stdio.h"
#include"stdlib.h" 
#include"string.h"
typedef struct
{
    char name[50];  
    char sex[50]; 
    char ID[50];
    char come[50];  
    char day[50];
    char number[50]; 
    char type[50];
    char price[50];  
    char yushou[50];
    char yajin[50];  
    char leave[50];
}datatype;
typedef struct node
{
    datatype data;  
    struct node *next; 
}listnode; 
typedef listnode *linklist;
linklist head;
listnode *p;
void Output_allInfo(linklist head);//输出所有客户信息  
void Delete_info(linklist head);//客户信息的删除 
void Info_Modify(linklist head);//按客户姓名的信息修改 
listnode *Name_Search(linklist head); //按姓名查找宾馆信息 
listnode *Sex_Search(linklist head);//按性别查找宾馆信息  
listnode *Roomnum_Search(linklist head);//按房间号查找宾馆信息
listnode *Cometime_Search(linklist head) ;//按入住时间查找 
char Display_Menu();//菜单输出函数 
listnode* Add(linklist head,int b);//增加客户信息
linklist Create(int a);//宾馆客户信息的建立  
void SaveInfoToFile(linklist head);//保存顾客信息到文件中
listnode *ReadInfoFromFile();//信息从文件读出
int main()//主函数 
{ 
    int i,a;
    for(;;) 
    { 
        switch(Display_Menu())  
        {
        case 1: printf("**2.宾馆信息的建立**\n");           
            printf("输入你想输入的数目:");         
            scanf("%d",&i);       head=Create(i); break;  
        case 2: printf("**1.从文件读入客户信息!**\n");        
            ReadInfoFromFile();             break;      
        case 3: printf("**3.宾馆信息的添加**\n");          
            printf("输入你想添加的人数:");       
            scanf("%d",&a);       
            Add(head,a); break; 
        case 4:  printf("**4.客户姓名的查询**\n");        
            p=Name_Search(head);             if(p!=NULL)       
            {       
                printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");     
                printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,      
                    p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );      
                printf("\n");  
            } 
            else printf("该用户不存在!");break;       
        case 5: printf("**5.客户性别的查询**\n");    
            p=Sex_Search(head);          
            if(p!=NULL)         
            {
                printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");   
                printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,    
                    p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );      
                printf("\n");   
            }
            else
                printf("该用户不存在!");break;  
        case 6: 
            printf("**6.客户房号的查询**\n");     
            p=Roomnum_Search(head);     
            if(p!=NULL)  
            {
                printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");   
                printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID, 
                    p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );   
                printf("\n");     
            }
            else printf("该房间信息不存在!");break; 
        case 7:
            printf("**7.客户性别的查询**\n");    
            p=Cometime_Search(head);
            if(p!=NULL)   
            {
                printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");    
                printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,
                    p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );    
                printf("\n");  
            }    
            else printf("该房间信息不存在!");break;
        case 8: printf("**8.宾馆信息的修改**\n");         
            Info_Modify(head);break; 
        case 9: printf("**9.宾馆信息的删除**\n"); 
            Delete_info(head);break;   
        case 10: printf("**10.宾馆信息的输出**\n");    
            Output_allInfo(head); break;  
        case 11:printf("11.保存顾客信息");      
            SaveInfoToFile(head); break;
            //保存顾客信息到文件中   
        case 0:printf("**0.退出**\n");     
            exit(0);   
        default: break; 
        } 
    }
    return 0; 
}
//菜单函数 
char Display_Menu() 
{  
    int  i;  
    FILE *fp;
    char ch; 
    printf("\n\n\n\n\n\n");
    printf("                         欢迎使用宾馆信息管理系统!") ;   
    if((fp=fopen("F:\\Cyy Report\\menu.txt","r"))==NULL) 
    {
        printf("菜单文件打开失败!");  
        exit(0);  
    } 
    ch=fgetc(fp);
    while(ch!=EOF) 
    {
        putchar(ch); 
        ch=fgetc(fp);
    }
    printf("\n");
    for(;;)  
    { 
        scanf("%d",&i); 
        printf("\n");  
        if(i<0||i>11) 
            printf("选择错误,重新选择:\n");   
        else break;
    }   
    return i;
}
listnode *ReadInfoFromFile() 
{ 
    FILE *fp;  
    int b; 
    fp=fopen("F:\\Cyy Report\\customer.txt","r");  
    listnode *p=NULL,*q=NULL,*head=NULL;
    p=(listnode *)malloc(sizeof(listnode));   
    head->next=p;     
    b=1;
    if(!fp)  
    {
        printf("文件打开失败!");  
        exit(0); 
    }
    else printf("文件打开成功");  
    while(!feof(fp)) 
    {  
          
        q=(listnode *)malloc(sizeof(listnode));   
        fscanf(fp,"%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID,   
            p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave); 
        p->next=q;
        q=p ;
        b++;
    }
    head=Add(head,b); 
    printf("\n"); 
    fclose(fp);  
    return head; 
}
//宾馆客户信息的建立 
linklist Create(int a)
{
    linklist head=(listnode *)malloc(sizeof(listnode));
    listnode *p,*q;  
    q=head;
    while(a--) 
    {
        p=(listnode *)malloc(sizeof(listnode)); 
        printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n "); 
        scanf("%s%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID,   
            p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave); 
        q->next=p;   
        q=p; 
    } 
    q->next=NULL; 
    return head; 
}
listnode* Add(linklist head,int b)//增加顾客信息 
{
    listnode *m,*n,*p;
    m=head;
    n=m->next;  
    while(n->next!=NULL)
    {
        m=n;  
        n=n->next; 
    }
    while(b--) 
    {
        p=(listnode *)malloc(sizeof(listnode));   
        printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n "); 
        printf("***************************\n"); 
        scanf("%s%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID,        
            p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );  
        n->next=p;
        n=p; 
    }
    n->next=NULL; 
    return head; 
}
//按姓名查找宾馆信息 
listnode *Name_Search(linklist head) 
{
    listnode *p;  
    char name[10];
    int i;  
    printf("按 1 表示姓名查找:");  
    p=head->next ; 
    scanf("%d",&i);  
    if(i==1) 
    {
        printf("输入要查询的姓名:");  
        scanf("%s",&name);
        while(p&&strcmp(p->data.name,name)>0)   
            p=p->next;   
        if(p==NULL||strcmp(p->data.name,name)<0)
            p=NULL;
    }
    else
        printf("输入错误!");  
    return p;
}
//按性别查找宾馆信息  
listnode *Sex_Search(linklist head)
{
    listnode *p; 
    char sex[10];
    int i;  
    printf("按 1 表示性别查找:");  
    scanf("%d",&i);
    p=head->next ;  
    if(i==1)  
    {
        printf("输入要查询的性别:");  
        scanf("%s",&sex); 
        while(p&&strcmp(p->data.sex,sex)>0)
            p=p->next; 
        if(p==NULL||strcmp(p->data.sex,sex)<0) 
            p=NULL;  
    }
    return p; 
}
//按房间号查找宾馆信息  
listnode *Roomnum_Search(linklist head)
{
    listnode *p;
    char number[10]; 
    int i;
    printf("按 1 表示房间号查找:");  
    p=head->next ;
    scanf("%d",&i);
    if(i==1)  
    {
        printf("输入要查询的房间号:");   
        scanf("%s",&number);
        while(p&&strcmp(p->data.number,number)>0)  
            p=p->next; 
        if(p==NULL||strcmp(p->data.number,number)<0)  
            p=NULL; 
    }
    return p; 
}
//按入住时间查找 
listnode *Cometime_Search(linklist head) 
{
    listnode *p; 
    char come[10]; 
    int i;  
    printf("按 1 表示性别查找:");  
    p=head->next ;
    scanf("%d",&i); 
    if(i==1) 
    {
        printf("输入要查询的入住时间:");  
        scanf("%s",&come); 
        while(p&&strcmp(p->data.come,come)>0) 
            p=p->next;  
        if(p==NULL||strcmp(p->data.come,come)<0)
            p=NULL; 
    }
    return p; 
}
//按客户姓名的信息修改  
void Info_Modify(linklist head) 
{  
    listnode *p;
    p=Name_Search(head);
    if(p==NULL)
    { 
        printf("宾馆信息不存在!\n");  
    }  
    else
    {
        printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");
        printf("***************************\n");   
        scanf("%s%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID,       
            p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );  printf("宾馆信息已修改!");    
    }
}
//客户信息的删除
void Delete_info(linklist head) 
{
    int i;  
    listnode *p,*q; 
    p=Name_Search(head);  
    if(p==NULL) 
    {
        printf("信息不存在!\n");   
        return;  
    }  
    else 
    {
        printf("按 1 删除:");   
        scanf("%d",&i);
        if(i==1) 
        {
            q=head;
            while(q!=NULL&&q->next!=p)  
                q=p->next;
            q->next=p->next; 
            free(p); 
            printf("信息已删除!");    
        }
    }
}
//宾馆信息的输出 
void Output_allInfo(linklist head) 
{
    listnode *p; 
    p=head;  
    printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n "); 
    while(p->next!=NULL)  { 
        
        printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->next->data.name,p->next->data.sex,p-> next->data.ID,      
            p->next->data.come,p->next->data.day,p->next->data.number,p->next->data.price,p->next->data. yajin,p->next->data.leave ); 
        p=p->next ;
    }
}
void SaveInfoToFile(linklist head) 
{ 
    FILE *fp;
    listnode *p; 
    p=head->next; 
    if(p==NULL) 
    { 
        printf("现在没有顾客信息,请先输入顾客信息!\n\n"); 
        return; 
    }
    fp=fopen("F:\\Cyy Report\\customer.txt","w");  
    if(!fp) 
    { 
        printf("文件不存在!\n");
        return;
    }
    while(p)  
    {
        fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,      p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );     
        p=p->next; 
    }  
    fclose(fp);  
    printf("文件保存成功!\n"); 
} 

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

--结束END--

本文标题: C语言实现宾馆管理系统课程设计

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

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

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

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

下载Word文档
猜你喜欢
  • C语言实现宾馆管理系统课程设计
    本文实例为大家分享了C语言实现宾馆管理系统的具体代码,供大家参考,具体内容如下 课程设计题目: 宾馆管理系统 一、需求分析 近年来,科技进步不仅促进了全球旅游企业的快速增长,而且指导...
    99+
    2022-11-13
  • 宾馆客房管理系统Mysql数据库课程设计
    引 言 随着全球经济一体化使酒店业客源更加丰富多样化,市场更加广阔多渠道的同时,酒店业更面临着日趋激烈的竞争环境和不断攀升的客户期望,迫使业内人士不断进一步寻求扩大酒店销售、改进服务质量、降低管理成本和提升客户满意度的新法宝来增强酒店的核心...
    99+
    2023-09-11
    数据库 mysql 数据库开发 navicat
  • C++课程设计之图书馆管理系统
    本文实例为大家分享了C++课程设计之图书馆管理系统的具体代码,供大家参考,具体内容如下 一.代码 #include<bits/stdc++.h> using namesp...
    99+
    2022-11-13
  • C++实现宾馆房间管理系统
    本文实例为大家分享了C++实现宾馆房间管理系统的具体代码,供大家参考,具体内容如下 一、问题描述 设计一个程序实现对宾馆房间的基本管理,可以实现:客房信息的录入功能;客人入住登记、客...
    99+
    2022-11-13
  • C语言实现学籍管理系统课程设计
    本文实例为大家分享了C语言实现学籍管理系统的具体代码,供大家参考,具体内容如下 学校的课程设计,自己完成后整理了一下。自己用链表实现的一个较简单的学籍管理系统,都是通过一些链表以及文...
    99+
    2022-11-13
  • C语言实现图书管理系统课程设计
    目录设计要求实现代码运行结果本文实例为大家分享了C语言实现图书管理系统的具体代码,供大家参考,具体内容如下 设计要求 设计图书管理系统 要求如下: 1.对书名,作者,编号,出版单位,...
    99+
    2022-11-13
  • C语言实现宿舍管理系统课程设计
    宿舍管理系统C语言源码,供大家参考,具体内容如下 内容摘要 学生宿舍管理系统时应对学生宿舍管理的现代化、网络化,逐步摆脱学生宿舍管理的人工管理方式,提高学生宿舍管理效率而开发的,它包...
    99+
    2022-11-13
  • C语言实现销售管理系统课程设计
    本文实例为大家分享了C语言实现销售管理系统的具体代码,供大家参考,具体内容如下 一.C程序设计课程设计题目简介 该设计要求学生以某公司销售管理业务为背景,设计、开发一套“...
    99+
    2022-11-13
  • C语言实现电话簿管理系统课程设计
    本文实例为大家分享了C语言课程设计:电话簿管理系统,供大家参考,具体内容如下 文件目录: 初始界面 现在显示一部分代码: //添加联系人 void add() { i...
    99+
    2022-11-12
  • C语言实现酒店客房管理系统课程设计
    本文实例为大家分享了C语言实现酒店客房管理系统的具体代码,供大家参考,具体内容如下 设计目标:设计一个酒店客房管理系统,用C语言实现。对该系统的要求如下: 一、需求描述 系统角色: ...
    99+
    2022-11-13
  • C语言实现学生学籍管理系统课程设计
    目录设计要求完整代码运行结果本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 设计要求 设计学籍管理系统 1、添加学生信息2、浏览学生信息3、查询学...
    99+
    2022-11-13
  • C语言实现学生成绩管理系统课程设计
    目录设计要求完整代码运行结果本文实例为大家分享了C语言实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 设计要求 设计学生成绩管理系统 要求如下: 1.输入学生信息2.统计学...
    99+
    2022-11-13
  • C语言实现超市信息管理系统课程设计
    本文实例为大家分享了C语言实现超市信息管理系统的具体代码,供大家参考,具体内容如下 一、 需求分析 目前商品市场的商品信息玲琅满目,货物信息的储存以及更新就变的越来越重要。因此,我们...
    99+
    2022-11-13
  • C语言实现宿舍管理课程设计
    本文实例为大家分享了C语言实现宿舍管理的具体代码,供大家参考,具体内容如下 和本编前几个程序结构差不多,比较简单直观,希望可以给你带来帮助。 #include <stdio.h...
    99+
    2022-11-13
  • C语言实现图书馆管理系统
    本文实例为大家分享了C语言实现图书馆管理系统的具体代码,供大家参考,具体内容如下 全部代码如下: #include <stdio.h> #include<str...
    99+
    2022-11-12
  • C语言实现学生宿舍信息管理系统课程设计
    本文实例为大家分享了C语言实现学生宿舍信息管理系统的具体代码,供大家参考,具体内容如下 一、问题陈述 宿舍对于大学生在校生活来说相当于家的存在,而宿舍管理又是学校后勤管理的重要环节,...
    99+
    2022-11-13
  • C语言实现通讯录系统课程设计
    本文实例为大家分享了C语言实现通讯录系统的具体代码,供大家参考,具体内容如下 设计要求 1.单位、个人信息查询2.打开、写入保存这些信息的文件 完整代码 #include <s...
    99+
    2022-11-13
  • C++实现班车管理系统课程设计
    本文实例为大家分享了C++实现班车管理系统的具体代码,供大家参考,具体内容如下 课程设计要求: 一交通公司,班车系统的数据包括如下两部分: ①班车信息:班交及车号、最大载客数、起点、...
    99+
    2022-11-13
  • C++实现图书管理系统课程设计
    本文实例为大家分享了C++实现图书管理系统的具体代码,供大家参考,具体内容如下 大一 C++课设,没有用分文件的形式,只是把菜单页面单独分开了。用的是链表,都是一些基础的东西。另外采...
    99+
    2022-11-13
  • C语言实现航空订票系统课程设计
    本文实例为大家分享了C语言实现航空订票系统的具体代码,供大家参考,具体内容如下 大一写的时候没有写注释,后来也懒得加了。在这里说一下读写文件的思路吧。 就是利用二进制将一整个结构体中...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作