C语言实现酒店管理系统
本文实例为大家分享了C语言实现酒店管理系统的具体代码,供大家参考,具体内容如下
代码如下:
#include#include #include #include #include #defineNUM1000//控制房间个数 intj; voidLoginRoom();//登记房屋 voidSearchRoom();//搜寻房屋 voidChangeRoom();//更换住房 voidOutRoom();//退房 voidsave();//保存信息 voidload();//载入信息 //structTotal structTotal { charName[20]; intSex; intAge; charIDcard[18]; inthour; intxx; intyy; intzz; }; structroom { intRoomID; charTel[11]; longPrice; intSign; intfeiyong; //structDateDatesum; structTotalTotallist; }Room[NUM]; //将房间个数写入信息 voidLoginRoom()//登记,注册客房信息函数 { inti,n,k; n=0; system("cls"); printf("用户登记\n"); for(k=0;k<=1000;k++) { printf("请输入客房号:\n"); scanf("%d",&i); if(Room[i-1].Sign==1) { printf("对不起,该房间已入住,请重新输入。\n"); Sleep(160);//延时160帧 system("cls");//清屏 return;//返回原函数 } if(n==5) { printf("\n请查询清楚客房入住信息后再来登记,谢谢"); Sleep(1500);//时间延时1.5秒 system("cls");//清屏 return; } if(Room[i-1].Sign!=1) break; } printf("房间号:%d\n",i); printf("客户姓名:"); scanf("%s",(char*)&Room[i-1].Totallist.Name); printf("性别(1.男2.女):\n"); scanf("%d",&Room[i-1].Totallist.Sex); if(Room[i-1].Totallist.Sex>2){ printf("信息错误,请重新输入"); LoginRoom(); } printf("年龄:\n"); scanf("%d",&Room[i-1].Totallist.Age); if(Room[i-1].Totallist.Age<18){ printf("未到国家法定开房年龄,禁止开房\n"); printf("请重新输入"); LoginRoom(); } printf("身份证号码:\n"); scanf("%s",&Room[i-1].Totallist.IDcard);//判断身份证信息 if(strlen(Room[i-1].Totallist.IDcard)!=18){ printf("信息错误"); LoginRoom(); } printf("联系电话:"); scanf("%s",&Room[i-1].Tel); printf("入住时间:"); scanf("%d%d%d",&Room[i-1].Totallist.xx,&Room[i].Totallist.yy,&Room[i].Totallist.zz); printf("住房时长:"); scanf("%d",&Room[i-1].Totallist.hour); printf("请选择套房(1.总统套房(300/小时)\n2.双人房(200/小时)\n3.单人房(100/小时)\n4.特价房(40/小时))\n"); scanf("%d",&Room[i-1].feiyong);////// Room[i-1].RoomID=i; switch(Room[i-1].feiyong){ case1:Room[i-1].Price=(Room[i-1].Totallist.hour)*300;break; case2:Room[i-1].Price=(Room[i-1].Totallist.hour)*200;break; case3:Room[i-1].Price=(Room[i-1].Totallist.hour)*100;break; case4:Room[i-1].Price=(Room[i-1].Totallist.hour)*40;break; } Room[i-1].Sign=1; save(); printf("恭喜,入住成功!!\n要返回首页吗?(1:Y,0:N)"); scanf("%d",&j); if(j==0) { LoginRoom(); } system("cls"); } voidsave()//将客房入住信息保存到文件中 { inti; FILE*fp; if((fp=fopen("data.txt","w"))==NULL) { printf("无法打开文件\n"); return; } fwrite(Room,sizeof(structroom),NUM,fp); printf("文件写入完成\n"); fclose(fp); } voidsave1()//将客房入住信息保存到文件中 { FILE*fp; if((fp=fopen("date.txt","w"))==NULL) { printf("无法打开文件\n"); return; } fwrite(Room,sizeof(structroom),NUM,fp); //gets(Room,sizeof(structroom),NUM,fp); //fputs(Room,sizeof(structroom),NUM,fp); printf("文件写入完成\n"); fclose(fp); } voidload()//从文件中读取客房入住信息 { FILE*fp; inti; if((fp=fopen("date.txt","r"))==NULL) { printf("不能打开文件\n"); return; } for(i=0;!feof(fp);i++)//读取文档,从零开始直到结束feof()函数 //文档的结尾都有一个隐藏字符”EOF”, {//当程序读取它的时候,就会知道文件已经到达结尾。通常使用while循环加EOF判断作为读取结束的标志。 fread(&Room[i],sizeof(structroom),1,fp);//sizeof实际上是获取了数据在内存中所占用的存储空间,以字节为单位来计数 //读取文档,存储信息 } fclose(fp);//结束工作 system("cls"); printf("文件读取成功\n"); } voidSearchRoom()//查询客房信息 { intk; system("cls"); printf("查询客房信息\n"); printf("请输入要查询的房间号码:\n"); scanf("%d",&k); if(k<=0||k>1000) { printf("对不起,未能查到任何信息。\n"); printf("请重新输入"); SearchRoom();//重新调用 } if(Room[k-1].Sign==1) { printf("姓名:%s\n",Room[k-1].Totallist.Name); if(Room[k-1].Totallist.Sex==1) { printf("性别:男\n"); } else { printf("性别:女\n"); } printf("客户年龄:%d\n",Room[k-1].Totallist.Age); printf("身份证号:%s\n",Room[k-1].Totallist.IDcard); printf("联系电话:%s\n",Room[k-1].Tel); printf("入住时间:%d/%d/%d\n",Room[k-1].Totallist.xx,Room[k-1].Totallist.yy,Room[k-1].Totallist.zz); printf("入住时长:%d\n",Room[k-1].Totallist.hour); switch(Room[k-1].feiyong){ case1:printf("总统套房(300/小时)\n");break; case2:printf("双人房(200/小时)\n");break; case3:printf("单人房(100/小时)\n");break; case4:printf("特价房(40/小时)\n");break; } printf("费用:%ld\n",Room[k-1].Price); } else { system("cls"); printf("很抱歉,没有找到该房间登记的相关信息!!\n"); } printf("要返回首页吗?(1:Y,0:N)"); scanf("%d",&j); if(j==0) { SearchRoom(); } system("cls"); } voidChangeRoom()//修改客房入住信息 { inti,n; system("cls"); printf("修改客房信息\n"); printf("请输入房间号:\n"); scanf("%d",&i); if(Room[i-1].Sign==1) { printf("\t1.修改客户姓名\n"); printf("\t2.修改客户性别\n"); printf("\t3.修改客户年龄\n"); printf("\t4.修改住房时间\n"); printf("\t5.修改住房时长(续住)\n"); printf("\t6.修改客户电话号码\n"); printf("\t7.修改客户身份证号\n"); printf("请输入要修改的项:"); scanf("%d",&n); switch(n) { case1:scanf("%s",(char*)&Room[i-1].Totallist.Name); break; case2:scanf("%d",&Room[i-1].Totallist.Sex); break; case3:scanf("%d",&Room[i-1].Totallist.Age); break; case4:scanf("%d%d%d",&Room[i-1].Totallist.xx,&Room[i-1].Totallist.yy,&Room[i-1].Totallist.zz); break; case5: scanf("%d",&Room[i-1].Totallist.hour); break; switch(Room[i-1].feiyong){ case1:Room[i-1].Price=(Room[i-1].Totallist.hour)*300;break; case2:Room[i-1].Price=(Room[i-1].Totallist.hour)*200;break; case3:Room[i-1].Price=(Room[i-1].Totallist.hour)*100;break; case4:Room[i-1].Price=(Room[i-1].Totallist.hour)*40;break; } break; case6:scanf("%s",(char*)&Room[i-1].Tel); break; case7:scanf("%s",(char*)&Room[i-1].Totallist.IDcard); break; default:printf("输入错误,请从新选择"); break; } save(); printf("修改成功!"); } else { system("cls"); printf("该房间为空房!!\n"); } printf("\n要返回首页吗?(1:Y,0:N)"); scanf("%d",&j); if(j==0) { ChangeRoom(); } system("cls"); } voidOutRoom()//退房函数 { inti,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].Sign==1) { Room[i-1]=Room[101]; save(); system("cls"); printf("退房成功\n"); } else { system("cls"); printf("该房间为空房\n"); } } printf("要返回首页吗?(1:Y,0:N)"); scanf("%d",&j); if(j==0) { OutRoom(); } system("cls"); } voidFreeRoom()//查询客房整体入住信息 { intf,sum; sum=0; system("cls"); printf("客房入住信息\n"); for(f=0;f 更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。