列车时刻表管理 一个火车站要对进出本站的列车信息进行计算机管理 要求:包括建立、增加、删除、查询、修改车次等信息;列车信息有车次、开点、到点、始发站、终点站等。根据以上做出c语言代码
时间: 2023-07-04 15:31:01 浏览: 240
以下是一个简单的 C 语言程序,实现了一个基本的列车时刻表管理系统:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_TRAIN_NUM 100 // 列车信息数组的最大长度
// 列车信息结构体
typedef struct {
char train_num[20]; // 车次
char start_time[10]; // 开点时间
char end_time[10]; // 到点时间
char start_station[20]; // 始发站
char end_station[20]; // 终点站
} Train;
// 列车信息数组
Train train_list[MAX_TRAIN_NUM];
// 当前列车信息数量
int train_count = 0;
// 添加列车信息
void add_train() {
if (train_count >= MAX_TRAIN_NUM) {
printf("列车信息已满,无法添加新的列车信息!\n");
return;
}
Train train;
printf("请输入车次:");
scanf("%s", train.train_num);
printf("请输入开点时间:");
scanf("%s", train.start_time);
printf("请输入到点时间:");
scanf("%s", train.end_time);
printf("请输入始发站:");
scanf("%s", train.start_station);
printf("请输入终点站:");
scanf("%s", train.end_station);
train_list[train_count++] = train;
printf("添加列车信息成功!\n");
}
// 删除列车信息
void delete_train() {
char train_num[20];
printf("请输入要删除的车次:");
scanf("%s", train_num);
int i;
for (i = 0; i < train_count; i++) {
if (strcmp(train_list[i].train_num, train_num) == 0) {
int j;
for (j = i; j < train_count - 1; j++) {
train_list[j] = train_list[j + 1];
}
train_count--;
printf("删除列车信息成功!\n");
return;
}
}
printf("没有找到该车次的列车信息!\n");
}
// 查询列车信息
void query_train() {
char train_num[20];
printf("请输入要查询的车次:");
scanf("%s", train_num);
int i;
for (i = 0; i < train_count; i++) {
if (strcmp(train_list[i].train_num, train_num) == 0) {
printf("车次:%s\n", train_list[i].train_num);
printf("开点时间:%s\n", train_list[i].start_time);
printf("到点时间:%s\n", train_list[i].end_time);
printf("始发站:%s\n", train_list[i].start_station);
printf("终点站:%s\n", train_list[i].end_station);
return;
}
}
printf("没有找到该车次的列车信息!\n");
}
// 修改列车信息
void modify_train() {
char train_num[20];
printf("请输入要修改的车次:");
scanf("%s", train_num);
int i;
for (i = 0; i < train_count; i++) {
if (strcmp(train_list[i].train_num, train_num) == 0) {
Train train;
printf("请输入新的开点时间:");
scanf("%s", train.start_time);
printf("请输入新的到点时间:");
scanf("%s", train.end_time);
printf("请输入新的始发站:");
scanf("%s", train.start_station);
printf("请输入新的终点站:");
scanf("%s", train.end_station);
train_list[i] = train;
printf("修改列车信息成功!\n");
return;
}
}
printf("没有找到该车次的列车信息!\n");
}
// 主函数
int main() {
// 显示菜单
while (1) {
printf("\n1. 添加列车信息\n");
printf("2. 删除列车信息\n");
printf("3. 查询列车信息\n");
printf("4. 修改列车信息\n");
printf("0. 退出\n");
printf("请输入选项:");
// 处理用户选择
int choice;
scanf("%d", &choice);
switch (choice) {
case 0:
printf("谢谢使用列车时刻表管理系统!\n");
exit(0);
case 1:
add_train();
break;
case 2:
delete_train();
break;
case 3:
query_train();
break;
case 4:
modify_train();
break;
default:
printf("无效选项,请重新输入!\n");
break;
}
}
return 0;
}
```
注意:该程序仅仅是一个简单的示例,实际应用中可能需要对输入进行更加严格的校验,以确保输入的数据符合要求。
阅读全文