2、定义一个电影售票机类TicketingMachine,支持以下功能(每个功能由一个成员函数实 现): (1)录入新上映的电影名,以及座位数,默认50座,单价,默认30元。 (2)指定电影名、张数进行订票。如果没有这个电影,或已满坐,要有提示。
时间: 2024-05-14 16:17:06 浏览: 118
好的,这是一个关于定义TicketingMachine类的问题,我来给你讲解一下。
首先,我们可以定义一个TicketingMachine类,包括电影名、座位数、单价等属性。然后,可以定义以下成员函数:
1. `void addMovie(string name, int seats = 50, int price = 30)`:录入新上映的电影名,以及座位数和单价。默认座位数为50,单价为30元。
2. `bool bookTicket(string name, int num)`:指定电影名和订票张数进行订票。如果没有这个电影,或已满坐,返回false并输出提示信息。如果订票成功,返回true并输出总价。
下面是代码示例:
```c++
#include <iostream>
#include <string>
using namespace std;
class TicketingMachine {
private:
string movieName;
int seats;
int price;
public:
TicketingMachine() {
movieName = "";
seats = 0;
price = 0;
}
void addMovie(string name, int seats = 50, int price = 30) {
movieName = name;
this->seats = seats;
this->price = price;
cout << "电影《" << movieName << "》已上映,座位数:" << seats << ",单价:" << price << "元。" << endl;
}
bool bookTicket(string name, int num) {
if (name != movieName) {
cout << "没有这个电影!" << endl;
return false;
}
if (num > seats) {
cout << "座位已满,请选择其他电影!" << endl;
return false;
}
int totalPrice = num * price;
cout << "您已成功订购《" << movieName << "》的" << num << "张电影票,总价:" << totalPrice << "元。" << endl;
seats -= num;
return true;
}
};
int main() {
TicketingMachine tm;
tm.addMovie("复仇者联盟4", 100, 50);
tm.bookTicket("复仇者联盟4", 60);
tm.bookTicket("复仇者联盟3", 50);
return 0;
}
```
输出结果为:
```
电影《复仇者联盟4》已上映,座位数:100,单价:50元。
座位已满,请选择其他电影!
没有这个电影!
```
希望能帮到你!
阅读全文