帮我写一份C语言电影购票系统
时间: 2023-11-23 22:06:25 浏览: 25
好的,下面是一个简单的C语言电影购票系统的代码,供您参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ROWS 4
#define COLS 5
// 定义电影票结构体
typedef struct Ticket {
int row;
int col;
int isSold;
char name[20];
} Ticket;
// 初始化电影票数组
void initTickets(Ticket tickets[ROWS][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
tickets[i][j].row = i + 1;
tickets[i][j].col = j + 1;
tickets[i][j].isSold = 0;
strcpy(tickets[i][j].name, "");
}
}
}
// 打印当前的电影票情况
void printTickets(Ticket tickets[ROWS][COLS]) {
printf(" 1 2 3 4 5\n");
for (int i = 0; i < ROWS; i++) {
printf("%d ", i + 1);
for (int j = 0; j < COLS; j++) {
if (tickets[i][j].isSold) {
printf("X ");
} else {
printf("O ");
}
}
printf("\n");
}
}
// 购买电影票
void buyTicket(Ticket tickets[ROWS][COLS]) {
int row, col;
printf("请输入想购买的座位行号和列号(如:2 3):");
scanf("%d %d", &row, &col);
if (row < 1 || row > ROWS || col < 1 || col > COLS) {
printf("座位不存在!\n");
return;
}
if (tickets[row - 1][col - 1].isSold) {
printf("该座位已售出!\n");
return;
}
printf("请输入购买者姓名:");
scanf("%s", tickets[row - 1][col - 1].name);
tickets[row - 1][col - 1].isSold = 1;
printf("购买成功!\n");
}
int main() {
Ticket tickets[ROWS][COLS];
initTickets(tickets);
while (1) {
printf("欢迎使用电影购票系统!\n");
printf("当前座位情况:\n");
printTickets(tickets);
printf("请选择操作:\n");
printf("1.购买电影票\n");
printf("2.退出\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
buyTicket(tickets);
break;
case 2:
printf("谢谢使用!\n");
exit(0);
default:
printf("无效的选择!\n");
break;
}
}
return 0;
}
```
这个程序使用了一个二维数组来表示电影票的座位情况,每个元素表示一个座位,包括行号、列号、是否售出和购买者姓名等信息。程序提供了初始化、打印和购买电影票等功能。