How to let the program Refuses

0 votes
asked Oct 23, 2019 by anonymous

Refuses the entry if the user enters a float and keeps asking the user to enter an integer until the user responds properly and enters an integer.

i make this program but i don't know how to make the right way if there is better way will be great



int main()


    int a;

    int b;

    int f=1;


    printf("Enter integer: ");





        printf("Try again (Please enter an integer)\n");



    for (b=1;b<=a;b++)





    printf("The factorial of %d = %d\n",a,f);

    return 0;


1 Answer

0 votes
answered Oct 25, 2019 by gameforcer (2,950 points)

It's because you used a variable with the type of integer:

int a;

Instead you should do

float a;

 or if you want to have even better precision:

double a;

Besides that you need to change the expected type of variable in your input and output functions. - if you look in the table at the top you can see that you used a symbol for signed integer type - %d. Similarly you should use %f for float and %lf for double.


double a;


Welcome to OnlineGDB Q&A, where you can ask questions related to programming and OnlineGDB IDE and and receive answers from other members of the community.