Я написал этот код:Код неправильный или? в C
float suma;
int centy;
int cele;
printf("Zadaj sumu a ja ti ju napisem a zaroven aj vysklonujem:\n");
scanf("%f",&suma);
cele=(int)suma;
centy= (suma-cele)*100;
switch ((int)suma) {
case 1:
printf("%d euro",(int)suma);
break;
case 2 ... 4:
printf("%d eura",(int)suma);
break;
default:
printf("%d eur",(int)suma);
break;
}
switch (centy) {
case 1:
printf(" a %d cent\n",centy);
break;
case 2 ... 4:
printf(" a %d centy\n",centy);
break;
default:
printf(" a %d centov\n",centy);
break;
}
Но когда я печатаю 5.56 он будет говорить, что я набрал 5,55 в консоли. Как вы думаете. Что я должен изменить? Я новичок ...
http://stackoverflow.com/q/588004/3185968 – EOF
Все правильно, кроме вашего ожидания :) –
Вы ожидаете, что 'suma-cele' будет 0.56, но это может быть 0.5599999999999999. –