Basic homework problem. I did all of this, and it works fine. It gives the right numbers in the right format. And then I looked back at the problem statement and it said I was supposed to use if-else-if statements -within- the switch to do the actual conversions, which doesn't make much sense to me. All of the other parameters seem to work out, any suggestions on how to redo it with if-else-if?
Code:
#include <stdio.h>
int main()
{
const double CAD = 1.0207;
const double EUR = 1.2926;
const double GBP = 1.6186;
const double CLP = 0.0021;
const double CNY = 0.1584;
const double ZAR = 0.1208;
int code;
double cad;
double eur;
double gbp;
double clp;
double cny;
double zar;
int count = 0;
printf("\nEnter country code, zero to end: ");
scanf("%d", &code);
while (code != 0)
{
switch (code)
{ case 1:
printf("Enter CAD: ");
scanf("%lf", &cad);
printf("%.2f CAD = ", cad);
cad = cad * CAD;
printf("%.2f USD\n", cad);
count = count + 1;
break;
case 2:
printf("Enter EUR: ");
scanf("%lf", &eur);
printf("%.2f EUR = ", eur);
eur = eur * EUR;
printf("%.2f USD\n", eur);
count = count + 1;
case 3:
printf("Enter GBP: ");
scanf("%lf", &gbp);
printf("%.2f GBP = ", gbp);
gbp = gbp * GBP;
printf("%.2f USD\n", gbp);
count = count + 1;
break;
case 4:
printf("Enter CLP: ");
scanf("%lf", &clp);
printf("%.2f CLP = ", clp);
clp = clp * CLP;
printf("%.2f USD\n", clp);
count = count + 1;
break;
case 5:
printf("Enter CNY: ");
scanf("%lf", &cny);
printf("%.2f CNY = ", cny);
cny = cny * CNY;
printf("%.2f USD\n", cny);
count = count + 1;
break;
case 6:
printf("Enter ZAR: ");
scanf("%lf", &zar);
printf("%.2f ZAR = ", zar);
zar = zar * ZAR;
printf("%.2f USD\n", zar);
count = count + 1;
break;
default:
printf("%d is an invalid country code!", code);
break;
}
printf("\nEneter country code, zero to end: ");
scanf("%d", &code);
}
printf("\n%d conversions done.\n\n", count);
return 0;
}