Code:
#include <stdio.h>
#include <stdlib.h>
void menu(void);
void length(void);
void mm(void); //millimeter function
typedef struct{
return_end[5];
return_file[20];
}return_info;
int main(int argc, char *argv[])
{
char check[5];
printf("Welcome to Casey's Conversion Program\n");
/* loop to rerun program */
do{
menu();
printf("Do you want to continue (y for yes)? ");
scanf("%s", check);
}while(strcmp("y", check) == 0);
system("PAUSE");
return 0;
}
/* Menu Function */
void menu(){
int 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("%d", &start);
switch(start){
case 1:
length();
break;
default:
printf("Not valid entry\n");
break;
}
}
/* Length Function */
char length(){
int start;
char return_length[5];
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("%d", &start);
switch(start){
case 1:
mm();
return_length = mm;
break;
case 2:
cm();
return_length = cm;
break;
case 3:
m();
return_length = m;
break;
case 4:
km();
return_length = km;
break;
case 5:
in();
return_length = in;
break;
case 6:
ft();
return_length = ft;
break;
case 7:
yd();
return_length = yd;
break;
case 8:
mi();
return_length = mi;
break;
default:
printf("Not valid entry\n");
return_length = n/a;
break;
}
return(return_length);
}
/* mm Function */
return_info mm(void){
int end;
double mm;
double ans;
FILE *mmptr;
return_info mm_info[30];
mmptr = fopen("mm.txt", "a");
printf("Enter the number of millimeters: ");
scanf("%lf", &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("%d", &end);
switch(end){
case 1:
ans = mm;
printf("%lf millimeters equals %lf millimeters\n", mm, ans);
fprintf(mmptr,"%lf mm = %lf mm\n", mm, ans);
mm_info[] = {"mm","mm.txt"};
break;
case 2:
ans = mm/10;
printf("%lf millimeters equals %lf centimeters\n", mm, ans);
fprintf(mmptr,"%lf mm = %lf cm\n", mm, ans);
mm_info[] = {"cm","mm.txt"};
break;
case 3:
ans = mm/1000;
printf("%lf millimeters equals %lf meters\n", mm, ans);
fprintf(mmptr,"%lf mm = %lf m\n", mm, ans);
mm_info[] = {"m","mm.txt"};
break;
case 4:
ans = mm/1000000;
printf("%lf millimeters equals %lf kilometers\n", mm, ans);
fprintf(mmptr,"%lf mm = %lf km\n", mm, ans);
mm_info[] = {"km","mm.txt"};
break;
case 5:
ans = mm/25.4;
printf("%lf millimeters equals %lf inches\n", mm, ans);
fprintf(mmptr,"%lf mm = %lf in\n", mm, ans);
mm_info[] = {"in","mm.txt"};
break;
case 6:
ans = mm/304.8;
printf("%lf millimeters equals %lf feet\n", mm, ans);
fprintf(mmptr,"%lf mm = %lf ft\n", mm, ans);
mm_info[] = {"mm","ft.txt"};
break;
case 7:
ans = mm/1914.4;
printf("%lf millimeters equals %lf yards\n", mm, ans);
fprintf(mmptr,"%lf mm = %lf yd\n", mm, ans);
mm_info[] = {"yd","mm.txt"};
break;
case 8:
ans = mm/1609000;
printf("%lf millimeters equals %lf miles\n", mm, ans);
fprintf(mmptr,"%lf mm = %lf mi\n", mm, ans);
mm_info[] = {"mi","mm.txt"};
break;
default:
printf("Not valid entry\n");
mm_info[] = {"N/A","N/A"};
break;
}
fclose(mmptr);
}