I'm getting the wrong output when I run this program?

Reply

Join Date: Nov 2008
Posts: 6
Reputation: piznut25 is an unknown quantity at this point 
Solved Threads: 0
piznut25 piznut25 is offline Offline
Newbie Poster

I'm getting the wrong output when I run this program?

 
0
  #1
Dec 4th, 2008
  1. /* Filename: odometer.cpp
  2.  * Author: Tom Pizzo
  3.  * Email address: pizzotm@clarkson.edu
  4.  * Description: Program to track fuel and mileage for an automotive vehicle.
  5.  * Last changed: Dec 1, 2008
  6.  */
  7.  
  8. #include <iostream>
  9.  
  10. using namespace std;
  11.  
  12. const char YES = 'y';
  13.  
  14. class Odometer {
  15.  
  16. public:
  17. Odometer ();
  18. //Constructor function to initialize values to zero.
  19.  
  20. void input();
  21. //Recieves input from user.
  22. void set_mile (double new_miles, double new_fuel);
  23. //resets Fuel and miles according to arguments.
  24. void set_odo(double temp_odometer);
  25.  
  26. void output(double gas_burned);
  27. //Displays how much gas is burned from the input of the user.
  28.  
  29. void get_fuel_efficiency(double temp_odometer,double new_miles, double& gas_burned);
  30.  
  31. double add_to_odometer(double temp_odometer, double new_miles );
  32. //Takes miles driven on the trip and adds them to the odometer.
  33. char play_again(char y_or_n);
  34. //Prompts user to enter another trip.
  35. double reset_odo(double temp_odometer, char reset_variable);
  36. //Prompts user to reset odometer or not.
  37.  
  38.  
  39. private:
  40.  
  41. double miles_driven;
  42. double fuel_efficiency;
  43.  
  44. };
  45.  
  46. int main (){
  47.  
  48. Odometer trip;
  49. char y_or_n;
  50. char variable,reset_variable;
  51. double gas_burned;
  52. double new_miles,new_fuel,temp_odometer,new_odo;
  53.  
  54. do{
  55.  
  56. trip.input();
  57. trip.set_mile(new_miles,new_fuel);
  58. //trip.set_odo(temp_odometer);
  59. //trip.add_to_odometer(new_miles,temp_odometer);
  60. trip.get_fuel_efficiency(temp_odometer,new_fuel,gas_burned);
  61. trip.output(gas_burned);
  62. variable = trip.play_again(y_or_n);
  63.  
  64. if (variable == YES){
  65. trip.reset_odo(temp_odometer,reset_variable);
  66.  
  67. }
  68.  
  69.  
  70. }while(variable == YES);
  71.  
  72. return 0;
  73.  
  74. }
  75.  
  76. //Function definitions.
  77.  
  78. Odometer::Odometer() {
  79.  
  80. miles_driven = 0.0;
  81. fuel_efficiency = 0.0;
  82. odometer = 0.0;
  83. return;
  84.  
  85. }
  86.  
  87. void Odometer::input(){
  88. using namespace std;
  89.  
  90. cout << "Tell me about your trip!";
  91. cout << "\nFuel efficiency(MPG)?";
  92.  
  93. cin >> fuel_efficiency;
  94.  
  95. cout << "\nMiles driven?";
  96.  
  97. cin >> miles_driven;
  98. return;
  99.  
  100. }
  101.  
  102. void Odometer::set_mile(double new_miles, double new_fuel){
  103.  
  104. miles_driven = new_miles;
  105. fuel_efficiency = new_fuel;
  106. return;
  107. }
  108.  
  109. void Odometer::set_odo(double temp_odometer){
  110.  
  111. temp_odometer = odometer;
  112.  
  113. return;
  114. }
  115. double Odometer::add_to_odometer(double temp_odometer,double new_miles){
  116.  
  117. temp_odometer = odometer + new_miles;
  118.  
  119.  
  120. return te
  121.  
  122. }
  123.  
  124. void Odometer::get_fuel_efficiency(double temp_odometer, double new_fuel,double& gas_burned){
  125.  
  126. gas_burned = milestemp_odometer / new_fuel;
  127.  
  128. return;
  129. }
  130. void Odometer::output(double gas_burned){
  131.  
  132. using namespace std;
  133.  
  134. cout.setf(ios::fixed);
  135. cout.setf(ios::showpoint);
  136. cout.precision(2);
  137.  
  138. cout << "You've burned "<<gas_burned<<" of gas so far.";
  139.  
  140. return;
  141.  
  142. }
  143.  
  144. char Odometer::play_again(char y_or_n){
  145.  
  146. cout <<"\nAdd another trip?";
  147.  
  148. cin >> y_or_n;
  149.  
  150. return y_or_n;
  151.  
  152. }
  153.  
  154. double Odometer::reset_odo(double temp_odometer,char reset_variable){
  155.  
  156. cout<<"Reset odometer(y,n)?";
  157.  
  158. cin>> reset_variable
  159. ;
  160. if (reset_variable == YES){
  161.  
  162. temp_odometer = 0;
  163. }
  164.  
  165. else
  166.  
  167. temp_odometer = temp_odometer;
  168.  
  169. return temp_odometer;
  170.  
  171. }


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.
Reply With Quote Quick reply to this message  
Join Date: Jul 2008
Posts: 320
Reputation: cikara21 is an unknown quantity at this point 
Solved Threads: 63
cikara21's Avatar
cikara21 cikara21 is offline Offline
Posting Whiz

