Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.04 KB | None | 0 0
  1. #include<iostream>
  2. #include<string>
  3. #include<cstdlib>
  4. using namespace std;
  5. const string newLatLong = "42 degrees 21' 29\" N / 71 degrees 3' 37\" W";
  6. class Airplane
  7. {
  8. private:
  9.     string latLong;
  10.     double altitude;
  11.     double speed;
  12. public:
  13.     void setSpeed(double newSpeed); //check for stall speed (< 80)
  14.     void setAltitude(double newAltitude); // check for alt (< 0)
  15.     double getSpeed();
  16.     double getAltitude();
  17.     Airplane(); // default constructor- sets everything to 0
  18.     Airplane(double newSpeed, double newAltitude, string newLatLong);
  19. };
  20. class Airliner: public Airplane
  21. {
  22. private:
  23.     double heading;
  24.     double distance;
  25. public:
  26.     void setHeading(double newHeading);
  27.     void setDistance(double newDistance);
  28.     double getHeading();
  29.     double getDistance();
  30.     Airliner();
  31.     Airliner(double newSpeed, double newAltitude, string newlatLong, double newHeading, double newDistance);
  32. };
  33.  
  34. int main()
  35. {
  36.     //Airplane yourJet; //test default constructor
  37.     Airplane yourJet(80, 400, newLatLong); //fail speed
  38.     cout << "The speed, altitude, and position of the plane are " << yourJet.getSpeed() << " mph, " << yourJet.getAltitude() << " feet, and " << newLatLong << endl;
  39.     cout << endl;
  40.     Airplane yourJet2(200, -5, newLatLong); //fail altitude
  41.     cout << "The speed, altitude, and position of the plane are " << yourJet2.getSpeed() << " mph, " << yourJet2.getAltitude() << " feet, and " << newLatLong << endl;
  42.     cout << endl;
  43.     Airplane yourJet3(101, 1, newLatLong); //succeed speed and altitude
  44.     cout << "The speed, altitude, and position of the plane are " << yourJet3.getSpeed() << " mph, " << yourJet3.getAltitude() << " feet, and " << newLatLong << endl;
  45.     cout << endl;
  46.     //Airliner jetBlue; //test default constructor
  47.     Airliner jetBlue(400, 10000, newLatLong, 390.00, 100); // purposely failed heading test
  48.     cout << "Heading: " << jetBlue.getHeading() << " Distance: " << jetBlue.getDistance() << endl;
  49.     cout << endl;
  50.     Airliner jetBlue2(400, 10000, newLatLong, 200.00, -10); //failed distance
  51.     cout << "Heading: " << jetBlue2.getHeading() << " Distance: " << jetBlue2.getDistance() << endl;
  52.     cout << endl;
  53.     Airliner jetBlue3(400, 10000, newLatLong, 100.00, 700); //everything succeeds
  54.     cout << "Heading: " << jetBlue3.getHeading() << " Distance: " << jetBlue3.getDistance() << " Speed: " << jetBlue3.getSpeed() << " Altitude: " << jetBlue2.getAltitude() << " Position: " << newLatLong << endl;
  55.     return 0;
  56. }
  57.  
  58. void Airplane::setSpeed(double newSpeed)
  59. {
  60.     if(newSpeed > 80.00)
  61.     {
  62.         speed =  newSpeed;
  63.     }
  64.     else
  65.     {
  66.         cout << "Plane has crashed..." << endl;
  67.         exit(1);
  68.     }
  69. }
  70.  
  71. double Airplane::getSpeed()
  72. {
  73.     return speed;
  74. }
  75.  
  76. void Airplane::setAltitude(double newAltitude)
  77. {
  78.     if(newAltitude >= 0)
  79.         altitude = newAltitude;
  80.     else
  81.     {
  82.         cout << "Plane has crashed...";
  83.         exit(1);
  84.     }
  85. }
  86.  
  87. double Airplane::getAltitude()
  88. {
  89.     return altitude;
  90. }
  91.  
  92. Airplane::Airplane() : speed(0), altitude(0), latLong(newLatLong)// default constructor- sets everything to 0
  93. {
  94.  
  95. }
  96.  
  97. Airplane::Airplane(double newSpeed, double newAltitude, string newLatLong)
  98. {
  99.     if(newSpeed > 88)
  100.         speed = newSpeed;
  101.     else
  102.     {
  103.         cout << "Plane has crashed...";
  104.     }
  105.     if(newAltitude >= 0)
  106.         altitude = newAltitude;
  107.     else
  108.     {
  109.         cout << "Plane has crashed...";
  110.     }
  111. }
  112.  
  113. Airliner::Airliner() : Airplane(), heading(0), distance(0)
  114. {
  115.     //intentionally empty
  116. }
  117.  
  118. Airliner::Airliner(double newSpeed, double newAltitude, string newLatLong, double newHeading, double newDistance)
  119. {
  120.     Airplane(newSpeed, newAltitude, newLatLong);
  121.     heading = newHeading;
  122.     setHeading(newHeading);
  123.     distance = newDistance;
  124.     setDistance(newDistance);
  125. }
  126.  
  127. void Airliner::setHeading(double newHeading)
  128. {
  129.     if(newHeading >= 0 && newHeading < 360)
  130.     {
  131.         heading = newHeading;
  132.     }
  133.     else
  134.     {
  135.         heading = 0;
  136.         cout << "I'm Lost..." << endl;
  137.     }
  138. }
  139.  
  140. double Airliner::getHeading()
  141. {
  142.     return heading;
  143. }
  144.  
  145. void Airliner::setDistance(double newDistance)
  146. {
  147.     if(newDistance >=0)
  148.     {
  149.         distance = newDistance;
  150.     }
  151.     else
  152.     {
  153.         distance = 0;
  154.         cout << "The plane has not moved" << endl;
  155.     }
  156. }
  157.  
  158. double Airliner::getDistance()
  159. {
  160.     return distance;
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement