用c语言表示火车系统代码
时间: 2023-12-23 18:02:35 浏览: 31
以下是一个简单的火车订票系统的 C 语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NAME_LEN 50
#define MAX_TRAIN_NUM 100
typedef struct {
int train_num;
char start_station[MAX_NAME_LEN];
char end_station[MAX_NAME_LEN];
float ticket_price;
int num_tickets_available;
} Train;
Train trains[MAX_TRAIN_NUM];
int num_trains = 0;
void add_train() {
Train new_train;
printf("请输入火车车次号:");
scanf("%d", &new_train.train_num);
printf("请输入起始站:");
scanf("%s", new_train.start_station);
printf("请输入终点站:");
scanf("%s", new_train.end_station);
printf("请输入票价:");
scanf("%f", &new_train.ticket_price);
printf("请输入剩余票数:");
scanf("%d", &new_train.num_tickets_available);
trains[num_trains] = new_train;
num_trains++;
printf("添加火车成功!\n");
}
void search_train() {
int train_num;
printf("请输入要查询的火车车次号:");
scanf("%d", &train_num);
for (int i = 0; i < num_trains; i++) {
if (trains[i].train_num == train_num) {
printf("车次号: %d\n", trains[i].train_num);
printf("起始站: %s\n", trains[i].start_station);
printf("终点站: %s\n", trains[i].end_station);
printf("票价: %.2f\n", trains[i].ticket_price);
printf("剩余票数: %d\n", trains[i].num_tickets_available);
return;
}
}
printf("未找到该车次,请检查输入是否正确!\n");
}
void book_ticket() {
int train_num;
printf("请输入要订票的火车车次号:");
scanf("%d", &train_num);
for (int i = 0; i < num_trains; i++) {
if (trains[i].train_num == train_num) {
if (trains[i].num_tickets_available > 0) {
trains[i].num_tickets_available--;
printf("订票成功!\n");
} else {
printf("该车次已无票!\n");
}
return;
}
}
printf("未找到该车次,请检查输入是否正确!\n");
}
void show_menu() {
printf("欢迎使用火车订票系统\n");
printf("1. 查询火车信息\n");
printf("2. 添加火车信息\n");
printf("3. 订票\n");
printf("4. 退出\n");
printf("请选择操作:");
}
int main() {
int choice = 0;
while (1) {
show_menu();
scanf("%d", &choice);
switch (choice) {
case 1:
search_train();
break;
case 2:
add_train();
break;
case 3:
book_ticket();
break;
case 4:
exit(0);
default:
printf("无效操作,请重新选择!\n");
}
}
return 0;
}
```
注意:以上代码仅为示例,实际开发中需要根据具体需求进行修改和完善。同时,为了保证系统稳定性和安全性,还需要考虑其他因素,如输入参数检查、防止 SQL 注入等。