The following is the Ticket for ABOOD Bus service Passenger’s Names: Going to: Date of issue: Report time: Seat no: Fare: Date of travel: Departure time: Bus no: Write a program to generate tickets for 30 passengers and save these tickets in an output document file Hints: a. Make use of arrays to store data for every passenger b. Use function getline (cin, stringVar) for string variables input.

To generate tickets for 30 passengers and save them in an output document file, you can use C++ programming language. Here's an example program that accomplishes the task:

```cpp
#include <iostream>
#include <fstream>

struct Passenger {
std::string name;
std::string destination;
std::string dateOfIssue;
std::string reportTime;
std::string seatNo;
std::string fare;
std::string dateOfTravel;
std::string departureTime;
std::string busNo;
};

void generateTickets() {
Passenger passengers[30];

for (int i = 0; i < 30; i++) {
std::cout << "Enter passenger's name: ";
std::getline(std::cin, passengers[i].name);

std::cout << "Enter destination: ";
std::getline(std::cin, passengers[i].destination);

std::cout << "Enter date of issue: ";
std::getline(std::cin, passengers[i].dateOfIssue);

std::cout << "Enter report time: ";
std::getline(std::cin, passengers[i].reportTime);

std::cout << "Enter seat no: ";
std::getline(std::cin, passengers[i].seatNo);

std::cout << "Enter fare: ";
std::getline(std::cin, passengers[i].fare);

std::cout << "Enter date of travel: ";
std::getline(std::cin, passengers[i].dateOfTravel);

std::cout << "Enter departure time: ";
std::getline(std::cin, passengers[i].departureTime);

std::cout << "Enter bus no: ";
std::getline(std::cin, passengers[i].busNo);

std::cout << std::endl;
}

std::ofstream outputFile("tickets.txt");

if (outputFile.is_open()) {
for (int i = 0; i < 30; i++) {
outputFile << "Ticket " << (i+1) << ":\n";
outputFile << "Passenger's name: " << passengers[i].name << "\n";
outputFile << "Destination: " << passengers[i].destination << "\n";
outputFile << "Date of issue: " << passengers[i].dateOfIssue << "\n";
outputFile << "Report time: " << passengers[i].reportTime << "\n";
outputFile << "Seat no: " << passengers[i].seatNo << "\n";
outputFile << "Fare: " << passengers[i].fare << "\n";
outputFile << "Date of travel: " << passengers[i].dateOfTravel << "\n";
outputFile << "Departure time: " << passengers[i].departureTime << "\n";
outputFile << "Bus no: " << passengers[i].busNo << "\n\n";
}

outputFile.close();
std::cout << "Tickets have been generated and saved in tickets.txt" << std::endl;
}
else {
std::cout << "Error opening the output file." << std::endl;
}
}

int main() {
generateTickets();

return 0;
}
```

Explanation:

1. We define a `Passenger` struct to hold the ticket data for each passenger.
2. The `generateTickets` function prompts the user to enter the details for each passenger using `std::getline` to read string input. It then saves the entered data in the `Passenger` array.
3. We open an output file called "tickets.txt" using `std::ofstream`.
4. If the output file is open, we iterate over the `Passenger` array and write the ticket details to the file.
5. Finally, we close the file and print a success message. If the file cannot be opened, an error message is displayed.

To run the program:
1. Save the code in a file with a ".cpp" extension (e.g., "ticket_generator.cpp").
2. Compile the code using a C++ compiler (e.g., g++ -o ticket_generator ticket_generator.cpp) and run the executable (e.g., ./ticket_generator).
3. Follow the prompts to enter the details for each passenger.
4. After providing the details for all passengers, check the "tickets.txt" file for the generated tickets.