用C语言编写票务系统代码
时间: 2024-09-23 16:08:38 浏览: 34
基于springboot+Web的毕业设计选题系统源码数据库文档.zip
编写一个完整的票务系统代码涉及到很多细节和功能,这里提供一个简单的命令行版的票务系统概念示例,它包含了售票和查询库存的功能。这个例子非常基础,并未包含数据库操作和图形用户界面:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义票种结构体
typedef struct Ticket {
char name[50];
int price;
int quantity; // 库存量
} Ticket;
// 初始化库存
Ticket tickets[] = {
{"电影票", 50, 100},
{"音乐会票", 100, 50}
};
// 售票函数
void sell_ticket(char *ticket_name) {
for (int i = 0; i < sizeof(tickets) / sizeof(Ticket); i++) {
if (!strcmp(ticket_name, tickets[i].name)) {
if (tickets[i].quantity > 0) {
printf("售出 %s,剩余 %d张。\n", ticket_name, --tickets[i].quantity);
} else {
printf("%s已售罄。\n", ticket_name);
}
return;
}
}
printf("未知票种。\n");
}
// 查询库存函数
void check_stock(char *ticket_name) {
for (int i = 0; i < sizeof(tickets) / sizeof(Ticket); i++) {
if (!strcmp(ticket_name, tickets[i].name)) {
printf("%s当前库存: %d张\n", ticket_name, tickets[i].quantity);
break;
}
}
}
int main() {
while (true) {
printf("请选择操作:\n1. 售票\n2. 查询库存\n3. 退出\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
char ticket_name[50];
printf("请输入票种名:");
fgets(ticket_name, sizeof(ticket_name), stdin);
ticket_name[strlen(ticket_name) - 1] = '\0'; // 去除换行符
sell_ticket(ticket_name);
break;
case 2:
char query_name[50];
printf("请输入票种名:");
fgets(query_name, sizeof(query_name), stdin);
query_name[strlen(query_name) - 1] = '\0';
check_stock(query_name);
break;
case 3:
printf("感谢使用,再见!\n");
return 0;
default:
printf("无效选择,请重试。\n");
}
}
}
阅读全文