📄 train_booking_main.c
字号:
message(WARN, "添加新车次过程中发生异常,添加失败!", WC);
goto admin_sq_menu;
}
case '2': // 编辑车次信息
message(INFO, "功能尚在开发中。", WC);
break;
case '3': // 删除作废车次
message(INFO, "功能尚在开发中。", WC);
break;
case '4': // 退出车次管理菜单
CLS;
message(WARN, "真的要退出车次管理菜单吗(Y/N)?", NULL);
choice = getch();
if (('y' == choice) || ('Y' == choice))
{
goto admin_menu;
}
else
{
goto admin_sq_menu;
}
break;
default:
goto admin_sq_menu;
}
}
////////////////////////////////////////////////////////////////////////////
psngr_menu: // 普通乘客菜单
{
CLS;
choice = text_menu(psngr_menu, "", 0, 9);
switch (choice)
{
case '1': // 预订软卧车票
// 首先搜索目标列车
if (!(search_target_train(target_train_pt, &this_system_info)))
{
message(WARN, "由于未能查找到符合条件的列车信息,订票失败。", WC);
goto psngr_menu;
}
// 再执行订票操作
if (book_sb_ticket(&this_psngr_info, &this_system_info, target_train_pt))
{
message(INFO, "恭喜恭喜,订票成功!", WC);
goto psngr_menu;
}
else
{
message(WARN, "订票未能成功!请重试或过段时间再来!", WC);
goto psngr_menu;
}
case '2': // 预订硬卧车票
message(INFO, "功能尚在开发中。", WC);
break;
case '3': // 预订硬座车票
message(INFO, "功能尚在开发中。", WC);
break;
case '4': // 退订软卧车票
// 首先搜索目标列车
if (!(search_target_train(target_train_pt, &this_system_info)))
{
message(WARN, "由于未能查找到符合条件的列车信息,退票失败。", WC);
goto psngr_menu;
}
// 再执行退票操作
if (re_sb_ticket(&this_psngr_info, &this_system_info, target_train_pt))
{
message(INFO, "恭喜恭喜,退票成功!", WC);
goto psngr_menu;
}
else
{
message(WARN, "退票未能成功!请重试或过段时间再来!", WC);
goto psngr_menu;
}
case '5': // 退订硬卧车票
message(INFO, "功能尚在开发中。", WC);
break;
case '6': // 退订硬座车票
message(INFO, "功能尚在开发中。", WC);
break;
case '7': // 查看订票历史
message(INFO, "功能尚在开发中。", WC);
break;
case '8': // 查看系统消息
message(INFO, "功能尚在开发中。", WC);
break;
case '9': // 个人信息管理
goto personal_set_menu;
case '0': // 退出乘客登录
message(TIP, "您真的要退出乘客登录吗(Y/N)?", NULL);
choice = getch();
if (('y' == choice) || ('Y' == choice))
{
if (psngr_logout(&this_psngr_info))
{
message(INFO, "您已成功退出退出乘客登录", W);
goto psngr_menu;
}
else
{
message(ERROR, "退出乘客登录过程中出错,您可能会丢失数据!", W);
goto psngr_menu;
}
}
break;
default:
goto psngr_menu;
}
}
////////////////////////////////////////////////////////////////////////////
admin_report_menu: // 报表工具菜单
{
CLS;
choice = text_menu(admin_report_menu, "", 0, 4);
switch (choice)
{
case '1': // 系统信息报表
message(INFO, "功能尚在开发中。", WC);
break;
case '2': // 车次信息报表
message(INFO, "功能尚在开发中。", WC);
break;
case '3': // 列车信息报表
message(INFO, "功能尚在开发中。", WC);
break;
case '4': // 财务收支报表
message(INFO, "功能尚在开发中。", WC);
break;
case '5': // 退出报表工具菜单
CLS;
message(WARN, "真的要退出报表工具菜单吗(Y/N)?", NULL);
choice = getch();
if (('y' == choice) || ('Y' == choice))
{
goto admin_menu;
}
else
{
goto admin_report_menu;
}
break;
default:
goto admin_report_menu;
}
}
////////////////////////////////////////////////////////////////////////////
admin_set_psngr_menu: // 配置乘客信息菜单
{
CLS;
choice = text_menu(admin_set_psngr_menu, "", 0, 2);
switch (choice)
{
case '1': // 注销乘客帐户
message(INFO, "功能尚在开发中。", WC);
break;
case '2': // 更改乘客类型
message(INFO, "功能尚在开发中。", WC);
break;
case '3': // 退出配置乘客菜单
CLS;
message(WARN, "真的要退出配置乘客菜单菜单吗(Y/N)?", NULL);
choice = getch();
if (('y' == choice) || ('Y' == choice))
{
goto admin_menu;
}
else
{
goto admin_set_psngr_menu;
}
break;
default:
goto admin_set_psngr_menu;
}
}
////////////////////////////////////////////////////////////////////////////
admin_set_system_menu: // 配置系统信息菜单
{
CLS;
choice = text_menu(admin_set_system_menu, "", 0, 7);
switch (choice)
{
case '1': // 开放/关闭订票系统
if (this_system_info.open)
{
CLS;
message(INFO, "本系统已对公众开放订票。要关闭吗(Y/N)?", NULL);
choice = getch();
if (('y' == choice) || ('Y' == choice))
{
lock_system(&this_system_info);
message(INFO, "订票系统成功关闭!", WC);
goto admin_set_system_menu;
}
else
{
goto admin_set_system_menu;
}
}
else
{
CLS;
message(INFO, "本系统已对公众关闭订票。要开放吗(Y/N)?", NULL);
choice = getch();
if (('y' == choice) || ('Y' == choice))
{
unlock_system(&this_system_info);
message(INFO, "订票系统成功开放!", WC);
goto admin_set_system_menu;
}
else
{
goto admin_set_system_menu;
}
}
break;
case '2': // 重命名本地车站
message(INFO, "功能尚未完成。", WC);
break;
case '3': // 设置每公里软卧标准票价
if (set_price_sbed_per_km(&this_system_info))
{
message(INFO, "已成功更改标准票价信息。", WC);
goto admin_set_system_menu;
}
else
{
message(WARN, "更改票价信息时发生错误,改动失败!", WC);
goto admin_set_system_menu;
}
case '4': // 设置每公里硬卧标准票价
if (set_price_hbed_per_km(&this_system_info))
{
message(INFO, "已成功更改标准票价信息。", WC);
goto admin_set_system_menu;
}
else
{
message(WARN, "更改票价信息时发生错误,改动失败!", WC);
goto admin_set_system_menu;
}
case '5': // 设置每公里硬座标准票价
if (set_price_hseat_per_km(&this_system_info))
{
message(INFO, "已成功更改标准票价信息。", WC);
goto admin_set_system_menu;
}
else
{
message(WARN, "更改票价信息时发生错误,改动失败!", WC);
goto admin_set_system_menu;
}
case '6': // 设置乘客退票打折率
if (set_bounce_off_ratio(&this_system_info))
{
message(INFO, "已成功更改乘客退票打折率。", WC);
goto admin_set_system_menu;
}
else
{
message(WARN, "更改乘客退票打折率时发生错误,改动失败!", WC);
goto admin_set_system_menu;
}
case '7': // 设置特殊乘客购票打折率
if (set_special_off_ratio(&this_system_info))
{
message(INFO, "已成功更改特殊乘客购票打折率打折率。", WC);
goto admin_set_system_menu;
}
else
{
message(WARN, "更改特殊乘客购票打折率时发生错误,改动失败!", WC);
goto admin_set_system_menu;
}
case '8': // 退出配置系统菜单
CLS;
message(WARN, "真的要退出配置系统菜单吗(Y/N)?", NULL);
choice = getch();
if (('y' == choice) || ('Y' == choice))
{
goto admin_menu;
}
else
{
goto admin_set_system_menu;
}
break;
default:
goto admin_menu;
}
}
////////////////////////////////////////////////////////////////////////////
search_menu: // 公共查询菜单
{
CLS;
choice = text_menu(search_menu, "", 0, 5);
switch (choice)
{
case '1': // 按车次名查询车次
CLS;
message(WARN, "本功能尚未完成。", W);
goto search_menu;
break;
case '2': // 按始发站查询车次
search_train_sq_by_start_end(&this_system_info, &ok_train_info_list, 1);
goto search_menu;
break;
case '3': // 按终点站查询车次
search_train_sq_by_start_end(&this_system_info, &ok_train_info_list, 0);
goto search_menu;
break;
case '4': // 按过路站查询车次
CLS;
message(WARN, "本功能尚未完成。", W);
goto search_menu;
break;
case '5': // 按车次名查询列车
CLS;
message(WARN, "本功能尚未完成。", W);
goto search_menu;
break;
case '6': // 退出查询系统
CLS;
message(WARN, "真的要退出公共查询系统吗(Y/N)?", NULL);
choice = getch();
if (('y' == choice) || ('Y' == choice))
{
goto main_menu;
}
else
{
goto search_menu;
}
break;
default:
goto search_menu;
}
}
////////////////////////////////////////////////////////////////////////////
personal_set_menu: // 个人设置菜单
{
CLS;
choice = text_menu(personal_set_menu, "", 0, 1);
switch (choice)
{
case '1': // 更改个人密码
if (modify_psngr_pass(&this_psngr_info))
{
message(INFO, "修改乘客密码成功!", WC);
goto personal_set_menu;
}
else
{
message(INFO, "修改乘客密码时发生异常,修改失败!", WC);
goto personal_set_menu;
}
break;
case '2': // 退出个人设置菜单
CLS;
message(WARN, "真的要退出个人设置菜单吗(Y/N)?", NULL);
choice = getch();
if (('y' == choice) || ('Y' == choice))
{
if (1 == mgr)
{
goto admin_menu; // 确认是管理员调用
}
else
{
goto psngr_menu; // 确认是普通乘客调用
}
}
else
{
goto personal_set_menu;
}
break;
default:
goto personal_set_menu;
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -