Requirement:
1. ask user to input value for x,y,z for mathematic equation
2. check the value is not alphabet- ask if want to re input
3. calculate the answer if all the input is numeric
3. loop when user wish to continue for the next input
Problem:
Run it and found out can input infinite without execute other code. when key in value for x,y,z
1. can key in infinite number when the input is integer
Enter real number X:
Enter real number Y:
Enter real number Z:
1
1
1
1
2. when key in alphabet code keep looping until printf() continue
Enter real number X:
Enter real number Y:
Enter real number Z:
Entered value is not numeric
Continue (Y/N)? y
Enter real number X:
Enter real number Y:
Enter real number Z:
Entered value is not numeric
Continue (Y/N)?
3. after that tried to input integer then alphabet then integer somehow it can run to the end
Enter real number X:
Enter real number Y:
Enter real number Z:
Entered value is not numeric
Continue (Y/N)? 1
1
1
1
1
1
f
Entered value is not numeric
Continue (Y/N)? 1
1
1
X=1.0000 ; Y=1.0000 ; Z=1.0000
f(x,y): -8.0000; g(x,z): 0.0000; h(x,y,z): -inf
Do you want to continue Y/N:
What I have tried:
do
{
printf("Enter real number X: \n");
printf("Enter real number Y: \n");
printf("Enter real number Z: \n");
while(1)
{
if (scanf("%f%f%f", &X,&Y,&Z) != 3)
{
printf("Entered value is not numeric\n");
printf("Continue (Y/N)? ");
scanf(" %c", &choice);
}
if ((choice != 'Y') && (choice != 'y')) break;
}
if(scanf("%f%f%f", &X, &Y, &Z) == 3)
{
}