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

Zakaz wczytywania liter w kalkulatorze

Ostatnio zmodyfikowano 2013-05-10 17:33
Autor Wiadomość
akwes
» 2013-05-09 16:43:21
@kubawal, źle. Pomyśl o priorytecie operatorów.
P-82544
pekfos
» 2013-05-09 16:45:08
Jak już, to..
C/C++
int liczba;
while( !( cin >> liczba ) )
{
    cout << "Proszę podać liczbę!";
    cin.clear();
    cin.sync();
}

@down: fixed ;)
P-82545
akwes
» 2013-05-09 16:47:32
@pekfos:

cin << liczba
cout << "Proszę podać liczbę!";
 
 
Hm... :P ? No i pobieranie jest przed pytaniem, może to być niewygodne ;> No ale autor tematu powinien już wiedzieć co ma zrobić, chyba lepiej niż żeby dawać gotowca.

@down, no, nadgorliwym zbyt :)
P-82546
pekfos
» 2013-05-09 16:52:50
No i pobieranie jest przed pytaniem, może to być niewygodne ;>
"Proszę podać liczbę!" to raczej nie pytanie, a komunikat błędu ;)
P-82550
Monster
Temat założony przez niniejszego użytkownika
» 2013-05-09 21:13:35
Nie wiem czemu ale ja nadal tego nie czaję :/
A bym nie chciał gotowca, ponieważ z tego się nie nauczę.
Jest może jakaś osoba na forum, która ma cierpliwość, żeby mi to wytłumaczyć? :)
P-82567
kubek3898
» 2013-05-09 22:27:32
A nie prosciej po prostu funkcje np.

C/C++
void fff()
{
    if( !cin.good() ) {
        cin.clear();
        cin.sync();
    }
}

Dalej w kodzie po wpisaniu potencjalnej litery:
fff();

tylko zapetl by wracalo przy zlym podaniu.
P-82570
usmiech
» 2013-05-10 01:29:41
Mozna to zrobic , ale to pewnie bedzie  macro../ to macro sprawdza czy wprowadzone znaki to cyfry, czy tez charaktery.. no literki :)/ Nie chce mi sie jednak tego tlumaczyc. Jesli chcesz z tym sam powalczyc moge dac linka do stronki, ale jezyk angielski, pozdrawiam :-)
ps

Moim zdaniem to jednak lepiej napisac tak program, zeby nie trzeba bylo stosowac tych macro...
Uwazam, ze za mocno rozbudowales ten program... postaraj sie lepiej wykorzystac biblioteki c ++ :-)

cos zamieszcze... warto to przemyslec :)


ciach, ciach, kontenery mieszające mają mały związek z obsługą strumienia wejściowego
oki..... to tylko byl plik header.....uzywajac go nie trzeba wpisywac innych #include....:)

W sumie to jest prostsze wyjscie, ale nie analizowalem dokladnie Twojego kodu. Pamietam jak mialem podobny klopot , bodajze z programem kamien, papier, nozyce... i tez wysypywal mi sie program jak user wpisal sobie literke lub cus innego.. Zmienilem typ wprowadzanych przez uuzytkownika  z int na char i default w switch pisal, ze nie rozpoznaje znaku, i bylo juz oki :)
P-82573
dragranis
» 2013-05-10 17:29:33
Wczytaj dane jako tablica charów,skonwertuj do int i wykonuj tą operację tak długo aż wpisane dane będą z zakresu powiedzmy -2 mld do +2 mld. to działa :D
P-82590
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona