Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Lekcja 16 gra

Ostatnio zmodyfikowano 2013-02-20 13:15
Autor Wiadomość
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;".
P-76338
Adam3423
» 2013-02-15 17:00:03
chodzi o to żeby nie zaokrąglał tylko wyświetlal komunikat że podana liczba nie jest calkowita.
P-76354
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ą.
P-76356
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/

C/C++
#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;
}
P-76361
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;)
P-76393
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
P-76402
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
P-76568
Berux
» 2013-02-20 13:15:14
@azbest22
Ten warunek się spełni, popatrz na komentarze w tym kodzie:
C/C++
#include <iostream>
using namespace std;

int main()
{
    float b; // tutaj tworzymy obiekt zmiennoprzecinkowy
    while( true ) //petla nieskonczona
    {
        cout << "Wprowadz liczbe calkowita ";
        cin >> b;
        int c = b; //tworzysz obiekt, w którym będzie liczba całkowita i nadajesz jej wartość zmiennej b; czyli jeśli b = 1.5 , to c = 1, bo obcina to co po przecinku
        if( b - c != 0 ) //jesli na przykladzie 1.5 - 1 jest rozne od zera, to sie wykonuje dany kod
        {
            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 :)
P-76571
1 « 2 »
Poprzednia strona Strona 2 z 2