(Must be C++) Write a program that can be used to assign seats for a commercial
ID: 668293 • Letter: #
Question
(Must be C++)
Write a program that can be used to assign seats for a commercial airplane. The airplane has 13 rows, with six seats in each row. Rows 1 and 2 are first class, rows 3 through 7 are business class, and rows 8 through 13 are economy class. Your program must prompt the user to enter the following information:
a. Ticket type (first class, business class, or economy class)
b. Desired seat
Output the seating plan in the following form:
A B C D E F
Row 1 * * X * X X
Row 2 * X * X * X
Row 3 * * X X * X
Row 4 X * X * X X
Row 5 * X * X * *
Row 6 * X * * * X
Row 7 X * * * X X
Row 8 * X * X X *
Row 9 X * X X * X
Row 10 * X * X X X
Row 11 * * X * X *
Row 12 * * X X * X
Row 13 * * * * X *
(Must have lines (walls) between each row and colum and/ or line to show in an organized way. See picture here. http://postimg.org/image/adysk40wz/
Here, * indicates that the seat is available; X indicates that the seat is occupied. Make this a menu-driven program; show the user's choices and allow the user to make the appropriate choices.
Explanation / Answer
#include <iostream>
#include <string>
#include <stdio.h>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[])
{
int airplane[13][6];
char airchar[13][6];
string ticket;
int row[2];
char seat;
for(int i = 0; i < 13; i++)
{
for(int j = 0; j < 6; j++)
{
airchar[i][j] = '*';
airplane[i][j] = 0;
}
}
for(;;)
{
cout<<"Rows 1 and 2 are first class (FC)"<<endl;
cout<<"Rows 3 through 7 are business class (BC)"<<endl;
cout<<"Rows 8 through 13 are economy class (EC)"<<endl;
cout<<endl;
cout<<"* - Available"<<endl;
cout<<"X - Occupied"<<endl;
cout<<endl;
cout<<" A B C D E F"<<endl;
cout<<"Row 1 "<<airchar[0][0]<<" "<<airchar[0][1]<<" "
<<airchar[0][2]<<" "<<airchar[0][3]<<" "<<airchar[0][4]<<" "
<<airchar[0][5]<<endl;
cout<<"Row 2 "<<airchar[1][0]<<" "<<airchar[1][1]<<" "
<<airchar[1][2]<<" "<<airchar[1][3]<<" "<<airchar[1][4]<<" "
<<airchar[1][5]<<endl;
cout<<"Row 3 "<<airchar[2][0]<<" "<<airchar[2][1]<<" "
<<airchar[2][2]<<" "<<airchar[2][3]<<" "<<airchar[2][4]<<" "
<<airchar[2][5]<<endl;
cout<<"Row 4 "<<airchar[3][0]<<" "<<airchar[3][1]<<" "
<<airchar[3][2]<<" "<<airchar[3][3]<<" "<<airchar[3][4]<<" "
<<airchar[3][5]<<endl;
cout<<"Row 5 "<<airchar[4][0]<<" "<<airchar[4][1]<<" "
<<airchar[4][2]<<" "<<airchar[4][3]<<" "<<airchar[4][4]<<" "
<<airchar[4][5]<<endl;
cout<<"Row 6 "<<airchar[5][0]<<" "<<airchar[5][1]<<" "
<<airchar[5][2]<<" "<<airchar[5][3]<<" "<<airchar[5][4]<<" "
<<airchar[5][5]<<endl;
cout<<"Row 7 "<<airchar[6][0]<<" "<<airchar[6][1]<<" "
<<airchar[6][2]<<" "<<airchar[6][3]<<" "<<airchar[6][4]<<" "
<<airchar[6][5]<<endl;
cout<<"Row 8 "<<airchar[7][0]<<" "<<airchar[7][1]<<" "
<<airchar[7][2]<<" "<<airchar[7][3]<<" "<<airchar[7][4]<<" "
<<airchar[7][5]<<endl;
cout<<"Row 9 "<<airchar[8][0]<<" "<<airchar[8][1]<<" "
<<airchar[8][2]<<" "<<airchar[8][3]<<" "<<airchar[8][4]<<" "
<<airchar[8][5]<<endl;
cout<<"Row 10 "<<airchar[9][0]<<" "<<airchar[9][1]<<" "
<<airchar[9][2]<<" "<<airchar[9][3]<<" "<<airchar[9][4]<<" "
<<airchar[9][5]<<endl;
cout<<"Row 11 "<<airchar[10][0]<<" "<<airchar[10][1]<<" "
<<airchar[10][2]<<" "<<airchar[10][3]<<" "<<airchar[10][4]<<" "
<<airchar[10][5]<<endl;
cout<<"Row 12 "<<airchar[11][0]<<" "<<airchar[11][1]<<" "
<<airchar[11][2]<<" "<<airchar[11][3]<<" "<<airchar[11][4]<<" "
<<airchar[11][5]<<endl;
cout<<"Row 13 "<<airchar[12][0]<<" "<<airchar[12][1]<<" "
<<airchar[12][2]<<" "<<airchar[12][3]<<" "<<airchar[12][4]<<" "
<<airchar[12][5]<<endl;
cout<<endl;
cout<<"Enter Ticket type (FC, BC, or EC): ";
cin>>ticket;
cout<<"Desired Row: ";
cin>>row[0];
cout<<"Desired seat (A,B,C,D,E or F): ";
cin>>seat;
switch(seat)
{
case 'A':
case 'a':
row[0] = row[0] - 1;
row[1] = 1;
row[1] = row[1] - 1;
break;
case 'B':
case 'b':
row[0] = row[0] - 1;
row[1] = 2;
row[1] = row[1] - 1;
break;
case 'C':
case 'c':
row[0] = row[0] - 1;
row[1] = 3;
row[1] = row[1] - 1;
break;
case 'D':
case 'd':
row[0] = row[0] - 1;
row[1] = 4;
row[1] = row[1] - 1;
break;
case 'E':
case 'e':
row[0] = row[0] - 1;
row[1] = 5;
row[1] = row[1] - 1;
break;
case 'F':
case 'f':
row[0] = row[0] - 1;
row[1] = 6;
row[1] = row[1] - 1;
break;
}
if(ticket == "FC")
{
if(row[0]+1 == 1 || row[0]+1 == 2)
{
if(airplane[row[0]][row[1]] == 0)
{
airplane[row[0]][row[1]] = 1;
airchar[row[0]][row[1]] = 'X';
}
else if(airplane[row[0]][row[1]] == 1)
{
cout<<"Message: Seat "<<row[0] + 1<<seat<<" is already occupied"<<endl;
system("Pause");
}
}
else
{
cout<<"Wrong Class"<<endl;
system("Pause");
system("cls");
continue;
}
}
else if(ticket == "BC")
{
if(row[0]+1 == 3 || row[0]+1 == 4 || row[0]+1 == 5 || row[0]+1 == 6|| row[0]+1 == 7)
{
if(airplane[row[0]][row[1]] == 0)
{
airplane[row[0]][row[1]] = 1;
airchar[row[0]][row[1]] = 'X';
}
else if(airplane[row[0]][row[1]] == 1)
{
cout<<"Message: Seat "<<row[0] + 1<<seat<<" is already occupied"<<endl;
system("Pause");
}
}
else
{
cout<<"Wrong Class"<<endl;
system("Pause");
system("cls");
continue;
}
}
else if(ticket == "EC")
{
if(row[0]+1 == 8 || row[0]+1 == 9 || row[0]+1 == 10 || row[0]+1 == 11|| row[0]+1 == 12|| row[0]+1 == 13)
{
if(airplane[row[0]][row[1]] == 0)
{
airplane[row[0]][row[1]] = 1;
airchar[row[0]][row[1]] = 'X';
}
else if(airplane[row[0]][row[1]] == 1)
{
cout<<"Message: Seat "<<row[0] + 1<<seat<<" is already occupied"<<endl;
system("Pause");
}
}
else
{
cout<<"Wrong Class"<<endl;
system("Pause");
system("cls");
continue;
}
}
row[0] = 0;
row[1] = 0;
system("cls");
}
return 0;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.