c语言电影院售票系统设计
时间: 2023-08-24 21:41:21 浏览: 66
c语言课设电影院售票系统.pdf
5星 · 资源好评率100%
这是一个简单的电影院售票系统设计:
1. 定义电影票类,包含电影名称、放映时间、座位号等属性;
2. 定义座位类,包含座位号、是否已售等属性;
3. 定义电影类,包含电影名称、放映时间、座位等属性;
4. 定义电影院类,包含电影列表、座位列表等属性;
5. 根据用户输入的电影名称和放映时间,查询电影院中是否有对应的电影,并显示座位的状态;
6. 用户选择座位后,将座位状态修改为已售,并生成电影票并输出给用户。
以下是一个简单的 C 语言代码实现:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ROW 10
#define COL 10
typedef struct {
char name[30];
char time[20];
int seat[ROW][COL];
} Movie;
typedef struct {
int row;
int col;
int sold;
} Seat;
typedef struct {
Movie movie;
Seat seat[ROW][COL];
} Cinema;
void init(Cinema* cinema) {
memset(cinema, 0, sizeof(Cinema));
}
void add_movie(Cinema* cinema, char* name, char* time) {
strcpy(cinema->movie.name, name);
strcpy(cinema->movie.time, time);
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
cinema->seat[i][j].row = i;
cinema->seat[i][j].col = j;
cinema->seat[i][j].sold = 0;
}
}
}
void show_seats(Cinema* cinema) {
printf("Seats:\n");
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%d ", cinema->seat[i][j].sold);
}
printf("\n");
}
}
void sell_ticket(Cinema* cinema, int row, int col) {
if (cinema->seat[row][col].sold == 1) {
printf("This seat has been sold.\n");
return;
}
cinema->seat[row][col].sold = 1;
printf("Ticket:\n");
printf("Movie: %s\n", cinema->movie.name);
printf("Time: %s\n", cinema->movie.time);
printf("Seat: %d row %d col\n", row, col);
}
int main() {
Cinema cinema;
init(&cinema);
add_movie(&cinema, "Avengers: Endgame", "2022-01-01 10:00");
show_seats(&cinema);
sell_ticket(&cinema, 2, 3);
show_seats(&cinema);
return 0;
}
```
这里只是一个简单的实现,实际应用中还需要考虑更多因素,如多个电影、多个放映时间、售票系统等。
阅读全文