文章目录

  • 前言
    • 项目简介
  • 涉及知识点
  • 源码获取方法:
  • 系统登陆界面
  • 系统入口
  • 订房实现
  • 入住登记
  • 源码获取方法:

前言

基于c&c++课程设计-宾馆客房管理系统(附源码+可执行程序)

非常完整的一个项目,可以作为课程设计去学习。

本系统的完整源码在文章结尾处,大家自行获取即可。

项目简介

宾馆客房管理系统
初始化80个房间的信息,分四个等级。
验证用户登陆,登陆成功显示欢迎信息。
根据用户的选择执行不同的功能。
用户名或密码输入有误,请重新输入!
请选择服务类别:订房、入住、退房还是查询。
1->定房 2->入住 3->退房 4->查询。

涉及知识点

文件读写、内存管理、结构体定义、基本数据结构、高级格式化输入输出。

源码获取方法:

需要完整源码的朋友,希望你能点赞+收藏+评论,然后私信我即可~

系统登陆界面

代码如下:

void welcome()       //验证用户登陆,登陆成功显示欢迎信息
{char name[4],code[7];cout<<"请输入用户名和密码(以空格隔开):\n"; cin>>name>>code;while((strcmp(name,"000")!=0)||(strcmp(code,"666666")!=0)){cout<<"用户名或密码输入有误,请重新输入!\n";cin>>name>>code;}cout<<endl;cout<<endl;cout<<"                      ▲***************************▲\n"; cout<<"                           △ 欢迎使用***系统!△\n"; cout<<"                      ▲***************************▲\n"; cout<<endl;
}

系统入口

代码如下():

void enter()
{int kind_of_service;cout<<"请选择服务类别:订房、入住、退房还是查询? \n"; cout<<" 1->定房  2->入住  3->退房  4->查询:  ";cin>>kind_of_service; if((kind_of_service>4) || (kind_of_service<1)) {cout<<"您的输入有误,请重试!\n"; cin>>kind_of_service;} else switch(kind_of_service) {case 1: book_room();break;
case 2: check_in();break;
case 3: check_out();break;
case 4: inquire();break;}
}

订房实现

