模拟电影院售票系统

题目要求

程序设计题9:模拟电影院售票系统
1.问题描述
  已知某电影院有5个放映厅,请模拟实现电影放映排片和观众购票。
  系统要求对文件中所存储的票务信息进行各种常规操作,如:查询、计算、显示等功能。
  通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。
2.功能要求
 (1)角色:系统设置管理员和普通观众
 (2)管理员功能如下
      A.根据密码登录,对每个放映厅进行第二天的排片工作。
      B.统计某部电影当天的票款。
      C.对当天的票房进行排序。
 (3)用户的功能:
      A.注册
      B.以密码登录后,可以浏览排片信息
      C.查看每个放映厅的售票情况,如:

            □□□□□□□□□□
            □□□□□□□□□□
            □□□●●□□□
            □□□●●●□□
            □□□□□●●●       ●已售出  □待售
                         选座购票,售出的位置变更图案。

        售票和退票:合理进行售票和退票,自动更新余票数量;
 (4)提供菜单选择项,如角色选择、时间选择、功能选择等

选做要求:
(1)对用户的输入进行一定的正确性检查。
(2)用户可以查看历史购票记录。
3.其他要求
 (1)界面美观,交互方便。
 (2)注释详细:每个变量都要求有注释说明用途;
     函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;
     关键的语句段要求有注—释解释。
 (3)程序的层次清晰,可读性强。
 (4)变量、函数命名符合规范。
 (5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
4.开发环境
  可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。

代码


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是一个简单的模拟电影院售票系统的 C++ 代码示例: ```c++ #include <iostream> #include <vector> using namespace std; class Seat { public: int row; int column; bool is_available; Seat(int r, int c) { row = r; column = c; is_available = true; } }; class Cinema { public: int rows; int columns; vector<vector<Seat>> seats; Cinema(int r, int c) { rows = r; columns = c; seats.resize(rows); for (int i = 0; i < rows; i++) { seats[i].resize(columns); for (int j = 0; j < columns; j++) { seats[i][j] = Seat(i, j); } } } bool is_seat_available(int row, int column) { return seats[row][column].is_available; } void book_seat(int row, int column) { seats[row][column].is_available = false; } void print_seats() { cout << "------------------------" << endl; for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { if (seats[i][j].is_available) { cout << "O "; } else { cout << "X "; } } cout << endl; } cout << "------------------------" << endl; } }; int main() { Cinema cinema(5, 6); cinema.print_seats(); int row, column; cout << "Please enter row number: "; cin >> row; cout << "Please enter column number: "; cin >> column; if (cinema.is_seat_available(row, column)) { cinema.book_seat(row, column); cout << "Booked successfully!" << endl; cinema.print_seats(); } else { cout << "The seat is not available." << endl; } return 0; } ``` 这个代码示例中,我们定义了两个类:`Seat` 和 `Cinema`。 `Seat` 类表示电影院中的一个座位,包含了座位的行号、列号和是否可用的状态。 `Cinema` 类表示整个电影院,包含了电影院的行数、列数和座位的二维数组。它还提供了三个方法:`is_seat_available()` 可以判断一个座位是否可用,`book_seat()` 可以预订一个座位,`print_seats()` 可以打印出当前座位的状态。 在 `main()` 函数中,我们先创建了一个 `Cinema` 对象,并打印出当前座位的状态。然后,我们从用户输入中获取一个座位的行号和列号,如果这个座位可用,就预订它并打印出当前座位的状态;否则,告诉用户这个座位不可用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值