# include<iostream>
# include<ctime>
using namespace std;
struct DepartureDate
{
int year;
int month;
int day;
};
struct DepartureTime
{
int hour;
int minute;
};
struct Ticket
{
string passengerName;//乘客姓名
DepartureDate departureDate;//出发日期
DepartureTime departureTime;//出发时间
int fromCityID;//始发站
int toCityID;//终点站
string passengerID;//身份证号
int carID;//车厢号6
char seatID[4];//座位号C06
char trainID[6];//车次D2509
char seatType;//座别,a:商务座、b:一等座、c二等座
char checkPort[4];//检票口A11
double ticketPrice;
int ticketID;
};
bool Refund(int ticketId);//退票
Ticket BookTicket(string name, int cityId, char seatType);//订票
bool ChangeSeatType(Ticket& ticket, char seatType);//更改座位类型
int main()
{
Ticket ticket;
char name[100];
int cityId;
char seatType;
cout << "购票中......" << endl;
cout << "请输入姓名" << endl;
cin >> name;
cout << "请输入目的地城市:0-北京,1-上海,2-大连" << endl;
cin >> cityId;
cout << "请输入座位类型:a-商务座、b-一等座、c-二等座" << endl;
cin >> seatType;
ticket=BookTicket(name,cityId,seatType);
cout << "订票完成" << ticket.ticketID << endl;
}
//订票
Ticket BookTicket(string name, int cityId, char seatType)
{
Ticket ticket = {};
strcpy(ticket.checkPort, "A11");
ticket.toCityID = cityId;
ticket.passengerName = name;
ticket.departureDate = { 2020,12,25 };
ticket.departureTime = { 4,15 };
ticket.seatType = seatType;
strcpy(ticket.trainID, "D2509");
ticket.ticketPrice = 237.5;
strcpy(ticket.seatID, "A06");
srand((int)time(0));
ticket.ticketID = rand() % 100;;
return ticket;
}
//退票
bool Refund(int ticketId)
{
return false;
}
//修改座位类型
bool ChangeSeatType(Ticket& ticket, char seatType)
{
ticket.seatType = seatType;
return true;
}
这个程序比较简单啊,你具体哪里看不懂啊,还是一句都看不懂?这决定注释要写到什么程度才适合你啊
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632