#include<string.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include <fstream.h>
//====================定义Customer结构体========================
struct Customer{
char Name[20];
char Sex;
int Age;
char ID_card[20];
int Num;
}Cus[15]; //=========================Hotel结构体===========================
struct Hotel{
int Room_ID;
int Price;
int Sign; //标记房间是否为空房间;
}Room[15];
void Menu();
void Read_file1();
void Write_file1();
//void Delete_room();
void Add_new_customer();
void Room_Book();
void Query_Room_ID();
void Query_room_empty();
void Initialize_room_ID(); //===========================这里是读客房文件===================
void Read_file1()
{
ifstream myfile2("room.txt",ios::in);
for(int i=0;i<15;i++)
{
myfile2.read((char*)(&Room[i]),sizeof(Room[i]));
cout<<Room[i].Room_ID<<" "<<Room[i].Price<<" "<<Room[i].Sign<<endl;
}
myfile2.close();
}
//========================这里是初始化房间信息======================
void Initialize_room_ID()
{
int ID=100;
for(int i=0;i<15;i++)
{
Room[i].Room_ID=ID+i;
Room[i].Price=100;
Room[i].Sign=1;
}
}
//===============================这里是写文件===========================
void Write_file1()
{
ofstream myfile("room.txt",ios::out);
// Initialize_room_ID(); 这句不要的,不然每次写文件,房间状态又被初始化了 for(int i=0;i<15;i++)
{
myfile.write((char *)&Room,sizeof(Room));
}
myfile.close();
}
//*******************************顾客登记入住******************************************
void Add_new_customer()
{
ofstream myfile1("room.txt",ios::out);
ofstream myfile2("customer.txt",ios::out);
cout<<"\n 您可以住在:"<<endl;
int i;
for(i=0;i<15;i++)
{
if(Room[i].Sign==1)
{
cout<<Room[i].Room_ID<<endl;
}
}
cout<<"\n 请输入您住的房间号:"<<endl;
cin>>Room[i].Room_ID;
Room[i].Sign==0;
myfile1.write((char *)(&Room[i]),sizeof(Room));
myfile1.close();
cout<<"\n 请输入您的身份证号:"<<endl;
cin>>Cus[i].ID_card;
cout<<"\n "<<endl;
cout<<"\n 请输入您的姓名:"<<endl;
cin>>Cus[i].Name;
cout<<"\n "<<endl;
cout<<"\n 请输入性别(0->男;1->女):"<<endl;
cin>>Cus[i].Sex;
cout<<"\n "<<endl;
cout<<"\n 请输入您的年龄:"<<endl;
cin>>Cus[i].Age;
cout<<"\n "<<endl;
cout<<"\n 请确认您住的房间号:"<<endl;
cin>>Cus[i].Num;
cout<<"\n "<<endl;
myfile2.write((char *)(&Cus[i]),sizeof(Cus));
myfile2.close();
cout<<"\n 登记成功! "<<endl;
} //**************************查询顾客信息函数********************************
void Query_Room_ID()
{ int room_id;
ifstream myfile1("room.txt",ios::in);
ifstream myfile2("customer.txt",ios::in);
cout<<"\n 请输入房间号: "<<endl;
cin>>room_id;
for(int i=0;i<15;i++)
{
if(Room[i].Room_ID==room_id&&Room[i].Sign==1)
{
myfile1.read((char *)(&Room[i]),sizeof(Room));
cout<<Room[i].Room_ID<<endl;
myfile2.read((char *)(&Cus[i]),sizeof(Cus));
cout<<Cus[i].Name<<" "<<Cus[i].Sex<<" "<<Cus[i].ID_card<<" "<<Cus[i].Num<<endl;
}
}
myfile2.close();
myfile1.close();
Menu();
}//*******************查询空房间****************************************
void Query_room_empty()
{
ifstream myfile1("room.txt",ios::in);
cout<<"\n 以下是为您查询到的空房间:"<<endl;
for(int i=0;i<15;i++)
{
if(Room[i].Sign==1)
{
myfile1.read((char *)(&Room[i]),sizeof(Room));
cout<< Room[i].Room_ID<<endl;
}
}
myfile1.close();
}//**************实现顾客订房********************************
void Room_Book()
{
ofstream myfile1("room.txt",ios::out);
ofstream myfile2("customer.txt",ios::out);
cout<<"\n 您可以住在:"<<endl;
for(int i=0;i<15;i++)
{
if(Room[i].Sign==1)
{ cout<<Room[i].Room_ID<<endl;
}
}
cout<<"\n 请输入您预订的房间号:"<<endl;
cin>>Room[i].Room_ID;
Room[i].Sign=0;
myfile1.write((char *)(&Room[i]),sizeof(Room));
myfile1.close();
cout<<"\n 请输入您本人的相关信息:"<<endl;
cout<<"\n 请输入您的姓名:"<<endl;
cin>>Cus[i].Name;
cout<<"\n "<<endl;
cout<<"\n 请输入性别(0->男;1->女)"<<endl;
cin>>Cus[i].Sex;
cout<<"\n "<<endl;
cout<<" 请输入您的年龄:"<<endl;
cin>>Cus[i].Age;
cout<<"\n "<<endl;
cout<<"\n 请输入您的身份证号:"<<endl;
cin>>Cus[i].ID_card;
cout<<"\n "<<endl;
cout<<"\n 请确认您住的房间号:"<<endl;
cin>>Cus[i].Num;
myfile2.write((char *)(&Cus[i]),sizeof(Cus));
myfile2.close();
cout<<"\n 预订房间成功! "<<endl;
}
/*//***********************实现退房间函数***************************
void Delete_room()
{
char *name;
cout<<"\n 请输入您的姓名: "<<endl;
cin>>name;
for(int i=0;i<15;i++)
{
if(Room[i].Customer_list.Name==name)
{
Room[i].Sign=false;
cout<<"\n 退订成功! "<<endl;
}
else
{
cout<<"\n 顾客不存在!"<<endl;
}
}
}
*/
//================================ 这里是主函数=======================================
void Menu()
{
}
void main()
{
Initialize_room_ID();
// Write_file1();
Read_file1();
while(1){
int s1;
cout<<"\n *********************欢迎进入客房管理信息系统*********************************"<<endl; cout<<"\n 1、登记入住 "<<endl;
cout<<"\n 2、顾客信息查询 "<<endl;
cout<<"\n 3、查询空房间 "<<endl;
cout<<"\n 4、预订房间 "<<endl;
//cout<<"\n 5、退订房间 "<<endl;
cout<<"\n 0、退出 "<<endl;
cout<<"\n 6、读文件 "<<endl;
cout<<"\n ******************************************************************************"<<endl;
cin>>s1;
switch(s1)
{
case 1: Add_new_customer();break;
case 2: Query_Room_ID();break;
case 3: Query_room_empty();break;
case 4: Room_Book();break;
//case 5: Delete_room();Menu();break;
case 6: Read_file1();break;
case 0: Write_file1(); exit(0);break;
default: cout<<"\n 请按任意键继续"<<endl;
} }
}
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include <fstream.h>
//====================定义Customer结构体========================
struct Customer{
char Name[20];
char Sex;
int Age;
char ID_card[20];
int Num;
}Cus[15]; //=========================Hotel结构体===========================
struct Hotel{
int Room_ID;
int Price;
int Sign; //标记房间是否为空房间;
}Room[15];
void Menu();
void Read_file1();
void Write_file1();
//void Delete_room();
void Add_new_customer();
void Room_Book();
void Query_Room_ID();
void Query_room_empty();
void Initialize_room_ID(); //===========================这里是读客房文件===================
void Read_file1()
{
ifstream myfile2("room.txt",ios::in);
for(int i=0;i<15;i++)
{
myfile2.read((char*)(&Room[i]),sizeof(Room[i]));
cout<<Room[i].Room_ID<<" "<<Room[i].Price<<" "<<Room[i].Sign<<endl;
}
myfile2.close();
}
//========================这里是初始化房间信息======================
void Initialize_room_ID()
{
int ID=100;
for(int i=0;i<15;i++)
{
Room[i].Room_ID=ID+i;
Room[i].Price=100;
Room[i].Sign=1;
}
}
//===============================这里是写文件===========================
void Write_file1()
{
ofstream myfile("room.txt",ios::out);
// Initialize_room_ID(); 这句不要的,不然每次写文件,房间状态又被初始化了 for(int i=0;i<15;i++)
{
myfile.write((char *)&Room,sizeof(Room));
}
myfile.close();
}
//*******************************顾客登记入住******************************************
void Add_new_customer()
{
ofstream myfile1("room.txt",ios::out);
ofstream myfile2("customer.txt",ios::out);
cout<<"\n 您可以住在:"<<endl;
int i;
for(i=0;i<15;i++)
{
if(Room[i].Sign==1)
{
cout<<Room[i].Room_ID<<endl;
}
}
cout<<"\n 请输入您住的房间号:"<<endl;
cin>>Room[i].Room_ID;
Room[i].Sign==0;
myfile1.write((char *)(&Room[i]),sizeof(Room));
myfile1.close();
cout<<"\n 请输入您的身份证号:"<<endl;
cin>>Cus[i].ID_card;
cout<<"\n "<<endl;
cout<<"\n 请输入您的姓名:"<<endl;
cin>>Cus[i].Name;
cout<<"\n "<<endl;
cout<<"\n 请输入性别(0->男;1->女):"<<endl;
cin>>Cus[i].Sex;
cout<<"\n "<<endl;
cout<<"\n 请输入您的年龄:"<<endl;
cin>>Cus[i].Age;
cout<<"\n "<<endl;
cout<<"\n 请确认您住的房间号:"<<endl;
cin>>Cus[i].Num;
cout<<"\n "<<endl;
myfile2.write((char *)(&Cus[i]),sizeof(Cus));
myfile2.close();
cout<<"\n 登记成功! "<<endl;
} //**************************查询顾客信息函数********************************
void Query_Room_ID()
{ int room_id;
ifstream myfile1("room.txt",ios::in);
ifstream myfile2("customer.txt",ios::in);
cout<<"\n 请输入房间号: "<<endl;
cin>>room_id;
for(int i=0;i<15;i++)
{
if(Room[i].Room_ID==room_id&&Room[i].Sign==1)
{
myfile1.read((char *)(&Room[i]),sizeof(Room));
cout<<Room[i].Room_ID<<endl;
myfile2.read((char *)(&Cus[i]),sizeof(Cus));
cout<<Cus[i].Name<<" "<<Cus[i].Sex<<" "<<Cus[i].ID_card<<" "<<Cus[i].Num<<endl;
}
}
myfile2.close();
myfile1.close();
Menu();
}//*******************查询空房间****************************************
void Query_room_empty()
{
ifstream myfile1("room.txt",ios::in);
cout<<"\n 以下是为您查询到的空房间:"<<endl;
for(int i=0;i<15;i++)
{
if(Room[i].Sign==1)
{
myfile1.read((char *)(&Room[i]),sizeof(Room));
cout<< Room[i].Room_ID<<endl;
}
}
myfile1.close();
}//**************实现顾客订房********************************
void Room_Book()
{
ofstream myfile1("room.txt",ios::out);
ofstream myfile2("customer.txt",ios::out);
cout<<"\n 您可以住在:"<<endl;
for(int i=0;i<15;i++)
{
if(Room[i].Sign==1)
{ cout<<Room[i].Room_ID<<endl;
}
}
cout<<"\n 请输入您预订的房间号:"<<endl;
cin>>Room[i].Room_ID;
Room[i].Sign=0;
myfile1.write((char *)(&Room[i]),sizeof(Room));
myfile1.close();
cout<<"\n 请输入您本人的相关信息:"<<endl;
cout<<"\n 请输入您的姓名:"<<endl;
cin>>Cus[i].Name;
cout<<"\n "<<endl;
cout<<"\n 请输入性别(0->男;1->女)"<<endl;
cin>>Cus[i].Sex;
cout<<"\n "<<endl;
cout<<" 请输入您的年龄:"<<endl;
cin>>Cus[i].Age;
cout<<"\n "<<endl;
cout<<"\n 请输入您的身份证号:"<<endl;
cin>>Cus[i].ID_card;
cout<<"\n "<<endl;
cout<<"\n 请确认您住的房间号:"<<endl;
cin>>Cus[i].Num;
myfile2.write((char *)(&Cus[i]),sizeof(Cus));
myfile2.close();
cout<<"\n 预订房间成功! "<<endl;
}
/*//***********************实现退房间函数***************************
void Delete_room()
{
char *name;
cout<<"\n 请输入您的姓名: "<<endl;
cin>>name;
for(int i=0;i<15;i++)
{
if(Room[i].Customer_list.Name==name)
{
Room[i].Sign=false;
cout<<"\n 退订成功! "<<endl;
}
else
{
cout<<"\n 顾客不存在!"<<endl;
}
}
}
*/
//================================ 这里是主函数=======================================
void Menu()
{
}
void main()
{
Initialize_room_ID();
// Write_file1();
Read_file1();
while(1){
int s1;
cout<<"\n *********************欢迎进入客房管理信息系统*********************************"<<endl; cout<<"\n 1、登记入住 "<<endl;
cout<<"\n 2、顾客信息查询 "<<endl;
cout<<"\n 3、查询空房间 "<<endl;
cout<<"\n 4、预订房间 "<<endl;
//cout<<"\n 5、退订房间 "<<endl;
cout<<"\n 0、退出 "<<endl;
cout<<"\n 6、读文件 "<<endl;
cout<<"\n ******************************************************************************"<<endl;
cin>>s1;
switch(s1)
{
case 1: Add_new_customer();break;
case 2: Query_Room_ID();break;
case 3: Query_room_empty();break;
case 4: Room_Book();break;
//case 5: Delete_room();Menu();break;
case 6: Read_file1();break;
case 0: Write_file1(); exit(0);break;
default: cout<<"\n 请按任意键继续"<<endl;
} }
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货