/* Ilustrira ugniježđene if else i višestruke argumente za scanf funkciju. */ #include <stdio.h>
main()
{
int invalid_operator = 0;
char operator;
float number1, number2, result;
printf("Unesite dva broja i operator\n");
printf(" number1 operator number2\n");
scanf("%f %c %f", &number1, &operator, &number2);
if(operator == '*')
result = number1 * number2;
else if(operator == '/')
result = number1 / number2;
else if(operator == '+')
result = number1 + number2;
else if(operator == '-')
result = number1 - number2;
else
invalid_operator = 1;
if( invalid_operator != 1 )
printf("%f %c %f je %f\n", number1, operator, number2, result );
else
printf("Nedozvoljeni operator.\n");
}
Solution
/* Ilustrira switch */
#include <stdio.h>
main()
{
int invalid_operator = 0;
char operator;
float number1, number2, result;
printf("Unesite dva broja i operator\n");
printf(" number1 operator number2\n");
scanf("%f %c %f", &number1, &operator, &number2);
switch( operator ) {
case '*' : result = number1 * number2; break;
case '/' : result = number1 / number2; break;
case '+' : result = number1 + number2; break;
case '-' : result = number1 - number2; break;
default : invalid_operator = 1;
}
switch( invalid_operator ) {
case 1 : printf("Nedozvoljeni operator.\n"); break;
default : printf("%f %c %f je %f\n", number1, operator, number2, result
);
}
}