c语言多窗口售门票,帮忙写个C语言窗口售票系统的代码,谢谢!!!
时间: 2023-10-17 14:29:21 浏览: 77
c语言编写的售票系统
好的,下面是一个简单的C语言窗口售票系统的代码,希望能够帮到你:
```c
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#define ROWS 10
#define COLS 10
int seats[ROWS][COLS]; // 座位数组,0表示空位,1表示已售
void draw_seat_map() {
system("cls"); // 清屏
printf(" "); // 输出列号
for (int j = 1; j <= COLS; j++) {
printf("%-3d", j);
}
printf("\n");
for (int i = 1; i <= ROWS; i++) {
printf("%-3d", i); // 输出行号
for (int j = 1; j <= COLS; j++) {
if (seats[i - 1][j - 1]) {
printf("[X]"); // 已售
} else {
printf("[ ]"); // 空位
}
}
printf("\n");
}
}
int main() {
int row, col;
draw_seat_map();
while (1) {
printf("请输入要购买的座位行列号(例如:2 3):");
scanf("%d %d", &row, &col);
if (row < 1 || row > ROWS || col < 1 || col > COLS) {
printf("输入错误,请重新输入!\n");
} else if (seats[row - 1][col - 1]) {
printf("该座位已售出,请重新选择!\n");
} else {
seats[row - 1][col - 1] = 1;
draw_seat_map();
printf("购买成功!\n");
}
}
return 0;
}
```
该代码中,我们使用一个二维数组`seats`来保存座位的售卖情况,0表示空位,1表示已售。使用`draw_seat_map`函数来绘制座位图,使用`scanf`函数获取用户输入的座位行列号,并对输入进行验证,如果输入有误或者该座位已售出,则给出提示,否则将该座位标记为已售,并重新绘制座位图。循环进行上述操作,直到用户手动退出程序。
阅读全文