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

Funkcja blokująca wpisywanie liter

Ostatnio zmodyfikowano 2013-07-05 11:40
Autor Wiadomość
Michael6
Temat założony przez niniejszego użytkownika
Funkcja blokująca wpisywanie liter
» 2013-07-04 20:13:30
Witam, w trakcie pisania programu prostej funkcji matematycznej spotkałem się z małym problemem. Mój kod programu wygląda tak:

C/C++
#include <iostream>
using namespace std;
int main()
{
    cout << "Czy potrafisz rozwiazac takie rownanie?" << endl;
    cout << "a + b - c * d dla:" << endl;
    cout << "a = 7" << endl;
    cout << "b = 7" << endl;
    cout << "c = 7" << endl;
    cout << "d = 2" << endl;
    const int wynik( 0 );
    int podanyWynik;
    do
    {
        cout << "Podaj wynik" << endl;
        cin >> podanyWynik;
        if( podanyWynik == wynik )
        {
            cout << "Poprawnie." << endl;
        }
        else
        {
            cout << "Zle" << endl;
        }
    } while( podanyWynik != wynik );
   
    cout << "Koniec programu :)" << endl;
    return 0;
}

W momencie wpisania jakieś litery zamiast liczby program wpada w niekończącą się pętle. Jaka funkcja blokuje coś takiego, że można wpisywać albo same liczby, albo same litery? Kombinowałem z funkcją false/true ale to raczej nie ma sensu w tym programie.
P-86987
pekfos
» 2013-07-04 20:16:06
» Kurs C++ » Poziom 1Obsługa strumienia wejściowego lekcja

Kombinowałem z funkcją false/true ale to raczej nie ma sensu w tym programie.
To w ogóle nie ma sensu, bo nie ma takiej funkcji.
P-86988
Michael6
Temat założony przez niniejszego użytkownika
» 2013-07-04 20:20:20
No... chodzi mi o typ zmiennej bool, powinieneś się domyślić.
P-86991
pekfos
» 2013-07-04 20:24:36
No... chodzi mi o typ zmiennej bool, powinieneś się domyślić.
"Zjadłem budyń. No, chodziło mi, że umyłem ręce, powinieneś się domyślić.."
P-86993
Michael6
Temat założony przez niniejszego użytkownika
» 2013-07-04 20:25:30
suche ^^
P-86994
Berux
» 2013-07-04 21:43:17
const int wynik( 0 );
 coś chyba tutaj jest nie tak :P To nie funkcja :) Zmień na:
const int wynik = 0;
 i powinno być dobrze.

Btw Jakim cudem to się skompilowało :O
P-86996
pekfos
» 2013-07-04 22:36:33
Zmień na:
const int wynik = 0;
 i powinno być dobrze.
Bez znaczenia. A dobrze będzie, jak autor tematu przeczyta lekcję, do której podałem link. Tam jest rozwiązanie. To by było na tyle w tym temacie..

Btw Jakim cudem to się skompilowało :O
Bo to jest poprawne?
P-87006
Michael6
Temat założony przez niniejszego użytkownika
» 2013-07-05 11:26:24
Wrzucam do programu to:

C/C++
cout << "Czy udalo sie wczytac? " << cin.good() << endl;
cout << "Czy cos nawalilo? " << cin.fail() << endl;

i po wpisaniu litery zamiast liczby nadal wpada w pętle. Dobra, do zamknięcia, jakoś przeżyje.
P-87036
« 1 » 2
  Strona 1 z 2 Następna strona