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.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
100%
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.
Expert Solution
Step 1: C++ code

#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;
}

steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY