Wiadomo, jak masz liczbe zmiennoprzecinkową i dodajesz/odejmujesz/dzielisz itd. z całkowitą to wynik będzie zmiennoprzecinkowy.
To dlaczego 19/60 to 0 anie 0.31? Niczym sie to nie różni od pierwszego działania gdzie już przecinek się pojawia. Poza tym zadanie z prata rozdzial 3. Mialo miejsce to samo zachowanie jak tu, dlatego pytam.
#include <iostream>
using namespace std;
int main()
{
{
int x;
double y;
x = 70;
y = x / 1.123;
cout << y;
}
/////////////////////////////////////// w powyzszym wynik double WYNIK 62.333
{
int x;
double y;
x = 19;
y = x / 60;
cout << endl << y;
}
////////////////////////////////////// w powyzszym wynik 0 (nagle nie double?) WYNIK 0 zamiast 0.31666
{
double x;
double y;
x = 19;
y = x / 60;
cout << endl << y;
}
////////////////////////////////////// w powyzszym wynik znow double jak w 1 tyle ze 1 i 2 przyklad sie nie roznia WYNIK 0.31666
return 0;
}
W programie z ksiazki Prata wynik dodawania w kodzie gdzie obie wartosci są dodawane nadal dziwnie działa bo dodając je wychodzi +1 a tu jednak nie..
- dzialanie.png (12 KB) - ściągnięć: 10