I'm scratching my head over this one. My input for feet is always recorded as 0 when I print within the calc() function, but it is correct when printed in the main() function. What's going on?
Code:#include <stdio.h> float input (void) { float x; scanf("%f", &x); getchar(); return x; } float calc () { float y, feet, inches; y = 30.48 * feet + 30.48 * (inches / 12); printf("%f and %f", feet, inches); printf("%f", y); return y; } void output () { int meters; float centimeters; printf("\nThe value is equivalent to %d meters and %.2f centimeters.", meters, centimeters); } int main (void) { int meters; float feet, inches, metric, centimeters; char ans; printf("This program converts a length in feet and inches into meters and centimeters.\n"); do { printf("Insert length in feet: "); feet = input (); printf("Insert length in inches: "); inches = input (); metric = calc (feet, inches); meters = metric / 100; centimeters = (metric - meters) * 100; output (meters, centimeters); printf("\nWould you like to try again? [Y/N]"); scanf("%c", &ans); getchar(); } while (ans == 'y' || ans == 'Y'); return 0; }



LinkBack URL
About LinkBacks




