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

[Lekcja 16]

Ostatnio zmodyfikowano 2012-01-04 16:14
Autor Wiadomość
repcaq19
Temat założony przez niniejszego użytkownika
[Lekcja 16]
» 2012-01-03 21:22:24
Witam,

Mój program wyglada tak:


C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
    cout << "Witaj w mojej grze!" << endl;
    cout << "Program wytypowal liczbe od 1 - 1000. Sprobuj ja odgadnac!!" << endl;
    srand( time( NULL ) );
    int liczba =( rand() % 1000 ) + 1, liczba_prob = 0;
    unsigned int proba;
    bool test;
    do
    { do
        {
            cout << "Typuj liczbe!" << endl;
            cout << "Wybieram: ";
            cin.clear();
            cin.sync();
            cin >> proba;
            test = cin.good();
            if( test == 0 )
            {
                cout << "Tylko liczby calkowite Ty jajcarzu!" << endl;
            }
        } while( test == 0 );
       
        if( proba < liczba )
        {
            cout << "Wylosowana liczba jest wieksza od podanej przez Ciebie!" << endl;
            cout << "Sprobuj jeszcze raz!" << endl;
            liczba_prob++;
        }
        if( proba > liczba )
        {
            cout << "Wylosowana liczba jest mniejsza od podanej przez Ciebie!" << endl;
            cout << "Sprobuj jeszcze raz!" << endl;
            liczba_prob++;
        }
    } while( liczba != proba );
   
    cout << endl << "Brawo! Zgadles!" << endl;
    cout << "Wylosowana liczba to: " << liczba << " Twoja liczba prob to: " << liczba_prob << endl;
    cout << "Do zobaczenia!" << endl;
    return 0;
}

Problem polega na tym, że nie wiem dlaczego wpisujac "floaty" program nie wraca do podania liczby tylko idzie dalej..
pozdrawiam
P-47192
pekfos
» 2012-01-04 16:14:57
Dlatego, że cin wczytuje do napotkania nieprawidłowego znaku. Jak wpiszesz "alamakota" to masz błąd ale jak wpiszesz "3alemakot" to wczytane zostanie 3.
Wczytując int, złym znakiem będzie '.' więc wpisując 3.14159265359 wczytane będzie 3.
P-47216
« 1 »
  Strona 1 z 1