void BookFlightTicket(Flight* p, Person* person, Person* person_noticket) { int i = -1; FlightDateShow(p); printf("请选择你要预定的航班编号:"); scanf("%d", &i); if ((p + i)->MaxTicketNum == (p + i)->buyTicketNum) { printf("对不起,该航班机票已售完!\n"); printf("请输入您的姓名(我们将把您添加进候补名单):"); scanf("%s", (person_noticket+_personnoticketsizeNumber)->person_name); (person_noticket + _personnoticketsizeNumber)->AirFlight_Num = i; _personnoticketsizeNumber++; printf("添加候补名单成功!\n\n"); return; } else { if (passengerSizeNumber > PERSON_MAXNUM) { printf("存储容量不足!\n"); return; } printf("请输入姓名:"); scanf("%s", (person + passengerSizeNumber)->person_name); printf("请输入日期:"); scanf("%s",(person + passengerSizeNumber)->date); printf("请输入你的身份证号:"); scanf("%s",(person + passengerSizeNumber)->person_id); (person + passengerSizeNumber)->AirFlight_Num = i; passengerSizeNumber++; (p + i)->buyTicketNum++; printf("订票成功!\n"); }
时间: 2024-01-28 20:03:20 浏览: 44
这段代码是一个函数 BookFlightTicket,其作用是预定航班机票。函数接受三个参数:指向 Flight 结构体的指针 p,指向 Person 结构体的指针 person,指向 Person 结构体的指针 person_noticket。函数首先显示航班日期信息,要求用户输入要预定的航班编号。如果该航班机票已售完,则要求用户输入姓名并将用户添加到候补名单中。如果存储容量不足,则提示存储容量不足。如果还有机票,要求用户输入姓名、日期和身份证号,并将用户添加到已预定名单中。最后,更新该航班的已售机票数量,显示订票成功的信息。
阅读全文