用c写的酒店客房登记管理系统
废话不过说,直接看代码
#include<string.h> #include<stdlib.h> #include<stdio.h> #include<conio.h>#include<Windows.h>
typedef struct tagCustomer
{ char m_ID[19]; /*身份证号码*/ char m_name[10]; /*顾客姓名*/ int m_age; /*顾客年龄*/ char m_sex[6]; /*顾客性别*/ int num;
}Customer; /*顾客结构*/ typedef struct tagRoom
{ int m_num; /*房间号*/ int m_floor; /*楼层*/ int m_price; /*价格*/ int m_use; /*是否已入住*/
}Room; /*房间结构*/
int i,j=0,age,num,floor,price,use,n;
int reg =0;
Customer cus[5];
Room r[5];
int count=5;
char ID[18],name[10],sex[6];
FILE *fproom;
FILE *fpcustomer; /*函数定义部分*/void color(short x) {if (x >= 0 && x <= 15)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x);elseSetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
}void PROGRESS() {system("cls");printf("\n\n\n");color(15);printf("\t\t\t\t*************加载中*************\n");color(16);printf("\n\n");color(2);printf("-----------------------------------------------------------------------------------------------------\n");char buf[103];memset(buf, ' ', sizeof(buf));buf[0] = '[';buf[101] = ']';buf[102] = '\0';int i = 1;char index[6] = "-\\|/\0";while (i <= 100) {buf[i] = '>';printf("%s[%d%%][%c]\r", buf, i, index[i % 4]);fflush(stdout);Sleep(100);i++;}color(4);printf("\t\t\t\t 加载完成 \n");printf("-----------------------------------------------------------------------------------------------------\n");color(16);system("pause");return;
}void dengji() /*顾客登记部分*/
{ if(count<=5) { printf("请输入身份证号(18位数字):"); scanf("%s",&cus[j].m_ID); printf("请输入姓名(10位字符)"); scanf("%s",&cus[j].m_name); printf("请输入年龄(数字型)"); scanf("%d",&cus[j].m_age); printf("请输入性别(男或女):"); scanf("%s",&cus[j].m_sex); } else { printf("\n 存储空间已满!"); } printf("\n\r顾客可以住在:"); printf("\n\r房间号 楼层 价格 是否空闲(1:空闲0:已使用)"); for(i=0;i<count;i++) { if(r[i].m_use==1) { printf("\n\r%d %d %d %d ",r[i].m_num,r[i].m_floor,r[i].m_price,r[i].m_use); } } printf("\n\r请你输入房间号:"); scanf("%d",&num); reg = 0; for(i=0;i<count;i++) { if(r[i].m_use==1&&r[i].m_num==num) { r[i].m_use = 0; printf("\n 登记成功!\n"); cus[j].num=r[i].m_num ; j=j+1; reg=1; } } if(reg==0) { printf("\n 登记失败!\n"); } } void chaxunxinxi() /*顾客信息部分*/
{
int t;if(count<=5) { printf("按身份证查找请按1,按姓名查找请按2\n");scanf ("%d",&t);
if(t==1){printf("请输入身份证号(18位数字):"); scanf("%s",&ID); for(i=0;i<count;i++) { if(strcmp(cus[i].m_ID,ID)==0) { printf("\n\r顾客身份证号:%s 姓名:%s 年龄:%d 性别:%s \n",cus[i].m_ID,cus[i].m_name,cus[i].m_age,cus[i].m_sex); } } }
if(t==2){printf("请输入姓名:"); scanf("%s",&name); for(i=0;i<count;i++) { if(strcmp(cus[i].m_name,name)==0) { printf("\n\r顾客身份证号:%s 姓名:%s 年龄:%d 性别:%s \n",cus[i].m_ID,cus[i].m_name,cus[i].m_age,cus[i].m_sex); } } }} else { printf("\n \n"); }
} void chaxunkongfangjian() /*查询空房间函数部分*/
{ printf("\n\r房间号 楼层 价格 是否空闲(1:空闲0:已使用)"); for(i=0;i<count;i++) { if(r[i].m_use==1) { printf("\n\r%d %d %d %d ",r[i].m_num,r[i].m_floor,r[i].m_price,r[i].m_use); } }
} void tuidingfangjian() /*顾客退订函数部分*/
{ int k; printf("\n 请输入要退房顾客身份证:"); scanf("%s",&ID); for(i=0;i<count;i++) { if(strcmp(cus[i].m_ID,ID)==0) { printf("\n\r顾客身份证号:%s 姓名:%s 年龄:%d 性别:%s \n\r已经成功退房!",cus[i].m_ID,cus[i].m_name,cus[i].m_age,cus[i].m_sex); for(k=0;k<count;k++) if(r[k].m_num==cus[i].num) r[k].m_use=1; memset(&cus[i],0,sizeof(Customer)); } }
}
void baocuntuichu() /*保存退出函数部分*/
{ fproom=fopen("room","wb+"); fwrite((void *)&r,sizeof(Room),count,fproom); fclose(fproom); fpcustomer=fopen("customer","wb+"); fwrite((void *)&r,sizeof(Room),count,fpcustomer); fclose(fpcustomer); exit(0); }
void feiyong() /*费用查询部分*/
{printf("一楼价格100元每晚 \n");printf("二楼价格200元每晚 \n");printf("三楼价格300元每晚 \n");printf("四楼价格400元每晚 \n");printf("很遗憾,我们目前只开放一楼房间\n\n\n");
}
main() /*主函数*/
{ PROGRESS();
system("color f4");fproom=fopen("room","wb"); if(fproom!=NULL) { for(i=0;i<count;i++) { int id=100; r[i].m_num=i+100; r[i].m_floor=1; r[i].m_price=100; r[i].m_use=1; } fwrite((void *)&r,sizeof(Room),count,fproom); fclose(fproom); } else { printf("\n---文件打开失败--"); } /*利用文件保存顾客信息及状态*/for(;;) { printf("\n"); printf("║ ║\n"); printf("║ 酒店管理系统 ║\n"); printf("║ 主菜单 ║\n"); printf("║ ║\n"); printf("║ 1.顾客登记 ║\n"); printf("║ 2.查询顾客信息 ║\n"); printf("║ 3.查询空房间 ║\n"); printf("║ 4.退订房间 ║\n"); printf("║ 5.保存并退出系统 ║\n"); printf("║ 6.费用查询 ║\n"); printf("║ ║\n"); printf("请输入选择项(1-6):"); scanf("%d",&n); printf("\n\n\n\n"); if(n>0&&n<=6) { switch(n) { case 1:dengji();break; /*顾客信息登记*/case 2:chaxunxinxi();break; /*查询顾客信息*/ case 3:chaxunkongfangjian();break; /*查询空房间*/ case 4:tuidingfangjian();break; /*退订房间*/ case 5:baocuntuichu(); /*保存退出*/ case 6:feiyong();break; /*费用查询*/} } else { printf("╔═════════════════════╗\n"); printf("║ ║\n"); printf("║ 输入错误! ║\n"); printf("║ 请退出! ║\n"); printf("║ ║\n"); printf("╚═════════════════════╝\n"); break; } }}
PS:用编辑器用的少,现在才发现发代码可以使用代码块,规范多了
用c写的酒店客房登记管理系统相关推荐
- nodejs+vue+elementui宾馆酒店客房信息管理系统-express
一.天一酒店客房信息管理系统的设计思路如下: 前端技术:nodejs+vue+elementui 前端:HTML5,CSS3.JavaScript.VUE 酒店客房信息管理系统根据酒店管理者情况及顾客 ...
- 【毕业设计】基于SSM的酒店客房信息管理系统 - java web
文章目录 0 前言 1 课题描述 2 相关技术 3 需求分析 3.1 系统目标 3.2 功能需求 4 系统功能描述 4.1 系统功能结构 4.2 系统功能流程图 5 系统实现 6 最后 0 前言 Hi ...
- 视频教程-ASP.NET酒店客房预订管理系统毕业设计-.NET
ASP.NET酒店客房预订管理系统毕业设计 一线ASP.NET.C.JAVA教学经验,前后参与了二十多项教学科研改革和外包项目,讲课深入浅出,条理清楚,层层剖析,环环相扣,论证严密,结构严谨,用思维的 ...
- 基于Servlet+Jsp实现的酒店客房预定管理系统分前后台
一.项目简介 本项目是一套基于Servlet+Jsp实现的酒店客房预定管理系统分前后台,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者. 包含:项目源码.数据库脚本等 ...
- 酒店客房订购管理系统+酒店官网---基于springboot+mybatis+mysql
需要加v:yzx737840137,可供学生毕设参考使用,再次强调,非免费开源,非诚勿扰 介绍 酒店客房订购管理系统软件是为了规范管理.加强管理.减轻人员的实际工作量,降低工作时间,提高工作效率,杜绝 ...
- 计算机毕业设计java_java酒店客房入住管理系统
项目介绍 本酒店管理系统毕业设计的内容旨在以管理系统的方式给人们出行提供酒店客房预订服务,从而能够更方便快捷的帮助酒店工作人员办理客户入住酒店手续,解决不必要的麻烦.如何利用先进的管理手段来提高酒店的 ...
- java做一个客房管理系统定制_java酒店客房定制管理系统
文章来源:淘论文网 发布者:毕业设计 浏览量: 该'酒店客房管理系统设计'是基于jsp+struts2平台框架,依托Tomcat服务器,使用MyEclipse开发以及SQL Server 2000 ...
- 基于JavaWeb的酒店客房预定管理系统
系统技术.环境等介绍: 前台技术:JSP.JQuery.CSS.Html.Bootstrap 后台技术(可选SSH.SSM):SSH(Spring.Struts2.Hibernate). SSM(Sp ...
- 酒店客房智能管理系统介绍
产品介绍 义利达酒店客房智能管理系统是一款集灯光控制.空调控制.服务控制和管理功能于一体的高科技产品,具有智能化.网络化.规范化和节能化的特点.系统采用先进的触摸屏直观显示,功能强大,操作方便,是酒店 ...
- 【论文写作】城市酒店入住信息管理系统中客房各项功能如何写
4.3.1 客房预定功能 1.功能描述: 主要用于客人预订客房时查询客房的详细信息.选择"客房类型",单击"搜索"按钮,即可查询酒店全部客房的状态信息:也可点击 ...
最新文章
- 17.电话号码的组合
- 明明是 64 位系统,为什么python sys.platform 显示 win 32 ?
- fofa 搜索结果提取技术分析
- arraylist转int数组_五千字的数组拓展,面试官对我竖起大拇指喊停
- 万分之二用百分之怎么表示_万分之几用百分符号怎么表示 万分之五怎么写?0.5%...
- Android安卓APK反编译逆向
- 安卓 android:windowsoftinputmode,Android:windowSoftInputMode="adjustResize"无效解决方法
- 快学好这个去给学妹修热水器
- RabbitMQ基本管理(下)
- 违规停放共享单车 319人被纳入限制骑行“黑名单”
- 对接SAP人事档完成AD账号的自动授权
- 判断文件是否损坏_Bash技巧:把变量赋值为换行符,判断文件是否以换行符结尾...
- matlab多元函数求导数,MATLAB多元函数导数 - 范文中心
- 《人生的智慧》第二章 人的自身
- Pippo已经不能只用超级来形容了
- vue 封装折叠面板加动画效果
- acm-(贪心)Codeforces Raif Round 1 (Div. 1 + Div. 2) E. Carrots for Rabbits
- 昆明理工大学计算机学院研究生录取分数线,2021昆明理工大学研究生分数线一览表(含2019-2020历年复试)...
- 分析谷歌收购摩托罗拉无线对移动产业带来的影响
- 为何axure导出html浏览器看不,Axure生成的html为什么用浏览器打不开?
热门文章
- 【GPU加速】笔记本双显卡如何切换
- android测试基站,Android iPhone 手机查看基站信息
- 爬虫之requests模块
- windows 安装应用时 弹出 another installation inprogress.you must complete that installation before continu
- 【CV】第 9 章:使用多任务深度学习的动作识别
- 使用大神写的wz框架
- codeforces 1436E Complicated Computations
- 制作带边框的圆形头像
- 吴22名广西农民工广东讨薪 返途被追砍(转载)
- 数据库及基本表的建立