What would be the best way to stop this from looping ? when an Invalid character such as a letter is input for the sale amount ?
Code:
#include <stdio.h>
float fAmount;
main()
{
int iSelection = 0;
float fAmount = 0.0;//Purchased amount in US$
float fTax1 = .0725;//Del Mar CA.
float fTax2 = .0750;//Encinitas CA.
float fTax3 = .0775;//La Jolla CA.
printf("\n\tSelect the store location\n");
printf("1\tDel Mar\n");
printf("2\tEncinitas\n");
printf("3\tLa Jolla\n");
scanf("%d", &iSelection);
// This makes the program run in a loop if an incorrect value is input for Purchased amount.
do
{
printf("\nEnter Amount in US $\n");
scanf("%f", &fAmount);
}while((fAmount - floor(fAmount)) == 0.0);
//This calculates the tax rate for Del Mar CA.
if (iSelection == 1) {
printf("\nYour tax amount is: $%.2f and the total price is $%.2f\n", (fAmount * fTax1), (fAmount + (fAmount * fTax1)));
printf("\nClick the X in the upper right corner to exit this application.\n");
} //end if
//This calculates the tax rate for Encinitas CA.
if (iSelection == 2) {
printf("\nYour tax amount is: $%.2f and the total price is $%.2f\n", (fAmount * fTax1), (fAmount + (fAmount * fTax1)));
printf("\nClick the X in the upper right corner to exit this application.\n");
} //end if
//This calculates the tax rate for La Jolla CA.
if (iSelection == 3) {
printf("\nYour tax amount is: $%.2f and the total price is $%.2f\n", (fAmount * fTax1), (fAmount + (fAmount * fTax1)));
printf("\nClick the X in the upper right corner to exit this application.\n");
} //end if
getch();
return 0;
}