2、班车信息管理
一交通公司,班车系统的数据包括如下两部分:
①班车信息:班交及车号、最大载客数、起点、开车时间、终地点、到达终点站时间,单价;
② 乘客信息:车次及车号、身份证号码、姓名、性别、出生年月、座位号。
乘客订票的主要方式是:乘客提供起点、时间、终点、订票数等订票要求,根据事先保存的班数据决定乘客能否订票?只有全部满足了乘客的订票要求并且所订班次有足够的未订座位之后才能完成订票处理,并且修改该班次的未订座位数(每个班的未订座位数的初始值就是该班次的最大载客数);否则,订票失败,并且给出不能订票的原因。
功能要求 :
⑴ 增加班次记录。将新的次班记录增加到原有的次班数据中。在进行处理时必须检查所要增加的班次记录是否存在,如果已经存在,应给出提示信息后停止增加;
⑵ 班次取消。如果某班次的乘客数太少(已订票的少于本次班次最大载客数的10%),将取消该班次,但该班欠的记录仍然保存在原有的班数据中;
⑶ 班次查询。应该有以下几种基本的查询方式:按班次号、按起点和时间、按终地点,和时间;
⑷ 班次订票。按上述问题描述中的乘客订票方式完成班次订票处理。
⑸ 设计一个菜单,至少具有上述操作要求的基本功能。
程序:
/*****************************************
*********广东海洋大学校车订票系统*********
******************************************/
/***********头文件**************/
#include<iostream>
#include<time.h>
#include<windows.h>
#include <stdlib.h>
#include<stdio.h>
#include <fstream>
#include<iomanip>
#include<string.h>
/***************************************/
using namespace std; //使用名字空间std
#define uchar unsigned char
#define uint unsigned int
const int MAX=20; //最大班次容量(可修改 )
const int N=1000; //最大乘客容量(可修改 )
/***********子函数声明************/
void choose(); //功能选择子函数
void welcome(); //主菜单界面子函数
void pas_booking(); //订票子函数
void sta_increase(); //增加班车子函数
void pas_change(); //乘客增减订票子函数
void ticket_increase(); //增加订票数
void ticket_decrease(); //减少订票数
void sta_scan(); //班车浏览子函数
void pas_search(); //班车查询子函数
void code_search(); //按班车号查询子函数
void start_search(); //按起点地址查询子函数
void end_search(); //按终点地址查询子函数
void time_search(); //按时间查询子函数
void quit(); //退出函数
void pas_write_file(int j); //将乘客信息写入txt文件
void car_write_file(int i); //将班车信息写入txt文件
int car_read_file(); //将班车信息从txt文件读出
int pas_read_file(); //将乘客信息从txt文件读出
void display_car(int i); //班车显示子函数
bool time_compare(int i); //与系统时间比较子函数
/******************************************************/
char temp,i,x,j;
int m,y,num,k;
struct time//日期时间
{
int hour;
int min;
};
struct date//日期
{
int year;
int month;
int day;
};
struct bus//班车信息
{
char bus_code[4]; //班车车号
int max_num; //最大车载容量
int ticket_num; //剩余票数
char starting[20]; //起点
struct time start_time; //开车时间
char destination[20]; //终点
float route_time; //行程时间
int price; //票价
}bus[MAX],BUS[MAX];
struct passager//旅客信息
{
char bus_code[4]; //班车车号
char ID_num[20]; //旅客身份证号
char name[20]; //旅客姓名
char sex[4]; //旅客性别
struct date birthday;//旅客出生日期
int seat_num; //订票数
}passager[N],p1;
int main()
{
system("Color f0");
welcome();
return 0;
}
void welcome()//主菜单界面
{
system("cls");
cout<<endl;
cout<<"==============================================================================="<<endl;
cout<<"||***************************************************************************||"<<endl;
cout<<"|| <||^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^||> ||"<<endl;
cout<<"|| <|| 欢迎光临广东海洋大学公车站 ||> ||"<<endl;
cout<<"|| <||________________________________________||> ||"<<endl;
cout<<"|| ****************************************** ||"<<endl;
cout<<"=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+="<<endl;
cout<<"||【 尊敬的旅客请注意:以下为主校区站订票系统,请按照正确的流程订票 】||"<<endl;
cout<<"||***************************************************************************||"<&l