Define a class called Odometer that will be used to track fuel and mileage for an automotive vehicle. The class should have member variables to track the miles driven and the fuel efficiency of the vehicle in miles per gallon. Include a mutator function to reset the odometer to zero miles, a mutator function to set the fuel efficiency, a mutator function that accepts miles driven for a trip and adds it to the odometers total, and an accessor method that returns the number of gallons of gasoline that the vehicle has consumed since the odometer was last reset.
Getting lots of errors and I cant figure it out...
#include <iostream>using namespace std;class odometer{ int gallons_consumed;private: int miles_tracker; double fuel_eff; int getmilespublic: odometer(); void reset(); void compute_fuel(); void input_miles(int getmiles); void odometer::set_fuel_eff(double fuel_eff); double odometer::get_num_gallons();};odometer::odometer(){ miles_tracker = 0; fuel_eff = 0;}void odometer::reset(){ miles_tracker = 0;}void odometer::compute_fuel(){ fuel_eff = (miles_tracker/gallons_consumed);}void odometer::input_miles(int miles_driven){ miles_tracker = miles_tracker + miles_driven;}void odometer::set_fuel_eff(double Fuel_eff){ fuel_eff = Fuel_eff;}double odometer::get_num_gallons(){ return miles_tracker/fuel_eff;}int main(){ odometer simulator; int miles_driven int fueleff; cout<<"Enter the amount of miles driven :"<<endl; cin>> miles_driven; simulator.reset(); simulator.input_miles(miles_driven); count << "Enter feul efficiency : "<<endl; cin >> fueleff; simulator.set_fuel_eff(fueleff); cout<<"Number of miles:"<<simulator.getmiles()<<end1 cout<<"Number of Gallons consumed: "<<simulator.get_num_gallons()<<endl; system("pause");}
I assume you are building this odometer class for learning purposes?
Instead of solving the problem for you, I'll try to give some hints.
1. Normally you get lots of errors in a C++ compiler, even if you made one typing error. Start by looking closely at the first error message
2. If the error message makes sense, solve the problem and recompile.
3. If you are getting error message that are not clear to you, please post the error message.
boula
ASKER
Yeah i am just not seeing it. IM not sure, am I calling the functions wrong in my main? maybe it is because my brain is mush I been working on this all day.
here is a list of errors I cant figure it out.
11: error: expected `;' before "public"
:21: error: definition of implicitly-declared `odometer::odometer()'
:21: error: declaration of `odometer::odometer()' throws different exceptions
:5: error: than previous declaration `odometer::odometer() throw ()'
In function `int main()':
26: error: `void odometer::reset()' is private
54: error: within this context
34: error: `void odometer::input_miles(int)' is private
55: error: within this context
56: error: invalid operands of types `<unknown type>' and `const char[25]' to binary `operator<<'
:38: error: `void odometer::set_fuel_eff(double)' is private
58: error: within this context
59: error: 'class odometer' has no member named 'getmiles'
60: error: `end1' undeclared (first use this function)
60: error: (Each undeclared identifier is reported only once for each function it appears in.)
:60: error: expected `;' before "cout"
Execution terminated
Gonna keep messing with it, thanks for your help.
boula
ASKER
well i took care of 8 errors. these are the errors that I am dealing with now.
: In function `int main()':
:58: error: invalid operands of types `<unknown type>' and `const char[25]' to binary `operator<<'
10: error: `int odometer::getmiles' is private
61: error: within this context
:61: error: `simulator.odometer::getmiles' cannot be used as a function
:62: error: `end1' undeclared (first use this function)
62: error: (Each undeclared identifier is reported only once for each function it appears in.)
:62: error: expected `;' before "cout"
Ok, I am down to just 2 errors. I hope someone can help me out because i am not sure what to do to fix them.
59 invalid operands of types `<unknown type>' and `const char[25]' to binary `operator<<'
62 `simulator.odometer::getmiles' cannot be used as a function
#include <iostream>using namespace std;class odometer{ int gallons_consumed;private: int miles_tracker; double fuel_eff; public: odometer(); void reset(); void compute_fuel(); void input_miles(int getmiles); void odometer::set_fuel_eff(double fuel_eff); double odometer::get_num_gallons(); int getmiles;};odometer::odometer(){ miles_tracker = 0; fuel_eff = 0;}void odometer::reset(){ miles_tracker = 0;}void odometer::compute_fuel(){ fuel_eff = (miles_tracker/gallons_consumed);}void odometer::input_miles(int miles_driven){ miles_tracker = miles_tracker + miles_driven;}void odometer::set_fuel_eff(double Fuel_eff){ fuel_eff = Fuel_eff;}double odometer::get_num_gallons(){ return miles_tracker/fuel_eff;}int main(){ odometer simulator; int miles_driven; int fueleff; cout<<"Enter the amount of miles driven :"<<endl; cin>> miles_driven; simulator.reset(); simulator.input_miles(miles_driven); count << "Enter fuel efficiency : "<< endl; cin >> fueleff; simulator.set_fuel_eff(fueleff); cout<<"Number of miles:"<<simulator.getmiles()<< endl; cout << "Number of Gallons consumed: "<<simulator.get_num_gallons()<<endl; system("pause");}
>>>> cout<<"Number of miles:"<<simulator.getmiles()<< endl;
As far as I see getmiles is an int and not a function. Hence you would need to remove the () after getmiles.
BTW, getmiles is a poor name for a data member and the error was only caused by the poor naming.
itsmeandnobodyelse
>>>> line 61: getmiles is a member variable of odometer, not a member function.
Sorry, anneb. Didn't read your last comment thoroughly before posting.
Instead of solving the problem for you, I'll try to give some hints.
1. Normally you get lots of errors in a C++ compiler, even if you made one typing error. Start by looking closely at the first error message
2. If the error message makes sense, solve the problem and recompile.
3. If you are getting error message that are not clear to you, please post the error message.