Здравствуйте. У меня проблема с оценкой входных данных, сначала я сканирую целочисленное значение, например:
scanf("%d", &vstup2)
, а затем я формулирую условие, равно ли оно нулю, следующим образом:
if (vstup2 == 0){
printf ("Nedefinovany vysledek!\n");
но когда я ввожу ноль в эту переменную, он не выводит оператор printf, а вместо этого строку кода:
Floating point exception: 8
Вот весь код:
#include<stdio.h>
int main(void)
{
int vstup1;
int vstup2 = 0;
int sucet = 0;
int rozdil = 0;
int soucin = 0;
int podil = 0;
float prumer = 0;
printf("INPUT FIRST INTEGER\n");
if (scanf("%d", &vstup1)&& (vstup1 < -10000 || vstup1 > 10000))
{
printf("WRONG INPUT\n");
return 0;
}
printf("INPUT SECOND INTEGER\n");
scanf("%d", &vstup2);
if (vstup2 <= -10000 || vstup2 >= 10000)
{
printf("WRONG INPUT\n");
return 0;
}
sucet = (vstup1 + vstup2);
rozdil = (vstup1 - vstup2);
soucin = (vstup1 * vstup2);
podil = (vstup1 / vstup2);
prumer = ((vstup1 + vstup2)/2);
printf("Desitkova soustava: %i %i\n", vstup1, vstup2);
printf("Sestnactkova soustava: %x %x\n", vstup1, vstup2);
printf("Soucet: %i + %i = %i\n",vstup1, vstup2, sucet);
printf("Rozdil: %i - %i = %i\n",vstup1, vstup2, rozdil);
printf("Soucin: %i * %i = %i\n",vstup1, vstup2, soucin);
if (vstup2 != 0)
{
printf("Podil: %i / %i = %i\n",vstup1, vstup2, podil);
}
else
{
printf("Nedefinovany vysledek!\n");
}
printf("Prumer: %0.1f \n",prumer);
return 0;
}