Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<string>
- #include<cstdlib>
- using namespace std;
- const string newLatLong = "42 degrees 21' 29\" N / 71 degrees 3' 37\" W";
- class Airplane
- {
- private:
- string latLong;
- double altitude;
- double speed;
- public:
- void setSpeed(double newSpeed); //check for stall speed (< 80)
- void setAltitude(double newAltitude); // check for alt (< 0)
- double getSpeed();
- double getAltitude();
- Airplane(); // default constructor- sets everything to 0
- Airplane(double newSpeed, double newAltitude, string newLatLong);
- };
- class Airliner: public Airplane
- {
- private:
- double heading;
- double distance;
- public:
- void setHeading(double newHeading);
- void setDistance(double newDistance);
- double getHeading();
- double getDistance();
- Airliner();
- Airliner(double newSpeed, double newAltitude, string newlatLong, double newHeading, double newDistance);
- };
- int main()
- {
- //Airplane yourJet; //test default constructor
- Airplane yourJet(80, 400, newLatLong); //fail speed
- cout << "The speed, altitude, and position of the plane are " << yourJet.getSpeed() << " mph, " << yourJet.getAltitude() << " feet, and " << newLatLong << endl;
- cout << endl;
- Airplane yourJet2(200, -5, newLatLong); //fail altitude
- cout << "The speed, altitude, and position of the plane are " << yourJet2.getSpeed() << " mph, " << yourJet2.getAltitude() << " feet, and " << newLatLong << endl;
- cout << endl;
- Airplane yourJet3(101, 1, newLatLong); //succeed speed and altitude
- cout << "The speed, altitude, and position of the plane are " << yourJet3.getSpeed() << " mph, " << yourJet3.getAltitude() << " feet, and " << newLatLong << endl;
- cout << endl;
- //Airliner jetBlue; //test default constructor
- Airliner jetBlue(400, 10000, newLatLong, 390.00, 100); // purposely failed heading test
- cout << "Heading: " << jetBlue.getHeading() << " Distance: " << jetBlue.getDistance() << endl;
- cout << endl;
- Airliner jetBlue2(400, 10000, newLatLong, 200.00, -10); //failed distance
- cout << "Heading: " << jetBlue2.getHeading() << " Distance: " << jetBlue2.getDistance() << endl;
- cout << endl;
- Airliner jetBlue3(400, 10000, newLatLong, 100.00, 700); //everything succeeds
- cout << "Heading: " << jetBlue3.getHeading() << " Distance: " << jetBlue3.getDistance() << " Speed: " << jetBlue3.getSpeed() << " Altitude: " << jetBlue2.getAltitude() << " Position: " << newLatLong << endl;
- return 0;
- }
- void Airplane::setSpeed(double newSpeed)
- {
- if(newSpeed > 80.00)
- {
- speed = newSpeed;
- }
- else
- {
- cout << "Plane has crashed..." << endl;
- exit(1);
- }
- }
- double Airplane::getSpeed()
- {
- return speed;
- }
- void Airplane::setAltitude(double newAltitude)
- {
- if(newAltitude >= 0)
- altitude = newAltitude;
- else
- {
- cout << "Plane has crashed...";
- exit(1);
- }
- }
- double Airplane::getAltitude()
- {
- return altitude;
- }
- Airplane::Airplane() : speed(0), altitude(0), latLong(newLatLong)// default constructor- sets everything to 0
- {
- }
- Airplane::Airplane(double newSpeed, double newAltitude, string newLatLong)
- {
- if(newSpeed > 88)
- speed = newSpeed;
- else
- {
- cout << "Plane has crashed...";
- }
- if(newAltitude >= 0)
- altitude = newAltitude;
- else
- {
- cout << "Plane has crashed...";
- }
- }
- Airliner::Airliner() : Airplane(), heading(0), distance(0)
- {
- //intentionally empty
- }
- Airliner::Airliner(double newSpeed, double newAltitude, string newLatLong, double newHeading, double newDistance)
- {
- Airplane(newSpeed, newAltitude, newLatLong);
- heading = newHeading;
- setHeading(newHeading);
- distance = newDistance;
- setDistance(newDistance);
- }
- void Airliner::setHeading(double newHeading)
- {
- if(newHeading >= 0 && newHeading < 360)
- {
- heading = newHeading;
- }
- else
- {
- heading = 0;
- cout << "I'm Lost..." << endl;
- }
- }
- double Airliner::getHeading()
- {
- return heading;
- }
- void Airliner::setDistance(double newDistance)
- {
- if(newDistance >=0)
- {
- distance = newDistance;
- }
- else
- {
- distance = 0;
- cout << "The plane has not moved" << endl;
- }
- }
- double Airliner::getDistance()
- {
- return distance;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement