Create a struct called Booking that consists of a 3 digit flight number (e.g. 234), type of seat (E or B), the price of a seat in economic class and the number of seats booked. Declare an array to store at least 30 Booking structs.
![](/static/compass_v2/shared-icons/check-mark.png)
#include <iostream>
#include <random>
#include<iomanip>
using namespace std;
struct Booking
{
int flightNumber;
char typeOfSeat;
double priceOfTicket;
int numberOfTickets;
};
void displayListOfBooking(Booking booking[100], int n)
{
cout << "\n\nList of Bookings Made";
cout << "\n\tFlight Number\tBooking Type\tPrice per ticket\tNumber of seats";
for (int i = 0; i < n; i++)
{
cout << "\n"
<< i + 1 << "\t"
<< booking[i].flightNumber << "\t\t"
<< booking[i].typeOfSeat << "\t"
<<setprecision(2) << std::fixed
<< booking[i].priceOfTicket
<< "\t\t\t" << booking[i].numberOfTickets;
}
}
void calculateBookings(Booking booking[100],int n){
cout << "\n\nRevenue from Bookings";
cout << "\n\tFlight Number\tBooking Type\tAmount(R.c)";
int numOfE = 0,numOfB = 0;
double totalOfE = 0, totalOfB = 0;
for (int i = 0; i < n; i++)
{
cout << "\n"
<< i + 1 << "\t"
<< booking[i].flightNumber << "\t\t"
<< booking[i].typeOfSeat << "\t"
<< setprecision(2) << std::fixed
<< booking[i].priceOfTicket * booking[i].numberOfTickets;
if(booking[i].typeOfSeat == 'E' || booking[i].typeOfSeat == 'e'){
numOfE++;
totalOfE += booking[i].priceOfTicket * booking[i].numberOfTickets;
}
else if (booking[i].typeOfSeat == 'B' || booking[i].typeOfSeat == 'b')
{
numOfB++;
totalOfB += booking[i].priceOfTicket * booking[i].numberOfTickets;
}
}
cout<<"\n\nTotal number of Economic seats : \t"<<numOfE;
cout << "\nRevenue from Economic seat bookings : \tR " << setprecision(2) << std::fixed << totalOfE;
cout << "\n\nTotal number of Business seats : \t" << numOfB;
cout << "\nRevenue from Business seat bookings : \tR " << setprecision(2) << std::fixed << totalOfB;
cout << "\n\nTotal Revenue : \t\t\t\tR " << setprecision(2) << std::fixed << totalOfE + totalOfB;
}
int main()
{
Booking booking[100];
string choice;
int i = 0;
do
{
cout << "\nDo you want to Book (Y or N)? : ";
cin >> choice;
if (choice.compare("Y") != 0 && choice.compare("y") != 0)
{
break;
}
cout << "\nEnter Type of Seat (E or B): ";
cin >> booking[i].typeOfSeat;
cout << "\nEnter Price of Seat: ";
cin >> booking[i].priceOfTicket;
cout << "\nEnter Number of Seats: ";
cin >> booking[i].numberOfTickets;
booking[i].flightNumber = 100 + rand() % 900;
i++;
} while (true);
displayListOfBooking(booking, i);
calculateBookings(booking,i);
return 0;
}
Step by step
Solved in 2 steps with 2 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Concepts of Database Management](https://www.bartleby.com/isbn_cover_images/9781337093422/9781337093422_smallCoverImage.gif)
![Prelude to Programming](https://www.bartleby.com/isbn_cover_images/9780133750423/9780133750423_smallCoverImage.jpg)
![Sc Business Data Communications and Networking, T…](https://www.bartleby.com/isbn_cover_images/9781119368830/9781119368830_smallCoverImage.gif)