Project 2
#ifndef VEHICLE_H
#define VEHICLE_H
#include <iostream>
#include <fstream>
#include <iomanip>
#include <functional>
#include <algorithm>
#include <string>
#include <cstdlib>
#include <sstream>
using namespace std;
//Vehicle Class
class Vehicle {
protected:
Vehicle myVehicle[int n];
string make; //make
string model; // model
string odometer; // odometer
int year; // year
int mileage; // miles on car
string type; //Type of vehicle
string fueltype;//type of fuel
public:
//Constructor that will set information for a new car
void New_vehicle (string a, string b, string c, int d, int e,string f)
{make = a; model = b; odometer = o; year = d; mileage = e;fueltype = f;}
Vehicle(); //Default constructor
Vehicle(string, string, string, int, int, string,string);
//mutator and accessor functions
void setMake(string);
void setModel(string);
void setOdometer(string);
void setYear(int);
void setMileage(int);
void setType(string);
void setfueltype(string);
string getMake();
string getModel();
string getOdometer();
int getYear();
int getMileage();
string getType();
string fueltype();
//Check mileage to see if valid
void valid_mileage(int);
//virtual function
virtual void details() {
}
};
//Sets to default values
Vehicle::Vehicle() {
make = " ";
model = " ";
odometer = " ";
year = 0;
mileage = 0;
type = " ";
fueltype = " ";
}
enum Type{
gas,diesel,electric
};
Vehicle::Vehicle(string make, string model, string odometer, int year, int mileage, string type,string fueltype) {
Vehicle::make = make;
Vehicle::model = model;
Vehicle::odometer = odometer;
Vehicle::year = year;
valid_mileage(mileage);
Vehicle::type = type;
Vehicle::fueltype = fueltype;
}
virtual Type getType() = 0;
void Vehicle::setMake(string make) {
Vehicle::make = make;
}
void Vehicle::setModel(string model) {
Vehicle::model = model;
}
void Vehicle::setOdometer(string odometer) {
Vehicle::ododmeter = odometer;
}
void Vehicle::setYear(int year) {
Vehicle::year = year;
}
void Vehicle::setMileage(int mileage) {
valid_mileage(mileage);
}
void Vehicle::setType(string type) {
Vehicle::type = type;
}
void Vehicle::setfueltype(string fueltype){
Vehicle::fueltype = fueltype;
}
string Vehicle::getMake() {
return make;
}
string Vehicle::getModel() {
return model;
}
string Vehicle::getOdometer() {
return odometer;
}
int Vehicle::getYear() {
return year;
}
int Vehicle::getMileage() {
return mileage;
}
string Vehicle::getType() {
return type;
}
string Vehicle::getfueltype(){
return fueltype;
}
public class Vehicle
{
private addVehicle;
private ListVehicle;
private UpdateVehicle;
private RemoveVehicle;
private TireRotation;
private Oilchange;
private Recharge;
public Vehicle()
{
cout << " 0. Quit.\n"
cout<< " 1. List inventory.\n"
cout<< " 2. Add vehicle.\n"
cout<< " 3. Update vehicle\n"
cout<< " 4. Remove vehicle\n"
cout<< " 5. Tire Rotation\n"
cout<< " 6. Oil Change\n"
cout<< " 7. Recharge\n"
}
string Vehicle::getNewMake() {
return newmake;
}
string Vehicle::getNewModel() {
return newmodel;
}
string Vehicle::getNewOdometer() {
return newodometer;
}
int Vehicle::getNewType() {
return newtype;
}
void Vehicle::valid_select car(int car) {
if (car type!= fueltype)
Vehicle::gascar;
else
{
Vehicle::electriccar;
cout<<"Car type is not a fuel\n";
}
void Vehicle::valid_mileage(int mileage) {
if (mileage>=0)
Vehicle::mileage=mileage;
else {
Vehicle::mileage=0;
cout << "WARNING! You have entered invalid mileage!\n";
}
Vehicle& getVehicle(int n) {
return myVehicle[n];
}
void Vehicle::valid_newodometerreading(int odometer)
{
string Vehicle::getNewOdometerreading() {
return newodometerreading;
}
};
#endif