Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please i need help with this. Thanks so much! Objective: The objective of this h

ID: 3851533 • Letter: P

Question

Please i need help with this. Thanks so much!

Objective:

The objective of this homework is to create a set of subclasses and a base class.

Task 1:   Download the following files and view the demo-code from class.

Download the starter code here: https://github.com/fuzzpault/UIndy-CSCI156-2016-Summer/tree/master/Solutions-Starters/HW06-Vehicles
Type make to compile the vehicle-sandbox.cpp file.
Type make test to run the vehicle_test.cpp file.
Type make coverage to find the code coverage on your tests.

Look at the following code for hints on completing this assignment: https://github.com/fuzzpault/UIndy-CSCI156-2016-Summer/tree/master/Week06-Inheritance-Poly

Task 2:   Create a base class and sub-classes inside vehicle.h.

Create a vehicle.h file.

Your task is to create 4 classes, Bike, Car, Truck, Airplane.   It is your job to choose appropriate types for all variables. Each class below should have it’s own constructor which specifies all parameters.

You MUST create a base class (Vehicle is a good name) to make your life easier!

Here are the specifications for the classes:

Bike class:

getColor, setColor - stored as a string.

getPrice - Returns a float. A new bike is $1000, and it depreciates 100 per year, down to 0.

1 passenger only

2 wheels

getYear, setYear - stored as an int. Year built. Use the current year if the given value is in the future.

print - Returns a string of the details of the vehicle.

Car class:

getColor, setColor - stored as a string.

getPrice - Returns a float. $5,000 per passenger, minus 500 depreciation per year, down to 100. +200 if it has air-conditioning. +100 if it has a DVD player.

getPassengers, setPassengers - 1 to 10 passengers.

getYear, setYear - stored as an int. Year built. Use the current year if the given value is in the future.

getAir, setAir - Bool if the car has air-conditioning.

getDVD, setDVD - Bool if the car has a DVD player

4 wheels

print - Returns a string of the details of the vehicle.

Truck class:

getColor, setColor - stored as a string.

getPrice - Returns a float. $10,000 base price, plus $1,000 per passenger, minus 500 depreciation per year, down to 200. $1.25 per carrying capability lb, $200 per wheel.

getPassengers, setPassengers - 1 to 4 passengers.

getYear, setYear - stored as an int. Year built. Use the current year if the given value is in the future.

getCap, setCap - Int for the lb it can carry, up to 20,000.

getWheels, setWheels - 4 - 16 wheels, integer, must be even

print - Returns a string of the details of the vehicle.

Airplane class:

getColor, setColor - stored as a string.

getPrice - Returns a float. $15,000 base price, plus $1,000 per passenger, minus 500 depreciation per year, down to1000. $5.25 per carrying capability lb, $100 per prop.

getPassengers, setPassengers - 1 to 40 passengers.

getYear, setYear - stored as an int. Year built. Use the current year if the given value is in the future.

getCap, setCap - Int for the lb it can carry, up to 20,000.

getProps, setProps - 1+, integer

print - Returns a string of the details of the vehicle.

If a vehicle has a set value (a bike only has 2 wheels), the setter exists but shouldn’t do anything.
All classes should only have a default constructor, you may have others, but they aren’t required.
All variables must be private or protected.
Use 2017 as the current year. (This is a constant at the top of vehicle.h)
If a value is provided which is outside the allowed values (10000 passengers), don’t do anything.

Task 3:   Write at least 20 unit tests in vehicle_test.cpp for all functionality. Your goal is to have 100% coverage (90% for full credit).

Explanation / Answer

vahicle.h:

#ifndef VEHICLE_H
#define VEHICLE_H

/*    @file vehicle.cpp
      @author < Fill Me In >
      @date < Fill Me In >
           @description Implements 5 classes for vehicle information
*/

#include <string>

using namespace std;

const int CURRENT_YEAR = 2017; // Use this variable whever you are doing
                                // your price/year calculations.

// Insert your classes below!

class vehicle{
    private: string color;
             float prise;
             int number; //number of passengers
          
    public:
        vehicle(){
      
      
    }
        string getColor(){
            return color;
        }
        void setColor(string col){
            color=col;
        }
      
        float getPrice(){
            return price;
        }
      
    
      
        int getPassenger(){
            return
        }
        void setPassenger(int i){
            n=i;
        }
  
} ;

class Bile : public vahicle{
    getPrice(int n){
        number=n;
        if(number==1){
            price = 1000;
        }
        return price;
    }
  
};

class Car : public vahicle{
    getPrice(int n, char ch1, char ch2){
        number=n;
        if(ch1=='y'&& ch2==Y){
            price = (n*5000)+200+100;
        }
        if(ch1=='y'|| ch2==Y){
            price = (n*5000);
        }
        if(ch1!='y'&& ch2==Y){
            price = (n*5000)+100;
        }
        if(ch1=='y'&& ch2!=Y){
            price = (n*5000)+100;
        }
        return price;
    }
  
};

class truck : public vahicle{
    getPrice(int n, char ch1, char ch2){
        number=n;
        if(ch1=='y'&& ch2==Y){
            price = 10000+(n*1000)+200+200;
        }
        if(ch1=='y'|| ch2==Y){
            price = 10000+(n*1000);
        }
        if(ch1!='y'&& ch2==Y){
            price = 10000+(n*1000)+200;
        }
        if(ch1=='y'&& ch2!=Y){
            price = 10000+(n*1000)+200;
        }
        return price;
    }
  
};

class airplane public vahicle{
    getPrice(int n, char ch1, char ch2){
        number=n;
        if(ch1=='y'&& ch2==Y){
            price = 15000+(n*1000)+2000+1000;
        }
        if(ch1=='y'|| ch2==Y){
            price = (n*1000);
        }
        if(ch1!='y'&& ch2==Y){
            price = 15000+(n*1000)+1000;
        }
        if(ch1=='y'&& ch2!=Y){
            price = 15000+(n*1000)+1000;
        }
        return price;
    }
  
};#endif

main.cpp

#include "gtest/gtest.h"

#include "vehicle.h"

TEST(car,name){
Car a;
a.setName("Olds");
EXPECT_EQ(a.getName(), "Olds");
}
int main(){
vehicle vih;
int n1;
char ch1,ch2;
cout<<"enter no of passengers";
cin>>n1;
cout<<"do you need air-conditioning (y/n)";
cin>>ch1;

cout<<"do you need DVD (y/n)";
cin>>ch2;
if(n1<=2)
vih.getBike(n1,ch1,ch2);
if(n1>=3 && n1<<=4)
    vih.getCar(n1,ch1,ch2);
if(n1>=5 && n1<<=10)
    vih.getTruck(n1,ch1,ch2);
if(n1>=11 && n1<<=40)
    vih.getAirPlane(n1,ch1,ch2);
}