having problem with function
I am working on a final project that is a unit conversion program. I am having trouble getting the first part of the program working. I left out most of the fuctions so I could test what I had already. It just displays a lot of random numbers when I run it. Sorry about the long code, I did not know how much of my code I should post to make it clear.
Code:
Code:
#include <stdio.h>
#include <stdlib.h>
void menu(void); //menu function
void length(void); //length funtction
void mm(void); //millimeter function
int main(int argc, char *argv[])
{
char check = 'y';
while(check == 'y' || check == 'Y'){ //loop to rerun program
menu();
printf("Do you want to continue? (y for yes): ");
scanf("%c", &check);
}
system("PAUSE");
return 0;
}
void menu(void){ //menu function
char start;
printf("Enter:\n1 for Length Conversion\n");
printf("2 for Area Conversion\n");
printf("3 for Volume Conversion\n");
printf("4 for Time Conversion\n");
printf("5 for Angle Conversion\n");
printf("6 for Speed Conversion\n");
printf("7 for Acceleration Conversion\n");
printf("8 for Mass Conversion\n");
printf("9 for Force Conversion\n");
printf("10 for Pressure Conversion\n");
printf("11 for Energy Conversion\n");
printf("12 for Power Conversion\n");
scanf("%c",&start);
switch(start){
case '1':
length();
break;
default:
printf("Not valid entry\n");
}
}
void length(void){ //length function
char start;
printf("Enter starting unit: \n");
printf("1 for millimeters\n");
printf("2 for centimeters\n");
printf("3 for meters\n");
printf("4 for kilometers\n");
printf("5 for inches\n");
printf("6 for feet\n");
printf("7 for yards\n");
printf("8 for miles\n");
scanf("%c", &start);
switch(start){
case '1':
mm();
break;
default:
printf("Not valid entry\n");
}
}
void mm(void){ //millimeter function
char end;
double mm;
double ans;
printf("Enter the number of millimeters: \n");
scanf("%f",&mm);
printf("Enter ending unit: \n");
printf("1 for millimeters\n");
printf("2 for centimeters\n");
printf("3 for meters\n");
printf("4 for kilometers\n");
printf("5 for inches\n");
printf("6 for feet\n");
printf("7 for yards\n");
printf("8 for miles\n");
scanf("%c", &end);
switch(end){
case '1':
ans = mm;
printf("%lf millimeters equals %lf millimeters\n",mm, ans);
break;
case '2':
ans = mm*10;
printf("%f millimeters equals %f centimeters\n",mm, ans);
break;
case '3':
ans = mm*1000;
printf("%f millimeters equals %f meters\n",mm, ans);
break;
case '4':
ans = mm*1000000;
printf("%f millimeters equals %f kiloimeters\n",mm, ans);
break;
case '5':
ans = mm*25.4;
printf("%f millimeters equals %f inches\n",mm, ans);
break;
case '6':
ans = mm*304.8;
printf("%f millimeters equals %f feet\n",mm, ans);
break;
case '7':
ans = mm*1914.4;
printf("%f millimeters equals %f yards\n",mm, ans);
break;
case '8':
ans = mm*1609000;
printf("%f millimeters equals %f miles\n",mm, ans);
break;
default:
printf("Not valid entry\n");
}
}
Thanks in advance,
Casey