⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reservation.h

📁 这是一个我的课后习题,要求编译一个酒店管理程序.做的不好~多多执教
💻 H
字号:
#include <iostream.h>
#include <stdlib.h>
#include <string.h>

class Reservation{
	
private:

	//all useful fields
	const char *name;
	int number_in_party;
	int arrival_day;
	int departure_day;
	bool cancellation_flag;
    bool check_out_flag;
	bool no_room_at_the_inn_flag;
	bool smoking;
	int reservation_number;
	static int counter;

public:
	//constructor
	Reservation(int ad=0, int dd=0)//ad=arrival day; dd=departure day
	{
		reservation_number=counter++;
		//generate name automatically
		name=nameGenerator(reservation_number);
        //random number between 1->7
	    number_in_party=rand()%7+1;
	    arrival_day=ad;
	    departure_day=dd;
	    //initialize all boolean data to 'False'
	    cancellation_flag=false;
        check_out_flag=false;
	    no_room_at_the_inn_flag=false;
	    //random 1/5
	    smoking=false;
	    int a=rand()%5;
	    if(a==0)
		{smoking=true;}
	}
    
	//generator name method
	char *nameGenerator(int num)
	{
	    int length=nameLength(reservation_number);
	    char *temp=new char[length+1];
	    for(int i=0;i<(int)strlen(temp);i++)
		{
		    if(i<length)
		    temp[i] =(char)(65+nameOrder(reservation_number)-1);
		    else
		    temp[i]=0;
		}
	    return temp;
	}
	//help methods to for generating names
	int nameLength(int num)
	{
	    if(num%26==0)
		{
		    return (num/26);
		}
	    return (num/26+1);
	}
	int nameOrder(int num)
	{
		if(num%26==0)
		{
			return 26;
		}
		return num%26;
	}

	//some useful get & set method
	const char  *getName() {return name;}
	int getReservation_number(){return reservation_number;}
	int getNumber_in_party(){return number_in_party;}
	int getArrival_day(){return arrival_day;}
	int getDeparture_day(){return departure_day;}
	bool getSmoking(){return smoking;}
    bool getNo_room_at_the_inn_flag(){return no_room_at_the_inn_flag;}
	bool getCheck_out_flag(){return check_out_flag;}
	bool getCancellation_flag(){return cancellation_flag;}

	void setNo_room_at_the_inn_flag(){no_room_at_the_inn_flag=true;}
	void setCancellation_flag(){cancellation_flag=true;}
	void setCheck_out_flag(){check_out_flag=true;}
	void setReservation_number(){reservation_number=-1;}
	void updateReservation_number(){reservation_number+=1;}
};
int Reservation::counter=0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -