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

i need some one help me figure out the error in my 2 functions accelerate and br

ID: 3634735 • Letter: I

Question

i need some one help me figure out the error in my 2 functions accelerate and break
when the letter H sent the speed should increase by 10 but 5 if letter is m means medium and by only one if letter l the same with break speed will decrease by 10 or 5 or 1 depend on the letters sent h or m or l
her my code

#include <iostream>
using namespace std;
//#include<cstring>
#include<string>

class Car
{
public:
Car(string make,string model,int y=2001); //constructor with three prameters
//constructor with two parameter
string GetMake();
string GetMode();
int GetYear();
int GetSpeed();

bool SetValue(string make,string model,int y); // set the fraction's value through parameters
void Display(); // display output
bool Accelerate(char c); //
bool Brake(char c);


private:

string carmake;
string carmodel ;
int carspeed;
int year;

};
int main()
{
Car car1("Ford", "Crown Victoria", 1997);
Car car2("Chevrolet", "Camaro");
Car car3("Hyundai", "Sonata", -15);

cout << " *** Displaying each car's stats ";
cout << "Car1: ";
car1.Display();
cout << " Car2: ";
car2.Display();
cout << " Car3: ";
car3.Display();

cout << " *** Accelerating car 3 several times: ";

car3.Accelerate('h'); // accelerate hard
cout << "Car3 speed: " << car3.GetSpeed() << ' ';

car3.Accelerate('M'); // accelerate medium
cout << "Car3 speed: " << car3.GetSpeed() << ' ';

car3.Accelerate('L'); // accelerate low
cout << "Car3 speed: " << car3.GetSpeed() << ' ';

car3.Accelerate('L'); // accelerate low
cout << "Car3 speed: " << car3.GetSpeed() << ' ';

car3.Accelerate('Z'); // accelerate with invalid level
cout << "Car3 speed: " << car3.GetSpeed() << ' ';

cout << " *** Resetting car make/models ";
car1.SetValue("Flinstones", "Rock Car", -2100);
car3.SetValue("Toyota", "Camry", 2005);

cout << "Car1: ";
car1.Display();
cout << " Car3: ";
car3.Display();

cout << " *** Decelerating car3 ";
car3.Brake('m');
cout << "Car3 speed: " << car3.GetSpeed() << ' ';
car3.Brake('L');
cout << "Car3 speed: " << car3.GetSpeed() << ' ';
car3.Brake('l');
cout << "Car3 speed: " << car3.GetSpeed() << ' ';
car3.Brake('M');
cout << "Car3 speed: " << car3.GetSpeed() << ' ';
car3.Brake('A');
cout << "Car3 speed: " << car3.GetSpeed() << ' ';
car3.Brake('H');
cout << "Car3 speed: " << car3.GetSpeed() << ' ';

cout << " *** Calling accessors ";
cout << "Car1: ";
cout << " Make: " << car1.GetMake() << ' '
<< " Model: " << car1.GetMode() << ' '
<< " Year: " << car1.GetYear() << ' ';

cout << "Car2: ";
cout << " Make: " << car2.GetMake() << ' '
<< " Model: " << car2.GetMode() << ' '
<< " Year: " << car2.GetYear() << ' ';

cout << "Car1: ";
cout << " Make: " << car3.GetMake() << ' '
<< " Model: " << car3.GetMode() << ' '
<< " Year: " << car3.GetYear() << ' ';

return 0;
}

//--------------- CAR.CPP ---------------
// The class definition for CAR.



//--------constructors definitions------------------

Car::Car(string make,string model,int y)
//constructor with three prameters
{
carmake=make;
carmodel=model;
carspeed=0;
if ( y<0)
year=2010;
else
year=y;
}

string Car::GetMake()
{
return carmake;
}


string Car::GetMode()
{
return carmodel;
}


int Car::GetYear()
{
return year;
}
int Car::GetSpeed()
{
return carspeed;
}


bool Car::SetValue(string make,string model,int y)
{
if(y<0)
{
carmake=make;
carmodel=model;
year=y;
return true;
}
else
return false;
}

void Car::Display()
{
cout<<"Your car is a "<<year<<" "<<carmake<<" "<<carmodel<<endl;
cout<< "And it is currently going "<<carspeed<<" "<<"MPH";
}
bool Car::Accelerate(char c)
{
if(!((c=='h')||(c='H')||(c=='m')||(c=='M')||(c=='l')||(c=='L')))

return false;
else
{
if(c=='h'||c=='H')
carspeed+=10;
if(c=='m'||c=='M')
carspeed+=5;
if(c=='l'||c=='L')
carspeed+=1;
return true;
}
}
bool Car::Brake(char c)
{
if((c=='h')||(c='H')||(c=='m')||(c=='M')||(c=='l')||(c=='L'))
{
if(c=='h'||c=='H'&& carspeed>10)
carspeed-=10;
if((c=='m')||(c=='M') && (carspeed>5))
carspeed-=5;
if((c=='l')||(c=='L')&&(carspeed>1))
carspeed-=1;
return true;
}
else
return false;
}


Explanation / Answer

please rate - thanks

it was order of operation && is before ||, but don't need it


#include <iostream>
using namespace std;
//#include<cstring>
#include<string>

class Car
{
public:
Car(string make,string model,int y=2001); //constructor with three prameters
//constructor with two parameter
string GetMake();
string GetMode();
int GetYear();
int GetSpeed();

bool SetValue(string make,string model,int y); // set the fraction's value through parameters
void Display(); // display output
bool Accelerate(char c); //
bool Brake(char c);


private:

string carmake;
string carmodel ;
int carspeed;
int year;

};
int main()
{
Car car1("Ford", "Crown Victoria", 1997);
Car car2("Chevrolet", "Camaro");
Car car3("Hyundai", "Sonata", -15);

cout << " *** Displaying each car's stats ";
cout << "Car1: ";
car1.Display();
cout << " Car2: ";
car2.Display();
cout << " Car3: ";
car3.Display();

cout << " *** Accelerating car 3 several times: ";

car3.Accelerate('h'); // accelerate hard
cout << "Car3 speed: " << car3.GetSpeed() << ' ';

car3.Accelerate('M'); // accelerate medium
cout << "Car3 speed: " << car3.GetSpeed() << ' ';

car3.Accelerate('L'); // accelerate low
cout << "Car3 speed: " << car3.GetSpeed() << ' ';

car3.Accelerate('L'); // accelerate low
cout << "Car3 speed: " << car3.GetSpeed() << ' ';

car3.Accelerate('Z'); // accelerate with invalid level
cout << "Car3 speed: " << car3.GetSpeed() << ' ';

cout << " *** Resetting car make/models ";
car1.SetValue("Flinstones", "Rock Car", -2100);
car3.SetValue("Toyota", "Camry", 2005);

cout << "Car1: ";
car1.Display();
cout << " Car3: ";
car3.Display();

cout << " *** Decelerating car3 ";
car3.Brake('m');
cout << "Car3 speed: " << car3.GetSpeed() << ' ';
car3.Brake('L');
cout << "Car3 speed: " << car3.GetSpeed() << ' ';
car3.Brake('l');
cout << "Car3 speed: " << car3.GetSpeed() << ' ';
car3.Brake('M');
cout << "Car3 speed: " << car3.GetSpeed() << ' ';
car3.Brake('A');
cout << "Car3 speed: " << car3.GetSpeed() << ' ';
car3.Brake('H');
cout << "Car3 speed: " << car3.GetSpeed() << ' ';

cout << " *** Calling accessors ";
cout << "Car1: ";
cout << " Make: " << car1.GetMake() << ' '
<< " Model: " << car1.GetMode() << ' '
<< " Year: " << car1.GetYear() << ' ';

cout << "Car2: ";
cout << " Make: " << car2.GetMake() << ' '
<< " Model: " << car2.GetMode() << ' '
<< " Year: " << car2.GetYear() << ' ';

cout << "Car1: ";
cout << " Make: " << car3.GetMake() << ' '
<< " Model: " << car3.GetMode() << ' '
<< " Year: " << car3.GetYear() << ' ';
system("pause");
return 0;
}

//--------------- CAR.CPP ---------------
// The class definition for CAR.



//--------constructors definitions------------------

Car::Car(string make,string model,int y)
//constructor with three prameters
{
carmake=make;
carmodel=model;
carspeed=0;
if ( y<0)
year=2010;
else
year=y;
}

string Car::GetMake()
{
return carmake;
}


string Car::GetMode()
{
return carmodel;
}


int Car::GetYear()
{
return year;
}
int Car::GetSpeed()
{
return carspeed;
}


bool Car::SetValue(string make,string model,int y)
{
if(y<0)
{
carmake=make;
carmodel=model;
year=y;
return true;
}
else
return false;
}

void Car::Display()
{
cout<<"Your car is a "<<year<<" "<<carmake<<" "<<carmodel<<endl;
cout<< "And it is currently going "<<carspeed<<" "<<"MPH";
}
bool Car::Accelerate(char c)
{

if(c=='h'||c=='H')
    carspeed+=10;
else if(c=='m'||c=='M')
    carspeed+=5;
else if(c=='l'||c=='L')
     carspeed+=1;
else
     return false;
return true;

}
bool Car::Brake(char c)
{if((c=='h'||c=='H')&& carspeed>10)
      carspeed-=10;
else if(((c=='m')||(c=='M')) && (carspeed>5))
     carspeed-=5;
else if(((c=='l')||(c=='L'))&&(carspeed>1))
      carspeed-=1;
else
     return false;     
return true;
}