/*The conversion rates of five currencies equivalent to one US dollar*/
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int choice;
int currency;
float USD, UK, HK, EUR, NZ, AUS;
char buffer[30];
/********************************************
******Current Currency Exchange Rates*******
*
* British Pound(UK) 0.5408 6/15 8:50pm
* Hong Kong Dollar (HK) 7.7617 6/15 8:50pm
* Euro (EUR) 0.7914 6/15 8:50pm
* New Zealand (NZ) Dollar 1.6079 6/15 8:50pm
* Australian Dollar (AUS) 1.3556 6/15 8:50pm
* United States Dollar (US)
*
**********************************************/
USD = 1.00;
UK = 0.5408;
HK = 7.7617;
EUR = 0.7914;
NZ = 1.6079;
AUS = 1.3556;
do // main loop runs until choice 0 is entered
{
/*Version and title of program and menu selection*/
printf("\n\n Welcome to Currency Conversion Utility v. 4.2.0 \n\n\n");
printf("Please select the currency type you would like to convert into US dollars.\n\n");
printf("1. for British Pounds \n");
printf("2. for Hong Kong Dollars \n");
printf("3. for Euros \n");
printf("4. for New Zealand Dollars \n");
printf("5. for Australian Dollars \n\n");
printf("Press 0 and then return to exit the Currency Converter \n");
choice = 6; /* must be initialized to an invalid value*/
/* it's not initialized the first time, it might be in the range of 1..5*/
do /* 1st input loop for the choice*/
{
printf("\n\nEnter the number of your choice: Than hit Enter \n\n\n");
/*reads the characters from the file associated with fp into the string pointed to.*/
fgets(buffer, sizeof(buffer), stdin);
/* allows user selcetion of type of Currency to convert and Error Checking for Numeric Values only*/
if ( ( sscanf(buffer, "%u", &choice) == 0) || choice > 5 || choice < 0 )
{
printf("\n\n\a Error please select agian \n");
}
}
while(choice < 0 || choice > 5);
if ( choice > 0 )
{ /* no need to ask for the amount if exit was selected*/
currency = 100000; /* must be initialized to an invalid value*/
do /* 2nd input loop for the amount*/
{
printf("\n\n\nEnter the amount you want to convert to U.S. Dollars: Than hit Enter \n\n");
fgets(buffer, sizeof(buffer), stdin);
/* Allows input of currency amount and Error Checking for Numeric Values only*/
if ( ( sscanf(buffer, "%d", ¤cy) == 0) || currency > 99999 || currency < 1 )
{
printf("\n\n\a This is an Erroneous amount based on your input\n");
printf(" please enter a numeric value");
}
}
while(currency > 99999 || currency < 0); /* changed the condition to int values*/
}
switch(choice)
{
case 1:
printf("\n\n You will have %.2f US dollars \n\n", USD/UK*currency);
break;
case 2:
printf("\n\n You will have %.2f US dollars \n\n", USD/HK*currency);
break;
case 3:
printf("\n\n You will have %.2f US dollars\n\n", USD/EUR*currency);
break;
case 4:
printf("\n\n You will have %.2f US dollars \n\n", USD/NZ*currency);
break;
case 5:
printf("\n\n You will have %.2f US dollars \n\n", USD/AUS*currency);
break;
case 0:
break;
return 0;
}
}
while(choice!=0 && currency != 0); /* saves the second switch.*/
/* the switch would not work if I had changed currency to float*/
puts("You have entered 0 and selected to exit the program.");
puts("Thank you for using Currency Converter.");
puts("bye.");
puts("press enter.");
getchar();
return 0;
}