以下是用C语言实现厦门地铁票务管理系统的代码其中包括上述所有功能:c#include stdioh#include stringh#include stdlibh#define MAX_STATION_NUM 100#define MAX_LINE_NUM 10#define MAX_TRAIN_NUM 50#define MAX_TICKET_PRICE 100#define MAX_TIME_
_num) { printf("Invalid start station index!\n"); return; } printf("Enter end station index (0-%d): ", station_num-1); scanf("%d", &end_index); if (end_index < 0 || end_index >= station_num) { printf("Invalid end station index!\n"); return; } printf("Ticket price from %s to %s is %d RMB.\n", station_names[start_index], station_names[end_index], ticket_prices[start_index][end_index]); }
void search_line_info() { int line_index; printf("Enter line index (0-%d): ", line_num-1); scanf("%d", &line_index); if (line_index < 0 || line_index >= line_num) { printf("Invalid line index!\n"); return; } printf("Line name: %s\n", line_names[line_index]); printf("Stations:\n"); for (int i = 0; i < station_num; i++) { if (time_table[line_index][0][i] != 0) { printf("%d. %s\n", i, station_names[i]); } } }
void search_time_table() { int line_index; printf("Enter line index (0-%d): ", line_num-1); scanf("%d", &line_index); if (line_index < 0 || line_index >= line_num) { printf("Invalid line index!\n"); return; } printf("Line name: %s\n", line_names[line_index]); printf("Stations:\n"); for (int i = 0; i < station_num; i++) { if (time_table[line_index][0][i] != 0) { printf("%d. %s\n", i, station_names[i]); } } printf("Time table:\n"); for (int i = 0; i < MAX_TIME_TABLE_ROW; i++) { printf(" %d: ", i+1); for (int j = 0; j < station_num; j++) { int time = time_table[line_index][i][j]; if (time != 0) { int arr_h = time >> 24; int arr_m = (time >> 16) & 0xFF; int dep_h = (time >> 8) & 0xFF; int dep_m = time & 0xFF; printf("%s(%02d:%02d-%02d:%02d) ", station_names[j], arr_h, arr_m, dep_h, dep_m); } } printf("\n"); } }
void count_train_num() { int line_index, start_h, start_m, end_h, end_m; printf("Enter line index (0-%d): ", line_num-1); scanf("%d", &line_index); if (line_index < 0 || line_index >= line_num) { printf("Invalid line index!\n"); return; } printf("Enter start time (hh:mm): "); scanf("%d:%d", &start_h, &start_m); printf("Enter end time (hh:mm): "); scanf("%d:%d", &end_h, &end_m); int start_time = (start_h << 8) + start_m; int end_time = (end_h << 8) + end_m; int train_num = 0; for (int i = 0; i < MAX_TIME_TABLE_ROW; i++) { for (int j = 0; j < station_num; j++) { int time = time_table[line_index][i][j]; if (time != 0) { int dep_h = (time >> 8) & 0xFF; int dep_m = time & 0xFF; int dep_time = (dep_h << 8) + dep_m; if (dep_time >= start_time && dep_time <= end_time) train_num++; } } } printf("There are %d trains from %02d:%02d to %02d:%02d on line %s.\n", train_num, start_h, start_m, end_h, end_m, line_names[line_index]); }
int main() { main_menu(); return 0;
原文地址: https://www.cveoy.top/t/topic/haNm 著作权归作者所有。请勿转载和采集!