电影院管理系统c++
时间: 2023-06-29 22:15:00 浏览: 216
电影院管理系统是一个比较复杂的系统,需要考虑到很多方面,比如电影票的销售、电影的排片、座位的管理等等。下面是一个简单的电影院管理系统的C++代码,供您参考。
```c++
#include<iostream>
#include<iomanip>
using namespace std;
//定义结构体
struct Seat
{
bool isSold; //是否售出
char seatType; //座位类型
};
//定义电影院类
class Cinema
{
public:
Cinema(); //构造函数
~Cinema(); //析构函数
void ShowMenu(); //显示菜单
void SellTicket(); //售票
void ShowSales(); //显示售票情况
void ShowSeat(); //显示座位情况
private:
Seat seat[5][6]; //座位数组
int ticketCount; //售票数量
float salesCount; //售票总额
};
//构造函数
Cinema::Cinema()
{
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 6; j++)
{
seat[i][j].isSold = false; //初始化座位未售出
if (i == 0 || i == 1) //前两排为VIP座位
{
seat[i][j].seatType = 'V';
}
else
{
seat[i][j].seatType = 'N';
}
}
}
ticketCount = 0; //初始化售票数量为0
salesCount = 0; //初始化售票总额为0
}
//析构函数
Cinema::~Cinema()
{
}
//显示菜单
void Cinema::ShowMenu()
{
cout << "*********欢迎光临影院*********" << endl;
cout << "1.售票" << endl;
cout << "2.查看售票情况" << endl;
cout << "3.查看座位情况" << endl;
cout << "0.退出" << endl;
}
//售票
void Cinema::SellTicket()
{
int row, col; //行和列
cout << "请输入座位的行号和列号(如:1 2代表第1行第2列):" << endl;
cin >> row >> col;
if (row < 1 || row > 5 || col < 1 || col > 6) //判断是否合法
{
cout << "座位不存在,请重新输入!" << endl;
return;
}
if (seat[row - 1][col - 1].isSold) //判断是否售出
{
cout << "该座位已经售出,请重新选择!" << endl;
return;
}
seat[row - 1][col - 1].isSold = true; //将座位标记为已售出
float price; //票价
if (seat[row - 1][col - 1].seatType == 'V') //VIP座位票价为100元
{
price = 100;
}
else //普通座位票价为50元
{
price = 50;
}
cout << "售出成功,票价为" << price << "元。" << endl;
ticketCount++; //售票数量加1
salesCount += price; //售票总额加上票价
}
//显示售票情况
void Cinema::ShowSales()
{
cout << "售出的票数为:" << ticketCount << endl;
cout << "售出的总额为:" << fixed << setprecision(2) << salesCount << "元。" << endl;
}
//显示座位情况
void Cinema::ShowSeat()
{
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 6; j++)
{
cout << seat[i][j].seatType << " "; //输出座位类型
if (seat[i][j].isSold) //如果已售出,输出X
{
cout << "X ";
}
else //否则输出O
{
cout << "O ";
}
}
cout << endl;
}
}
int main()
{
Cinema cinema; //创建电影院对象
int choice;
do
{
cinema.ShowMenu(); //显示菜单
cin >> choice;
switch (choice)
{
case 1:
cinema.SellTicket(); //售票
break;
case 2:
cinema.ShowSales(); //显示售票情况
break;
case 3:
cinema.ShowSeat(); //显示座位情况
break;
case 0:
cout << "谢谢光临!" << endl;
break;
default:
cout << "请输入正确的选项!" << endl;
break;
}
} while (choice != 0);
return 0;
}
```
这段代码实现了一个简单的电影院管理系统,包括菜单显示、售票、显示售票情况以及显示座位情况等功能。当然,这只是一个简单的示例,实际的电影院管理系统需要更加复杂的功能和更完善的设计。
阅读全文