Create a Flight class that uses the Plane and Time class Thi

Create a Flight class that uses the Plane and Time class. This class will represent a flight between two airports, using a specific Plane, and departing at a specific Time. It should contain a constructor, 7 instance variables (plane, flight number, cost, departure, duration, source, destination), and 9 methods (see below).

Below is the code so far (only part of the final test FLIGHT is missing):

/**
*
* @author (your name), Acuna
*/
public class Driver {
    public static void main(String[] args) {
       
        testAirline();
        testAirport();
        testPlane();
        testTime();
        testFlight();
    }
   
    public static void testAirline() {
        System.out.println(\"==testAirline()==\");
       
        Airline a1 = Airline.American;
        Airline a2 = Airline.United;
        Airline a3 = Airline.Delta;
        Airline a4 = Airline.United;
       

        System.out.println(\"a1: \" + a1);
        System.out.println(\"a2 == a3: \" + (a1 == a2));
        System.out.println(\"a2 == a4: \" + (a2 == a4));

    }
   
    public static void testAirport() {
        System.out.println(\"==testAirport()==\");
       

        Airport a1 = Airport.PHX;
        Airport a2 = Airport.LAX;
        Airport a3 = Airport.SFO;
        Airport a4 = Airport.NRT;
        Airport a5 = Airport.SIN;
       
        System.out.println(\"a1: \" + a1);
        System.out.println(\"a2 == a3: \" + (a1 == a2));
        System.out.println(\"a2 == a4: \" + (a2 == a4));
        System.out.println(\"a1: \" + Airport.getAirportCity(a1));
        System.out.println(\"a3: \" + Airport.getAirportCity(a3));
        System.out.println(\"a5: \" + Airport.getAirportCity(a5));
    
    }
   
    public static void testPlane() {
        System.out.println(\"==testPlane()==\");

        Plane p1 = new Plane(Airline.Delta, \"Boeing 717\");
        Plane p2 = new Plane(Airline.United, \"Airbus A321\");
       
        System.out.println(p1.getAirline());
        System.out.println(p1.getModel());
        System.out.println(p1);
        System.out.println(p2);
  
    }
   
    public static void testTime() {
        System.out.println(\"==testTime()==\");
       

        //Test 1: use default constructor.
        Time t1 = new Time();
       
        //Test 2: use overloaded constructor.
        Time t2 = new Time(9, 0);
        Time t3 = new Time(1, 15);
       
        //Test 3: use clone operation.
        Time t4 = t3.getCopy();
       
        //Test 4: run toString on AM times.
        System.out.println(new Time(0, 5));
        System.out.println(new Time(1, 15));
        System.out.println(new Time(2, 45));
        System.out.println(new Time(10, 5));
        System.out.println(new Time(11, 15));
       
        //Test 5: run toString on PM times.
        System.out.println(new Time(12, 45));
        System.out.println(new Time(13, 5));
        System.out.println(new Time(22, 15));
        System.out.println(new Time(23, 45));
       
        //Test 6: run toString on object from default constructor.
        System.out.println(\"t1: \" + t1);
       
        //Test 7: testing addTime operation
        System.out.println(\"t2: \" + t2);
        t2.addTime(t3);
        System.out.println(\"t2: \" + t2);
       
        //Test 8: testing addMinutes operation
        t2.addMinute(181);
        System.out.println(\"t2: \" + t2);
       
        //Test 9: testing8 addHours operation
        t2.addHours(2);
        System.out.println(\"t2: \" + t2);
       
        //Test 10: testing cloned copy.
        t4.addHours(1);
        System.out.println(\"t3: \" + t3);//original
        System.out.println(\"t4: \" + t4);//clone
       
        //Test 11: testing isEarlierThan.
        System.out.println(\"t3 < t4: \" + t3.isEarlierThan(t4));
        System.out.println(\"t4 < t3: \" + t4.isEarlierThan(t3));
        System.out.println(\"t2 < t4: \" + t2.isEarlierThan(t4));
        System.out.println(\"t4 < t2: \" + t4.isEarlierThan(t2));
        System.out.println(\"t2 < t2: \" + t2.isEarlierThan(t2));
       
        //Test 12: testing isLaterThan.
        System.out.println(\"t2 > t4: \" + t2.isLaterThan(t4));
        System.out.println(\"t4 > t2: \" + t4.isLaterThan(t2));
        System.out.println(\"t4 > t4: \" + t4.isLaterThan(t4));
       
        //Test 13: testing isSameTime.
        System.out.println(\"t2 = t4: \" + t2.isSameTime(t4));
        System.out.println(\"t4 = t4: \" + t4.isSameTime(t4));
        System.out.println(\"t4 = 2:15AM: \" + t4.isSameTime(new Time(2, 15)));

       
    }

   
    public static void testFlight() {
        System.out.println(\"==testFlight()==\");

        Flight f1 = new Flight(new Plane(Airline.American, \"Airbus A321\"),
                               \"495\",
                               79,
                               new Time(11,5), 100,
                               Airport.PHX, Airport.LAX);
       
        Flight f2 = new Flight(new Plane(Airline.Delta, \"Boeing 717\"),
                               \"1063\",
                               79,
                               new Time(7, 10),
                               95,
                               Airport.PHX,
                               Airport.LAX);
       
        Flight f3 = new Flight(new Plane(Airline.American, \"Airbus A321\"),
                               \"400\",
                               44,
                               new Time(21, 25),
                               127,
                               Airport.PHX,
                               Airport.SFO);
       
        Flight f4 = new Flight(new Plane(Airline.United, \"Boeing 787\"),
                               \"400\",
                               525,
                               new Time(10, 50),
                               715,
                               Airport.LAX,
                               Airport.NRT);
       
        Flight f5 = new Flight(new Plane(Airline.United, \"Boeing 737\"),
                               \"414\",
                               59,
                               new Time(6, 50),
                               85,
                               Airport.LAX,
                               Airport.SFO);
       
       
        System.out.println(f1.toDetailedString());
        System.out.println();
        System.out.println(f1.toOverviewString());
       
        System.out.println();
        System.out.println();
       
        System.out.println(f5.toDetailedString());
        System.out.println();
        System.out.println(f5.toOverviewString());

    }
}

Solution

#include<stdio.h>
#include<ctype.h>

#define MAX_NUM_SEATS (20)
#define MAX_NUM_SEATS_IN_FIRST_CLASS (5)
#define MAX_NUM_SEATS_IN_ECONOMY            (MAX_NUM_SEATS - MAX_NUM_SEATS_IN_FIRST_CLASS)

int main()
{
      int plane[MAX_NUM_SEATS] = {0}, i=0;
      int nNumSeatsInFirst = 0;
      int nNumSeatsInEconomy = 0;
      int nSeatAssignmentFirstClass = 1; // start at 1;
      int nSeatAssignmentEconomy = MAX_NUM_SEATS_IN_FIRST_CLASS + 1; // start at 6
      int choice;
      int nClass;
      int nCurrentSeatAssignment;//      firstClass=1,economy=6,choice;
      char response[2];
      char firstname[35], lastname[35];
      int       bPrintTicket;
      
      while( i < MAX_NUM_SEATS )
      {
            printf(\"\ %s\ %s\ \", \"Please type 1 for \\\"First class\\\"\",\"Please type 2 for\\\"Economy\\\"\");
            scanf(\"%d\", &choice);
            
            if( !( ( 1 == choice ) || ( 2 == choice ) ) )
            {
                  continue;
            }
            
            // start out assuming we will print ticket!
            bPrintTicket = 1;
            
            printf(\"\ Enter first name:\");
            scanf(\"%s\",firstname);
            
            printf(\"\ Enter lastname :\");
            scanf(\"%s\", lastname);
            
            nClass = choice; // store the class before doing all the logical checks

            /****************************************************************/            
            /*************** ECONOMY SECTION ***************/
            /****************************************************************/
            if( 2 == choice )
            {
                  // check for economy full
                  if( nNumSeatsInEconomy >= MAX_NUM_SEATS_IN_ECONOMY )
                  {
                        // economy full
                        // check for first class (plane ) full
                        if( nNumSeatsInFirst <= MAX_NUM_SEATS_IN_FIRST_CLASS )
                        {
                              printf(\"The economy section is full.\ \");
                              printf(\"would you like to sit in first class \");
                              printf(\"section( Y or N)?\");
                              scanf(\"%s\", response);
                              
                              if ( toupper(response[0])==\'Y\')
                              {
                                    // print ticket!
                                    bPrintTicket = 1;
                                    printf( \"Your seat assignment is %d\ \", nSeatAssignmentFirstClass );
                                    nCurrentSeatAssignment = nSeatAssignmentFirstClass;
                                    plane[nSeatAssignmentFirstClass - 1] = 1;
                                    nSeatAssignmentFirstClass++;
                                    nNumSeatsInFirst++;
                                    nClass = 1;
                                    i++;
                              }
                              else                              
                              {
                                    // don\'t print ticket!
                                    bPrintTicket = 0;
                                    printf(\"Next flight leaves in 3 hours.\ \");
                              }
                        }
                        else
                        {
                              // don\'t print ticket!
                              bPrintTicket = 0;
                              // print out that plane is full
                              printf(\"Plane is full, next flight in 3 hours\ \");
                        }
                  }
                  else
                  {      
                        // economy is not full                        
                        printf(\"Your seat assignment is %d\ \", nSeatAssignmentEconomy );
                        plane[(nSeatAssignmentEconomy - 1)] = 1;
                        nCurrentSeatAssignment = nSeatAssignmentEconomy;
                        nSeatAssignmentEconomy++;
                        nNumSeatsInEconomy++;                        
                        i++;
                  }
            } // if( choice == 2 )
            

            /****************************************************************/            
            /*************** FIRST CLASS SECTION ***************/
            /****************************************************************/
            if( 1 == choice )
            {
                  // check for fisrt class full
                  if( nNumSeatsInFirst >= MAX_NUM_SEATS_IN_FIRST_CLASS )
                  {
                        // first class full
                        // check for economy class (plane) full
                        if( nNumSeatsInEconomy <= MAX_NUM_SEATS_IN_ECONOMY )
                        {
                              printf(\"The First Class section is full.\ \");
                              printf(\"Would you like to sit in the economy \");
                              printf(\"section (Y or N)?\");
                              scanf(\"%s\", response);
                              
                              
                              if(toupper(response[0])==\'Y\')
                              {                                    
                                    printf(\"Your seat assignment is %d\ \",nSeatAssignmentEconomy);
                                    plane[nSeatAssignmentEconomy - 1] = 1;
                                    nCurrentSeatAssignment = nSeatAssignmentEconomy;
                                    nSeatAssignmentEconomy++;
                                    nNumSeatsInEconomy++;
                                    i++;
                                    nClass = 2;
                              }
                              else
                              {
                                    // don\'t print ticket!
                                    bPrintTicket = 0;
                                    printf(\"Next flight leaves in 3 hours.\ \");
                              }
                        }
                        else
                        {
                              // don\'t print ticket!
                              bPrintTicket = 0;
                              // print out that plane is full
                              printf(\"Plane is full, next flight in 3 hours\ \");
                        }
                  }
                  else
                  {
                        // first is not full
                        printf(\"Your seat assignment is %d\ \", nSeatAssignmentFirstClass );
                        plane[(nSeatAssignmentFirstClass - 1)] = 1;
                        nCurrentSeatAssignment = nSeatAssignmentFirstClass;
                        nSeatAssignmentFirstClass++;
                        nNumSeatsInFirst++;
                        
                        i++;
                  }
            }
            
            if( 1 == bPrintTicket )
            {
                  printf(\" ****************************************\ \");
                  printf(\" * *\ \");
                  printf(\" NAME:%s, %s \ \",lastname,firstname);
                  printf(\" * *\ \");
                  printf(\" CLASS:%d \ \",nClass);
                  printf(\" * *\ \");
                  printf(\" SEAT:%d \ \",nCurrentSeatAssignment);
                  printf(\" * *\ \");
                  printf(\" \ \");
                  printf(\" ****************************************\ \");
            }
            
}
  
printf(\"\ All the seats for this flight are sold\ \");
  
return 0;
}

Create a Flight class that uses the Plane and Time class. This class will represent a flight between two airports, using a specific Plane, and departing at a sp
Create a Flight class that uses the Plane and Time class. This class will represent a flight between two airports, using a specific Plane, and departing at a sp
Create a Flight class that uses the Plane and Time class. This class will represent a flight between two airports, using a specific Plane, and departing at a sp
Create a Flight class that uses the Plane and Time class. This class will represent a flight between two airports, using a specific Plane, and departing at a sp
Create a Flight class that uses the Plane and Time class. This class will represent a flight between two airports, using a specific Plane, and departing at a sp
Create a Flight class that uses the Plane and Time class. This class will represent a flight between two airports, using a specific Plane, and departing at a sp

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site