void book_room()
{customer[i]=new Customer;int room_standard,day;cout<<"请您选择预定房间的标准:\n"; cout<<"1.单人间/天150元\n2.双人间/天200元\n3.标准间/天300元\n4.总统套房/天600元\n"; cin>>room_standard; cout<<"请输入预定天数\n"; cin>>day; customer[i]->set_day(day);switch(room_standard) { int n;case 1:cout<<"住房费用总共为: "<<day*150<<"元\n";     //计算住房费用for(n=0;n<20;n++)                                 //从第一个级别的房间中查找一个空闲的房间{if(room[n].state==0)                                //state=0表示该住房没有被预定的{cout<<"预定成功★房间号码为: "<<room[n].number<<endl;room[n].state=1;customer[i]->set_room_number(room[n].number);break;}}break; case 2:cout<<"住房费用总共为: "<<day*200<<" 元\n"; for(n=20;n<40;n++){if(room[n].state==0){cout<<"预定成功★房间号码为: "<<room[n].number<<endl;room[n].state=1;customer[i]->set_room_number(room[n].number);break;}}break; case 3:cout<<"住房费用总共为: "<<day*300<<" 元\n"; for(n=40;n<60;n++){if(room[n].state==0){cout<<"预定成功★房间号码为: "<<room[n].number<<endl;room[n].state=1;customer[i]->set_room_number(room[n].number);break;}}break; case 4:cout<<"住房费用总共为: "<<day*600<<"元\n"; for(n=60;n<80;n++){if(room[n].state==0){cout<<"预定成功★房间号码为: "<<room[n].number<<endl;room[n].state=1;customer[i]->set_room_number(room[n].number);break;}}break;   }  i++;  //住房的顾客数加1
}

入住登记

void check_in()
{char name1[10],id1[19];int ding_or_no,prepaid;cout<<"该顾客订房了吗? (1->订了  2->没订) ";cin>>ding_or_no;if(ding_or_no==1){cout<<"请输入顾客的姓名:"<<endl;cin>>name1;cout<<"请输入顾客的身份证号码:"<<endl;cin>>id1;for(int j=0;j<=i;j++){if((strcmp(customer[j]->get_name(),name1)==0)&&(strcmp(customer[j]->get_ID(),id1)==0))  //查找该顾客的定房信息{int num=customer[j]->get_room_number();  //取得定房的房间号cout<<"顾客"<<name1<<"今天入住本宾馆! 房间号码为: "<<num<<endl;switch(num/100){case 6:prepaid=customer[j]->get_day()*150;customer[j]->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!"<<endl; //开始收费room[num%100-1].state=2;                  //修改房间状态为入住状态break;case 7:prepaid=customer[j]->get_day()*200;customer[j]->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!"<<endl;room[19+num%100].state=2;break;case 8:prepaid=customer[j]->get_day()*300;customer[j]->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!"<<endl;room[39+num%100].state=2;break;case 9:prepaid=customer[j]->get_day()*600;customer[j]->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!"<<endl;room[59+num%100].state=2;break;}break;} }} else{customer[i]=new Customer;int room_standard,day;cout<<"请您选择预定房间的标准:\n"; cout<<"1.单人间/天150元\n2.双人间/天200元\n3.标准间/天300元\n4.总统套房/天600元\n"; cin>>room_standard; cout<<"请输入住宿天数\n"; cin>>day; customer[i]->set_day(day);switch(room_standard) { int n;case 1:prepaid=day*150;customer[i]->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!\n"; for(n=0;n<20;n++){if(room[n].state==0){cout<<"入住房间号码为: "<<room[n].number<<endl;room[n].state=2;customer[i]->set_room_number(room[n].number);break;}}break; case 2:prepaid=day*200;customer[i]->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!\n"; for(n=20;n<40;n++){if(room[n].state==0){cout<<"入住房间号码为: "<<room[n].number<<endl;room[n].state=2;customer[i]->set_room_number(room[n].number);break;}}break; case 3:prepaid=day*300;customer[i]->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!\n"; for(n=40;n<60;n++){if(room[n].state==0){cout<<"入住房间号码为: "<<room[n].number<<endl;room[n].state=2;customer[i]->set_room_number(room[n].number);break;}}break; case 4:prepaid=day*600;customer[i]->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!\n"; for(n=60;n<80;n++){if(room[n].state==0){cout<<"入住房间号码为: "<<room[n].number<<endl;room[n].state=2;customer[i]->set_room_number(room[n].number);break;}}break;   }  i++;}
}

源码获取方法:

需要完整源码的朋友,希望你能点赞+收藏+评论,然后私信我即可~

基于c++课程设计-宾馆客房管理系统(附源码)相关推荐

  1. [附源码]java+ssm计算机毕业设计业俊宾馆客房管理系统【源码+数据库+LW+部署】

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  2. 基于jsp+servlet+mysql的酒店管理系统(附源码)

    本系统是基于jsp+servlet+mysql的前后端分离的酒店管理系统,前后端分离是指前端和后端分别是两个独立存在的项目,能独立运行.没有前端项目,后端也能运行且进行数据管理,没有后端项目,前端也能 ...

  3. 基于Springboot开发实现的图书管理系统(附源码)

    图书管理系统 ,使用当前最为流行的 SpringBoot 框架,可作为springboot的入门项目练习使用,也可稍加改进做一个毕业设计项目. 一.相关技术栈 前端: Thymeleaf.Layui. ...

  4. 用Python实现基于人脸识别的门禁管理系统(附源码)

    项目介绍 基于人脸识别的门禁管理系统 (Python+Django+RESTframework+JsonWebToken+Redis+Dlib) 该项目为宿舍门禁系统管理,并额外加入宿舍管理.水电费管 ...

  5. 【课程设计】通讯录管理系统(源码 + 详解)

  6. 【课程设计】银行管理系统(源码 + 详解)

  7. Java课程设计——学生信息管理系统(源码)

    项目简介 该项目可以分为三个模块:登录模块.主页面模块.信息储存模块.本系统完成了基本所需功能,界面清晰,操作简单又实用,基本满足了学校对学生信息的增添.查询.修改和删除等功能,且具有登录系统使该系统 ...

  8. C++课程设计实训_基于多态书籍信息管理系统的设计与实现、附源码、有过程截图

    C++课程设计实训_基于多态书籍信息管理系统的设计与实现.附源码,有过程截图 书籍信息管理系统的设计与实现(基于多态) 学生姓名: 学 号: 指导老师: 所 在 系: 专 业: 班 级: C++课程设 ...

  9. JAVA计算机毕业设计猎头公司业务管理系统的设计与实现(附源码、数据库)

    JAVA计算机毕业设计猎头公司业务管理系统的设计与实现(附源码.数据库) 目运行 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也 ...

最新文章

  1. Spring Data JPA(官方文档翻译)
  2. 转挣扎的菜鸟 - 当OD不能装载也不能附加程序时
  3. MIT研发无人机仓库管理系统,或将帮沃尔玛省下几十亿美元
  4. 数据结构和算法分析:第二章 算法分析
  5. Kafka学习之(五)搭建kafka集群之Zookeeper集群搭建
  6. python:how does subclass call baseclass's __init__()
  7. 前端常用linux命令
  8. 【渝粤教育】广东开放大学 知识产权法 形成性考核 (34)
  9. 关于联合体输出的问题(是否小端模式)
  10. python 归纳 (十八)_队列Queue在多线程中使用(二)
  11. 北京的一場演出-私人行程
  12. VisualTreeHelper不仅仅只是用来查看可视化树结构的
  13. matlab聚类画图怎么做,[转载]用MATLAB做聚类分析
  14. 实现仿微信朋友圈评论输入框
  15. TP-LINK设备如何配置无线上网短信Wifi认证?
  16. 计算机屏幕显示电缆借口,电脑打不开,显示电缆线没有连接是什么意思?
  17. 006 window7或虚拟机上不了网或DNS出问题
  18. 最近程序员频繁被抓,如何避免面向监狱编程!?
  19. 从GPT到chatGPT(三):GPT3(一)
  20. Hadoop 从入门到精通----leo学习编程不良人视频的笔记--part01

热门文章

  1. 服务器虚拟机怎么选择iso文件位置,Hyper-V 虚拟机的光盘镜像文件路径 (.ISO) 不支持网络映射盘符或 UNC 路径?...
  2. 什么是聚合路由器?聚合路由器支持的链路类型有哪些?
  3. python文本挖掘与分析:热剧《延禧攻略》用户评论分析
  4. mysql数据库的通配符_数据库MySQL 通配符与模式匹配正则表达式
  5. css镶嵌,CSS3 图片的镶嵌特效
  6. 夏普s2 Android p,荣耀V9Play和夏普S2全面评测对比 看完这些在决定
  7. 为什么你背着我爱别人
  8. 重装上阵怎么造简便机器人_重装上阵怎么做机器人 机器人制造技巧讲解
  9. HBase 列族数据库
  10. 笔记本 当办公文件服务器,学会这招,出差办公再也不用带笔记本电脑!