初级基础练习:酒店管理系统的房间号定位:不用for循环.
来源:互联网 发布:网络协议软件是什么 编辑:程序博客网 时间:2024/05/01 12:07
// 用二维数组保存酒店的层数.以及房间号码.
在房间大概信息我对房间号进行了编号.
用你指定编号来反算,找出对应的楼层,以及对应的房间号;答应出对应房间的对应信息.
x = ((xgnum-1)/fjhao);
y = (xgnum-(fjhao*x));
代码如上.X 为层数.Y为房间号; xgnum为指定的房间号的序列号. fjhao 为全局变量.为每层的房间个数;#include <stdio.h>
//全局变量定义列表
int fjceng =2;
int fjhao =5;
//函数声明列表
void showfangjian();//房间信息show
void mainUI(); //主界面
void ruzhu(); //入住登记
void duqu(); //读取信息
void baocun(); //保存信息
void xiangxi(); //详细信息
void tuifang(); //退房
void nowxinxi1();//更新信息
void sjgx(); //房间数量更新
//结构体 房间信息
typedef struct {
int rzyn;//用来保存是否有人入住.
char name[20];
char sfhao[20];
char sex;
} kerenxinxi;
kerenxinxi fjnum[100][100];
int main(int argc,const char* argv[]) {
duqu();
while (1) {
mainUI();
int cznum;
scanf("%d", &cznum);
switch (cznum) {
case 1: //入住登记
ruzhu();
break;
case 2: //退房
tuifang();
break;
case 3: //修改信息
nowxinxi1();
break;
case 4: //查看所有
showfangjian();
break;
case 5: //搜索信息
xiangxi();
break;
case 6: //退出系统
printf("************************\n");
printf("********系统 设 置******\n");
printf("***** 1.房间数量更新 *****\n");
printf("***** 2.退出 系 统 *****\n");
printf("************************\n");
int xtsznum;
printf("请选择对应序列号\n");
scanf("%d", &xtsznum);
switch (xtsznum) {
case 1:
sjgx();
break;
case 2:
printf("是否确认退出? 输入Y确认退出.否则任意键返回\n");
char charQz;
scanf(" %c", &charQz);
if (charQz == 'y' || charQz =='Y') {
return 0;
}
break;
default:
break;
}
break;
default:
break;
}
}
return 0;
}
void sjgx() {
char lssz;
printf("请输入更新后的酒店楼层数\n");
scanf("%d", &fjceng);
printf("请输入更新后的楼层房间数\n");
scanf("%d", &fjhao);
printf("确认更新?确定Y,取消任意键返回!\n");
scanf(" %c", &lssz);
if (lssz == 'y' || lssz =='Y') {
baocun();
}else {
printf("取消保存,已返回菜单\n");
}
}
void tuifang() {
showfangjian();
printf("请输入你要退房的房间序列号\n");
int xgnum,x,y;
scanf("%d", &xgnum);
x = ((xgnum-1)/fjhao);
y = (xgnum-(fjhao*x));
if(fjnum[x][y-1].rzyn ==1){
printf("你需要退房的原信息如下\n");
printf("姓名:%s\n",fjnum[x][y-1].name);
printf("身份证:%s\n",fjnum[x][y-1].sfhao);
printf("性别:%c\n",fjnum[x][y-1].sex);
fjnum[x][y-1].rzyn =0;
printf("退房完成\n");
baocun();
}else{
printf("你选择的房间无人入住,请重新操作\n");
}
}
void nowxinxi1(){
showfangjian();
printf("请输入你要修改登记信息的房间序列号\n");
int xgnum,x,y;
scanf("%d", &xgnum);
x = ((xgnum-1)/fjhao);
y = (xgnum-(fjhao*x));
if (fjnum[x][y-1].rzyn ==1){
printf("你需要修改的原信息如下\n");
printf("姓名:%s\n",fjnum[x][y-1].name);
printf("身份证:%s\n",fjnum[x][y-1].sfhao);
printf("性别:%c\n",fjnum[x][y-1].sex);
printf("请输入你要更新的入住人员姓名\n");
scanf("%s", fjnum[x][y-1].name);
printf("请输入你要更新的身份证号码\n");
scanf("%s", fjnum[x][y-1].sfhao);
printf("请输入你要更新的入住人员性别\n");
scanf(" %c", &fjnum[x][y-1].sex);
baocun();
}else{
printf("你选择的房间无人入住\n");
}
}
void xiangxi() {
showfangjian();
printf("请输入你要查看详细信息的序列号\n");
//要查看的详细信息的序列号
int xgnum,x,y;
scanf("%d", &xgnum);
x = ((xgnum-1)/fjhao);
y = (xgnum-(fjhao*x));
if(fjnum[x][y-1].rzyn ==1){
printf("房间登记详细如下:\n");
printf("姓名:%s\n",fjnum[x][y-1].name);
printf("身份证号:%s\n",fjnum[x][y-1].sfhao);
printf("性别:%c\n",fjnum[x][y-1].sex);
}else{
printf("你选择的房间无人入住,无法查看详细信息\n");
}
}
void ruzhu() {
int xgnum,x,y;
while (1) {
showfangjian();
printf("请输入要登记的房间序列号\n");
scanf("%d", &xgnum);
x = ((xgnum-1)/fjhao);
y = (xgnum-(fjhao*x));
if (fjnum[x][y-1].rzyn ==0){
printf("请输入你要登记的旅客姓名:\n");
scanf("%s",fjnum[x][y-1].name);
printf("请输入你要登记的旅客身份证号码:\n");
scanf("%s",fjnum[x][y-1].sfhao);
printf("请输入你要登记的旅客性别:\n");
scanf(" %c",&fjnum[x][y-1].sex);
fjnum[x][y-1].rzyn =1;
baocun();
printf("登记完成!!\n");
break;
}else{
printf("你选择的房间已经有人入住,请重新选择\n");
}
}
}
void showfangjian() {
int xlh = 1;
printf("序号:楼层:房间号:入住信息.1 = 有人 0 = 无人\n");
for (int i =0; i < fjceng; i++) {
for (int j =0; j < fjhao; j++) {
printf("%d: %d层- %d号房, 入住信息:%d\n", xlh, i +1, j + 1,
fjnum[i][j].rzyn);
xlh++;
}
}
}
void mainUI() {
printf("**************************\n");
printf("*****欢迎使用酒店管理系统*****\n");
printf("****** 1、入住登记 ******\n");
printf("****** 2、退 房 ******\n");
printf("****** 3、修改信息 ******\n");
printf("****** 4、查看所有 ******\n");
printf("****** 5、搜索详细 ******\n");
printf("****** 6、系统设置 ******\n");
printf("**************************\n\n");
printf("请输入您要进行的操作(请输入序号)\n");
}
void duqu() {
FILE* pd = fopen("name222.txt","r");
if (pd) {
fread(&fjceng,sizeof(int),1, pd);
fread(&fjhao,sizeof(int),1, pd);
fread(fjnum,sizeof(fjnum), 1, pd);
fclose(pd);
}
}
//保存联系人数组到文本
void baocun() {
FILE* pf = fopen("name222.txt","w");
if (pf) {
fwrite(&fjceng,sizeof(int),1, pf);
fwrite(&fjhao,sizeof(int),1, pf);
fwrite(fjnum,sizeof(fjnum), 1, pf);
fclose(pf);
printf("更新成功!!!\n");
}
}
- 初级基础练习:酒店管理系统的房间号定位:不用for循环.
- js基础for循环练习
- for循环的练习
- 酒店管理系统房态图的效果制作
- 关于酒店管理系统的使用问题
- 基于java web的酒店管理系统
- fsdgsdsdh规范的地方酒店房间
- 酒店管理系统
- 酒店管理系统
- 酒店管理系统心得
- 酒店管理系统数据库
- 酒店管理系统
- 酒店管理系统
- php酒店管理系统
- 酒店管理系统
- 简易酒店管理系统
- 酒店管理系统(C#)
- 酒店管理系统
- elasticsearch 笔记-安装
- 动态创建对象
- 学习笔记-多项式的加减乘数及微分的C++实现15/11/02
- eclipse部署web项目至本地的tomcat但在webapps中找不到
- 2015.11.1 XJOJ(NOIP模拟赛)总结
- 初级基础练习:酒店管理系统的房间号定位:不用for循环.
- hdu 5532 Almost Sorted Array 最长上升子序列
- Maven2使用项目开发规范说明
- LeJOS学习(7):Sensor的API研究-ColorSensor
- LeetCode----Partition List
- struts2 中 Actionsupport 的作用
- hdu 5538 House Building 基础题
- 那是快感还是痛
- snake