I'm supposed to build a program that calculates miles per gallon when given the radius & revolutions of a car's tires, and the amount of gas used, but every time I try to test it out the final answer is always slightly off from the correct answer.
Code:
#include <stdio.h>
//Constants
const int PI = 3.14159;
#define INCHES_IN_MILE 63360
int main() {
int revs;
double rad, gas, dist;
//Get user input.
printf("What is the radius of your tires, in inches?\n");
scanf("%lf", &rad);
printf("How many revolutions did your car's tires make?\n");
scanf("%d", &revs);
printf("How many gallons of gas did your car use?\n");
scanf("%lf", &gas);
//Calculate & print MPG
dist = ((rad*2*PI)*(revs)) / INCHES_IN_MILE;
printf("Your car averaged %.2f miles per gallon.\n", dist/gas);
return 0;
}
Did I mess up the code for the math somewhere?
The correct math should be the radius x 2 x Pi, which is the circumference, and then that multiplied by the tire revolutions gives you the distance in inches. Divide that by the amount of inches in a mile gives you the distance traveled in miles. And when the distance is divided by the amount of gas used it should give you the mpg.
An example of an answer I get is:
Radius: 15
Revolutions: 10,000
Gallons: 0.75
The mpg should be 19.83 but the program gives me 18.94.
Any ideas?