Solution to Assignment 2 Total Marks: 100 (80 + 20)
#include <iostream>
#include <iomanip> //for setw()
#include <string>
using namespace std;
const int NUM = 10;
const float FLIGHT = 1600.00;
const float F_TIMES[5][2] = {{7.00,9.30}, {9.00,11.30},
{11.00,13.30}, {13.00,15.30},
{15.00,17.30}};
struct travelBooking
{
string travellerName;
string travelClass;
float departureTime;
float arrivalTime;
string seatNo;
};
bool validateTimeOption(int opt)
{
if(opt == 1 || opt == 2 || opt == 3 || opt == 4 || opt == 5)
return true;
else
return false;
}
bool validateSeat(travelBooking t[], string sNo, int timeChoice)
{
bool notBooked = true;
float dTime;
dTime = F_TIMES[timeChoice - 1][0];
int i = 0;
//check if it is already booked
while(i < NUM)
{
if(t[i].seatNo == sNo && t[i].departureTime == dTime)
{
notBooked = false;
break;
}
i++;
}
, if(notBooked == false)
return false;
else
return true;
}
void timeMenu(int & timeChoice)
{
cout << "The available travel times for "
<< "flights are:" << endl;
cout << setw(16) << " Depart"
<< setw(7) << "Arrive" << endl;
for(int i = 0; i < 5; i++)
cout << i + 1 << setw(3) << "." << setw(12)
<< F_TIMES[i][0] << F_TIMES[i][1] << endl;
cout << "Choose the time by entering the "
<< "option number from the displayed list:" << endl;
do
{
cin >> timeChoice;
if(!validateTimeOption(timeChoice))
cout<< "Incorrect option! Please choose from 1-5.";
}while(!validateTimeOption(timeChoice));
}
//called the very first time, for any of the listed times
void displaySeats1()
{
int seatFlag = 0;
int divValue;
char row = 'A';
int col = 1;
divValue = 3;
cout.setf(ios::left);
//displaying the seats
cout << "First Class(";
cout << FLIGHT + FLIGHT * 0.20;
cout << ")" << endl;
cout << "|";
for(int i = 1; i <= 50; i++)
{
#include <iostream>
#include <iomanip> //for setw()
#include <string>
using namespace std;
const int NUM = 10;
const float FLIGHT = 1600.00;
const float F_TIMES[5][2] = {{7.00,9.30}, {9.00,11.30},
{11.00,13.30}, {13.00,15.30},
{15.00,17.30}};
struct travelBooking
{
string travellerName;
string travelClass;
float departureTime;
float arrivalTime;
string seatNo;
};
bool validateTimeOption(int opt)
{
if(opt == 1 || opt == 2 || opt == 3 || opt == 4 || opt == 5)
return true;
else
return false;
}
bool validateSeat(travelBooking t[], string sNo, int timeChoice)
{
bool notBooked = true;
float dTime;
dTime = F_TIMES[timeChoice - 1][0];
int i = 0;
//check if it is already booked
while(i < NUM)
{
if(t[i].seatNo == sNo && t[i].departureTime == dTime)
{
notBooked = false;
break;
}
i++;
}
, if(notBooked == false)
return false;
else
return true;
}
void timeMenu(int & timeChoice)
{
cout << "The available travel times for "
<< "flights are:" << endl;
cout << setw(16) << " Depart"
<< setw(7) << "Arrive" << endl;
for(int i = 0; i < 5; i++)
cout << i + 1 << setw(3) << "." << setw(12)
<< F_TIMES[i][0] << F_TIMES[i][1] << endl;
cout << "Choose the time by entering the "
<< "option number from the displayed list:" << endl;
do
{
cin >> timeChoice;
if(!validateTimeOption(timeChoice))
cout<< "Incorrect option! Please choose from 1-5.";
}while(!validateTimeOption(timeChoice));
}
//called the very first time, for any of the listed times
void displaySeats1()
{
int seatFlag = 0;
int divValue;
char row = 'A';
int col = 1;
divValue = 3;
cout.setf(ios::left);
//displaying the seats
cout << "First Class(";
cout << FLIGHT + FLIGHT * 0.20;
cout << ")" << endl;
cout << "|";
for(int i = 1; i <= 50; i++)
{