void searchByFlightNumber(struct Flight *flights, int numFlights, int flightNumber) {
for (int i = 0; i < numFlights; i++) {
if (flights[i].flightNumber == flightNumber) {
printf("班次号:%d\n", flights[i].flightNumber);
printf("起飞时间:%s\n", flights[i].departureTime)
代码不完整
不知道你这个问题是否已经解决, 如果还没有解决的话:对于实现一个机票管理系统的代码,你可以按照以下步骤进行:
typedef struct {
char flightDate[20];
char departureCity[20];
char destinationCity[20];
char passengerName[50];
} Ticket;
#define MAX_TICKETS 100
Ticket tickets[MAX_TICKETS];
int numTickets = 0;
void addTicket() {
if (numTickets < MAX_TICKETS) {
Ticket ticket;
printf("Flight Date: ");
scanf("%s", ticket.flightDate);
printf("Departure City: ");
scanf("%s", ticket.departureCity);
printf("Destination City: ");
scanf("%s", ticket.destinationCity);
printf("Passenger Name: ");
scanf("%s", ticket.passengerName);
tickets[numTickets++] = ticket;
printf("Ticket added successfully.\n");
} else {
printf("Max limit reached. Cannot add more tickets.\n");
}
}
b. 删除机票功能:根据用户输入的索引,将对应位置的机票从数组中删除。
void deleteTicket() {
int index;
printf("Enter the index of the ticket to delete: ");
scanf("%d", &index);
if (index >= 0 && index < numTickets) {
for (int i = index; i < numTickets - 1; i++) {
tickets[i] = tickets[i + 1];
}
numTickets--;
printf("Ticket deleted successfully.\n");
} else {
printf("Invalid index.\n");
}
}
c. 修改机票功能:根据用户输入的索引,修改对应位置的机票的某个属性值。
void editTicket() {
int index;
char newName[50];
printf("Enter the index of the ticket to edit: ");
scanf("%d", &index);
if (index >= 0 && index < numTickets) {
printf("Enter the new passenger name: ");
scanf("%s", newName);
strcpy(tickets[index].passengerName, newName);
printf("Ticket edited successfully.\n");
} else {
printf("Invalid index.\n");
}
}
d. 查询机票功能:根据用户输入的条件,查询特定的机票信息并打印出来。
void searchTicket() {
char keyword[50];
int found = 0;
printf("Enter a keyword to search for: ");
scanf("%s", keyword);
for (int i = 0; i < numTickets; i++) {
if (strstr(tickets[i].passengerName, keyword) != NULL) {
printf("Ticket %d:\n", i + 1);
printf("Flight Date: %s\n", tickets[i].flightDate);
printf("Departure City: %s\n", tickets[i].departureCity);
printf("Destination City: %s\n", tickets[i].destinationCity);
printf("Passenger Name: %s\n", tickets[i].passengerName);
printf("----------------------------------------\n");
found = 1;
}
}
if (!found) {
printf("No matching tickets found.\n");
}
}
int main() {
int choice;
do {
printf("Ticket Management System:\n");
printf("1. Add Ticket\n");
printf("2. Delete Ticket\n");
printf("3. Edit Ticket\n");
printf("4. Search Ticket\n");
printf("0. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch(choice) {
case 1: addTicket(); break;
case 2: deleteTicket(); break;
case 3: editTicket(); break;
case 4: searchTicket(); break;
case 0: printf("Exiting...\n"); break;
default: printf("Invalid choice.\n"); break;
}
} while (choice != 0);
return 0;
}
通过以上步骤,你可以实现一个简单的机票管理系统。用户可以添加、删除、修改和查询机票信息。请注意,这只是一个基本的示例实现,你可以根据需求进行变动和扩展。