• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Działanie zmiennej typu ostringstream

0 głosów
110 wizyt
pytanie zadane 18 sierpnia 2015 w C i C++ przez Jonki Dyskutant (8,220 p.)

Witam. Piszę prostą rejestrację do bankomatu i znalazłem sposób, aby przekonwertować typ int na string, ale coś nie pykło, bo mimo iż PIN ma cztery cyfry i tak wykonuje się instrukcja if. Poradzi ktoś?

void Bankomat::zarejestruj()
{
    int pin_do_rejestracji;
    int dlugosc;
    ostringstream ss;

    while(true)
    {
        system("cls");
        cout << "\t" << "REJESTRACJA" << endl << endl;

        cout << "Podaj PIN do rejestracji: ";

        if(!(cin>>pin_do_rejestracji))
        {
            system("cls");
            cout << "To nie sa cyfry!";
            cin.clear();
            cin.sync();
            Sleep(2000);
        }

        ss << pin_do_rejestracji;
        string PINstring = ss.str();
        dlugosc = PINstring.length();

        if(PINstring.length() > 4)
        {
            system("cls");
            cout << "PIN powinien miec tylko 4 cyfry!";
            cin.clear();
            cin.sync();
            Sleep(2000);
        }
    }
}

 

2 odpowiedzi

+1 głos
odpowiedź 18 sierpnia 2015 przez Patrycjerz Mędrzec (186,890 p.)
wybrane 18 sierpnia 2015 przez Jonki
 
Najlepsza

Czyść zmienną ss tym sposobem:

ss.str("");

 

komentarz 18 sierpnia 2015 przez Jonki Dyskutant (8,220 p.)
No i elegancko. Dzięki.
+1 głos
odpowiedź 18 sierpnia 2015 przez TakIoKoder Bywalec (2,560 p.)
Zobacz sobie co masz w w PINstring jak petla przejdzie dwa lub wiecej razy.
komentarz 18 sierpnia 2015 przez Jonki Dyskutant (8,220 p.)
Dzięks, już poprawiłem.

Podobne pytania

+1 głos
2 odpowiedzi 325 wizyt
0 głosów
1 odpowiedź 478 wizyt
pytanie zadane 3 grudnia 2016 w C i C++ przez Tinsonu Początkujący (280 p.)
0 głosów
2 odpowiedzi 91 wizyt
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

66,384 zapytań

113,133 odpowiedzi

239,497 komentarzy

46,640 pasjonatów

Przeglądających: 152
Pasjonatów: 0 Gości: 152

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...