| | |
I'm getting the wrong output when I run this program?
Please support our C++ advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: Nov 2008
Posts: 6
Reputation:
Solved Threads: 0
C++ Syntax (Toggle Plain Text)
/* Filename: odometer.cpp * Author: Tom Pizzo * Email address: pizzotm@clarkson.edu * Description: Program to track fuel and mileage for an automotive vehicle. * Last changed: Dec 1, 2008 */ #include <iostream> using namespace std; const char YES = 'y'; class Odometer { public: Odometer (); //Constructor function to initialize values to zero. void input(); //Recieves input from user. void set_mile (double new_miles, double new_fuel); //resets Fuel and miles according to arguments. void set_odo(double temp_odometer); void output(double gas_burned); //Displays how much gas is burned from the input of the user. void get_fuel_efficiency(double temp_odometer,double new_miles, double& gas_burned); double add_to_odometer(double temp_odometer, double new_miles ); //Takes miles driven on the trip and adds them to the odometer. char play_again(char y_or_n); //Prompts user to enter another trip. double reset_odo(double temp_odometer, char reset_variable); //Prompts user to reset odometer or not. private: double miles_driven; double fuel_efficiency; }; int main (){ Odometer trip; char y_or_n; char variable,reset_variable; double gas_burned; double new_miles,new_fuel,temp_odometer,new_odo; do{ trip.input(); trip.set_mile(new_miles,new_fuel); //trip.set_odo(temp_odometer); //trip.add_to_odometer(new_miles,temp_odometer); trip.get_fuel_efficiency(temp_odometer,new_fuel,gas_burned); trip.output(gas_burned); variable = trip.play_again(y_or_n); if (variable == YES){ trip.reset_odo(temp_odometer,reset_variable); } }while(variable == YES); return 0; } //Function definitions. Odometer::Odometer() { miles_driven = 0.0; fuel_efficiency = 0.0; odometer = 0.0; return; } void Odometer::input(){ using namespace std; cout << "Tell me about your trip!"; cout << "\nFuel efficiency(MPG)?"; cin >> fuel_efficiency; cout << "\nMiles driven?"; cin >> miles_driven; return; } void Odometer::set_mile(double new_miles, double new_fuel){ miles_driven = new_miles; fuel_efficiency = new_fuel; return; } void Odometer::set_odo(double temp_odometer){ temp_odometer = odometer; return; } double Odometer::add_to_odometer(double temp_odometer,double new_miles){ temp_odometer = odometer + new_miles; return te } void Odometer::get_fuel_efficiency(double temp_odometer, double new_fuel,double& gas_burned){ gas_burned = milestemp_odometer / new_fuel; return; } void Odometer::output(double gas_burned){ using namespace std; cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(2); cout << "You've burned "<<gas_burned<<" of gas so far."; return; } char Odometer::play_again(char y_or_n){ cout <<"\nAdd another trip?"; cin >> y_or_n; return y_or_n; } double Odometer::reset_odo(double temp_odometer,char reset_variable){ cout<<"Reset odometer(y,n)?"; cin>> reset_variable ; if (reset_variable == YES){ temp_odometer = 0; } else temp_odometer = temp_odometer; return temp_odometer; }
It should take in miles driven and the fuel efficiency of the trip and return how many gallons of gas has been used from the trip. It will then prompt the user if they want to add another trip and reset the odometer. Please help, I'm having a hard time bugging this. Just need another set of eyes to look at it.
c++ Syntax (Toggle Plain Text)
/* Filename: odometer.cpp * Author: Tom Pizzo * Email address: pizzotm@clarkson.edu * Description: Program to track fuel and mileage for an automotive vehicle. * Last changed: Dec 1, 2008 */ #include <iostream> using namespace std; const char YES = 'y'; class Odometer { public: Odometer (); //Constructor function to initialize values to zero. void input(); //Recieves input from user. void set_mile (double &new_miles, double &new_fuel); //resets Fuel and miles according to arguments. void set_odo(double &temp_odometer); void output(double gas_burned); //Displays how much gas is burned from the input of the user. void get_fuel_efficiency(double temp_odometer,double new_miles, double& gas_burned); double add_to_odometer(double &temp_odometer, double new_miles ); //Takes miles driven on the trip and adds them to the odometer. char play_again(char y_or_n); //Prompts user to enter another trip. double reset_odo(double &temp_odometer, char reset_variable); //Prompts user to reset odometer or not. private: double miles_driven; double fuel_efficiency; double odometer; }; int main (){ Odometer trip; char y_or_n; char variable,reset_variable; double gas_burned; double new_miles,new_fuel,temp_odometer,new_odo; do{ trip.input(); trip.set_mile(new_miles,new_fuel); trip.set_odo(temp_odometer); //trip.add_to_odometer(new_miles,temp_odometer); trip.get_fuel_efficiency(temp_odometer,new_fuel,gas_burned); trip.output(gas_burned); variable = trip.play_again(y_or_n); if (variable == YES){ trip.reset_odo(temp_odometer,reset_variable); } }while(variable == YES); return 0; } //Function definitions. Odometer::Odometer() { miles_driven = 0.0; fuel_efficiency = 0.0; odometer = 0.0; return; } void Odometer::input(){ using namespace std; cout << "Tell me about your trip!"; cout << "\nFuel efficiency(MPG)?"; cin >> fuel_efficiency; cout << "\nMiles driven?"; cin >> miles_driven; return; } void Odometer::set_mile(double &new_miles, double &new_fuel){ new_miles=miles_driven; new_fuel=fuel_efficiency; } void Odometer::set_odo(double &temp_odometer){ std::cout<<"Set new odo, please! : "; cin>>odometer; temp_odometer = odometer; } double Odometer::add_to_odometer(double &temp_odometer,double new_miles){ temp_odometer = odometer + new_miles; return 0.0; } void Odometer::get_fuel_efficiency(double temp_odometer, double new_fuel,double& gas_burned){ gas_burned = temp_odometer / new_fuel; } void Odometer::output(double gas_burned){ using namespace std; cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(2); cout << "You've burned "<<gas_burned<<" of gas so far."; return; } char Odometer::play_again(char y_or_n){ cout <<"\nAdd another trip?"; cin >> y_or_n; return y_or_n; } double Odometer::reset_odo(double &temp_odometer,char reset_variable){ cout<<"Reset odometer(y,n)?"; cin>> reset_variable ; if (reset_variable == YES){ temp_odometer = 0; } return 0.0; }
Last edited by cikara21; Dec 5th, 2008 at 2:34 am.
![]() |
Similar Threads
- Problem with program, integer divisble by 7 and 2, also average question (C++)
- passing data to a program (C++)
- error: too many arguments to function `mysql_query' (C)
- what's wrong (C++)
- C program please help (C)
- Deitel's "C++ How To Program" exercise 2.18 (C++)
- Array data not setting (C++)
- wrong output in c program (C++)
- How to develop a new program (C++)
Other Threads in the C++ Forum
- Previous Thread: A Puzzling Address Book...
- Next Thread: Adding two angles, need some help
| Thread Tools | Search this Thread |
api array based beginner binary c++ c/c++ calculator char char* class classes code compile compiler console conversion count delete deploy desktop directshow dll download dynamic dynamiccharacterarray email encryption error file forms fstream function functions game givemetehcodez google graph gui homeworkhelp homeworkhelper iamthwee ifstream input int integer java lib linkedlist linker linux list loop looping loops map math matrix memory news node numbertoword output parameter pointer problem program programming project proxy python random read recursion recursive reference return rpg sorting string strings struct temperature template templates test text text-file tree unix url variable vector video visualstudio win32 windows winsock wordfrequency wxwidgets






