⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 train_booking_main.c

📁 火车定标系统...用VC编译通过的
💻 C
📖 第 1 页 / 共 2 页
字号:
				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 + -