Lekcja 16 gra
Ostatnio zmodyfikowano 2013-02-20 13:15
Frish |
» 2013-02-15 13:38:45 a jeżeli chodzi Tobie o to że liczby po przecinku ktore podaje gracz np: 6.2 zaokragla do 6 i zaklamuje wynik to wystarczy ze zamienisz zmienna "int b;" na zmienna "float b;". |
|
Adam3423 |
» 2013-02-15 17:00:03 chodzi o to żeby nie zaokrąglał tylko wyświetlal komunikat że podana liczba nie jest calkowita. |
|
Frish |
» 2013-02-15 17:21:33 gdy będzie zmienna "float" zastosowana to podana liczba będzie traktowana jako jedna z odpowiedzi o wartosci przecinkowej a nie przyblizonej. Nie ma takie potrzeby aby pisać dodatkowe instrukcje które będą informować że wpisana liczba nie jest liczbą całkowitą. |
|
usmiech |
» 2013-02-15 19:20:50 Tak mozna sprawdzic, czy wprowadzona liczba jest liczba calkowita, a nie rzeczywista /wykorzystanie konwersji z typu float do int/ #include <iostream> using namespace std;
int main() { float b; while( true ) { cout << "Wprowadz liczbe calkowita "; cin >> b; int c = b; if( b - c != 0 ) { cout << "Wprowadzona przez Ciebie liczbe nie jest calkowita !" << endl; break; } cout << "Wprowadzona liczba to: " << b << endl; } return 0; } |
|
Adam3423 |
» 2013-02-16 09:48:09 o to chodzilo;) heh czyli jezeli chcemy wczytać tylko liczby calkowite to trzeba do tego użyć float;)
@Frish jest potrzeba gdyż losowana liczba jest zawsze calkowita wiec nie ma za duzego sensu zgadywać wśród rzeczywistych;) |
|
usmiech |
» 2013-02-16 13:07:27 Jezyk angielski : int to integer, czyli liczba calkowita, float to floating point, czyli liczba zmiennoprzecinkowa /rzeczywista/. Wprowadzenie konwersji mialo tylko pokazac, czy wprowadzona przez uzytkownika liczba jest liczba calkowita, czy rzeczywista.. Inaczej mowiac jesli uzytkownik wprowadzil np 12.5 to float b = 12.5, a int b = 12 , wiec roznica to 12.5 - 12 .. itd Prosciej nie umiem tego wyjasnic. Pozdrawiam |
|
azbest22 |
» 2013-02-20 07:50:28 Też dopiero się uczę zabawy z c++ ale wydaje mi się nielogiczne zapisanie b=c a po chwili sparwdzenie czy b-c jest różne od zera bo ten warunek się chyba nigdy nie spełni. ;/ a jeśli się myle to proszę terz mi to jakoś wytłumaczyć ;/
juz sie doszukałem czemu tak sie dzieje. mój post uważam za nieaktualny :P |
|
Berux |
» 2013-02-20 13:15:14 @azbest22 Ten warunek się spełni, popatrz na komentarze w tym kodzie: #include <iostream> using namespace std;
int main() { float b; while( true ) { cout << "Wprowadz liczbe calkowita "; cin >> b; int c = b; if( b - c != 0 ) { cout << "Wprowadzona przez Ciebie liczbe nie jest calkowita !" << endl; break; } cout << "Wprowadzona liczba to: " << b << endl; } return 0; } Tak w ogóle, to zamiast if( b - c != 0 ) powinno być if(( b - c ) != 0 ) , bo porównywana jest różnica wartości tych zmiennych :) |
|
1 « 2 » |