Re: I'm getting the wrong output when I run this program?

 
0
  #2
Dec 4th, 2008
When?...
.:-cikara21-:.
Reply With Quote Quick reply to this message  
Join Date: Dec 2005
Posts: 5,851
Reputation: Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute 
Solved Threads: 749
Team Colleague
Salem's Avatar
Salem Salem is offline Offline
Void main'ers are DOOMed

Re: I'm getting the wrong output when I run this program?

 
0
  #3
Dec 5th, 2008
trip.input();
trip.set_mile(new_miles,new_fuel);

The first one reads input and assigns the class member vars.

The second just trashes the data with the uninitialised values in main. Just delete this line.
Reply With Quote Quick reply to this message  
Join Date: Jul 2008
Posts: 320
Reputation: cikara21 is an unknown quantity at this point 
Solved Threads: 63
cikara21's Avatar
cikara21 cikara21 is offline Offline
Posting Whiz

Re: I'm getting the wrong output when I run this program?

 
0
  #4
Dec 5th, 2008
  1. /* Filename: odometer.cpp
  2.  * Author: Tom Pizzo
  3.  * Email address: pizzotm@clarkson.edu
  4.  * Description: Program to track fuel and mileage for an automotive vehicle.
  5.  * Last changed: Dec 1, 2008
  6.  */
  7.  
  8. #include <iostream>
  9.  
  10. using namespace std;
  11.  
  12. const char YES = 'y';
  13.  
  14. class Odometer {
  15.  
  16. public:
  17. Odometer ();
  18. //Constructor function to initialize values to zero.
  19.  
  20. void input();
  21. //Recieves input from user.
  22. void set_mile (double &new_miles, double &new_fuel);
  23. //resets Fuel and miles according to arguments.
  24. void set_odo(double &temp_odometer);
  25.  
  26. void output(double gas_burned);
  27. //Displays how much gas is burned from the input of the user.
  28.  
  29. void get_fuel_efficiency(double temp_odometer,double new_miles, double& gas_burned);
  30.  
  31. double add_to_odometer(double &temp_odometer, double new_miles );
  32. //Takes miles driven on the trip and adds them to the odometer.
  33. char play_again(char y_or_n);
  34. //Prompts user to enter another trip.
  35. double reset_odo(double &temp_odometer, char reset_variable);
  36. //Prompts user to reset odometer or not.
  37.  
  38.  
  39. private:
  40.  
  41. double miles_driven;
  42. double fuel_efficiency;
  43. double odometer;
  44.  
  45. };
  46.  
  47. int main (){
  48.  
  49. Odometer trip;
  50. char y_or_n;
  51. char variable,reset_variable;
  52. double gas_burned;
  53. double new_miles,new_fuel,temp_odometer,new_odo;
  54.  
  55. do{
  56.  
  57. trip.input();
  58. trip.set_mile(new_miles,new_fuel);
  59. trip.set_odo(temp_odometer);
  60. //trip.add_to_odometer(new_miles,temp_odometer);
  61. trip.get_fuel_efficiency(temp_odometer,new_fuel,gas_burned);
  62. trip.output(gas_burned);
  63. variable = trip.play_again(y_or_n);
  64.  
  65. if (variable == YES){
  66. trip.reset_odo(temp_odometer,reset_variable);
  67.  
  68. }
  69.  
  70.  
  71. }while(variable == YES);
  72.  
  73. return 0;
  74.  
  75. }
  76.  
  77. //Function definitions.
  78.  
  79. Odometer::Odometer() {
  80.  
  81. miles_driven = 0.0;
  82. fuel_efficiency = 0.0;
  83. odometer = 0.0;
  84. return;
  85.  
  86. }
  87.  
  88. void Odometer::input(){
  89. using namespace std;
  90.  
  91. cout << "Tell me about your trip!";
  92. cout << "\nFuel efficiency(MPG)?";
  93.  
  94. cin >> fuel_efficiency;
  95.  
  96. cout << "\nMiles driven?";
  97.  
  98. cin >> miles_driven;
  99. return;
  100.  
  101. }
  102.  
  103. void Odometer::set_mile(double &new_miles, double &new_fuel){
  104.  
  105. new_miles=miles_driven;
  106. new_fuel=fuel_efficiency;
  107. }
  108.  
  109. void Odometer::set_odo(double &temp_odometer){
  110.  
  111. std::cout<<"Set new odo, please! : ";
  112. cin>>odometer;
  113. temp_odometer = odometer;
  114.  
  115.  
  116. }
  117. double Odometer::add_to_odometer(double &temp_odometer,double new_miles){
  118.  
  119. temp_odometer = odometer + new_miles;
  120.  
  121.  
  122. return 0.0;
  123.  
  124. }
  125.  
  126. void Odometer::get_fuel_efficiency(double temp_odometer, double new_fuel,double& gas_burned){
  127.  
  128. gas_burned = temp_odometer / new_fuel;
  129.  
  130.  
  131. }
  132. void Odometer::output(double gas_burned){
  133.  
  134. using namespace std;
  135.  
  136. cout.setf(ios::fixed);
  137. cout.setf(ios::showpoint);
  138. cout.precision(2);
  139.  
  140. cout << "You've burned "<<gas_burned<<" of gas so far.";
  141.  
  142. return;
  143.  
  144. }
  145.  
  146. char Odometer::play_again(char y_or_n){
  147.  
  148. cout <<"\nAdd another trip?";
  149.  
  150. cin >> y_or_n;
  151.  
  152. return y_or_n;
  153.  
  154. }
  155.  
  156. double Odometer::reset_odo(double &temp_odometer,char reset_variable){
  157.  
  158. cout<<"Reset odometer(y,n)?";
  159.  
  160. cin>> reset_variable
  161. ;
  162. if (reset_variable == YES){
  163.  
  164. temp_odometer = 0;
  165. }
  166.  
  167.  
  168.  
  169.  
  170.  
  171. return 0.0;
  172.  
  173. }
Last edited by cikara21; Dec 5th, 2008 at 2:34 am.
.:-cikara21-:.
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC