error chekcing help

This is a discussion on error chekcing help within the C Programming forums, part of the General Programming Boards category; I need help with error checking. I would like to have this error check the input to make sure that ...

  1. #1
    Registered User
    Join Date
    Feb 2004
    Posts
    2

    error chekcing help

    I need help with error checking. I would like to have this error check the input to make sure that the user inputs numbers instead of letters. How would I go about doing this?
    I would like it to error check at the point where it asks the user "how much would you like to convert today?"
    Code:
    #include <stdio.h>
    int main (int argc, char** argv)
    
    {
    
    float name; 														//declares a variable "name"
    float canada; 														//declares a variable "canada"
    float sa; 														//declares a variable "sa"
    float botswana; 													//declares a variable "botswana"
    float china; 														//declares a variable "china"
    float russia; 														//declares a variable "russia"
    float amt; 														//declares a variable "amt"
    int correctItemsRead;
    
    printf("\n"); 														//Skips a line
    printf("Currency Conversion\n"); 											//Displays Currency Conversion to screen
    printf("\n"); 														//Skips a line 
    printf("I can convert US dollars to the folling currencies: \n"); 							//Prints statement to the screen
    printf("\n"); 														//Skips a line
    printf("Canadian Dollars\nSouth African Rand\nBotswana Pula\nChina Renminbi\nRussian Rubles\n"); 			//Lists the different currencies that will be converted 
    printf("\n"); 														//Skips a line 
    
    do                                                             								//This says to do what is in the braces at least once
    {
    
    printf("How much money would you like to convert today? (above 100): ");
    correctItemsRead = scanf("%f", &amt);
    }
    while ((amt <= (float) 100) && (correctItemsRead == 1)); 								// this says that if amt <= 100 do what is in the braces again
    															//(float) tells the compiler to treat the value next to it 
    															//like a float instead of a literal int
    
    
    printf("I would be happy to help you with that, Thank you.\n"); 							//Prints statement to the screen
    
    	canada=1.324*amt; 												//Sets "canada" to 1.324 x "amt" 
    	sa=6.865*amt;													//Sets "sa" to 6.865 x "amt"
    	botswana=4.558*amt; 												//Sets "botswana" to 4.558 x "amt"
    	china=8.265*amt; 												//Sets "china" to 8.265 x "amt"
    	russia=29.234*amt; 												//Sets "russia" to 29.234 x "amt"
    
    printf("\n"); 														//Skips a line
    
    printf("In Canadian Dollars you would have = %.2f\n",canada); 								//Displays dollar equivilant to user input as Canadian Dollars
    printf("In South African Rand you would have = %.2f\n",sa); 								//Displays dollar equivilant to user input as Canadian Dollars
    printf("In Botswana Pula you would have = %.2f\n",botswana); 								//Displays dollar equivilant to user input as Canadian Dollars 
    printf("In China Renminbi you would have = %.2f\n",china); 								//Displays dollar equivilant to user input as Canadian Dollars
    printf("In Russian Rubles you would have = %.2f\n",russia); 								//Displays dollar equivilant to user input as Canadian Dollars 
    printf("\n"); 														//Skips a line 
    
    printf("I would go for the Russian Rubles. At least you'll feel rich!\n"); 						//Prints statement to screen
    
    printf("\n"); 														//Skips a line
    printf("\n"); 														//Skips a line
    
    printf("By the way, Could I get your name please, "); 									//Prints atatement to the screen and capture users name
    
    scanf("%s",&name); 													//Captures user input
    printf("\n"); 														//Skips a line
    printf("\n"); 														//Skips a line
    printf("\n"); 														//Skips a line
    printf("\n"); 														//Skips a line
    printf("\n"); 														//Skips a line
    printf("You have a wonderful adventure,%s.\n",&name); 									//Prints users input to the screen 
    
    
    getchar(); 
    
    return 0;
    }

  2. #2
    End Of Line Hammer's Avatar
    Join Date
    Apr 2002
    Posts
    6,231
    When all else fails, read the instructions.
    If you're posting code, use code tags: [code] /* insert code here */ [/code]

  3. #3
    Registered User
    Join Date
    Feb 2004
    Posts
    2
    Hammer,

    Thanks for the reply. I am totally new to this and I am taking my first ever programming class. Out of these examples which one would I use?

  4. #4
    End Of Line Hammer's Avatar
    Join Date
    Apr 2002
    Posts
    6,231
    To do this:
    >>error check the input to make sure that the user inputs numbers instead of letters
    use option 4.

    You cannot use scanf(), as it will only read the numbers, not the letters. If you want to validate the user did it right, you need to read everything into your program, and perform manual validation.
    When all else fails, read the instructions.
    If you're posting code, use code tags: [code] /* insert code here */ [/code]

Popular pages Recent additions subscribe to a feed

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21