Różnica w działaniu pętli na linuxie i windowsie.
Ostatnio zmodyfikowano 2018-03-05 15:11
error723 Temat założony przez niniejszego użytkownika |
Różnica w działaniu pętli na linuxie i windowsie. » 2018-03-05 12:36:25 Witam, Jestem nowy na forum i bawię się c++ wraz z kursem. Do nauki korzystam z C::B na Ubuntu. Jednak, pojawił się problem z wychodzeniem z pętli, program wygląda poprawnie, kompiluje się poprawnie i o dziwno na windowsie działa także poprawnie. #include <iostream>
int main() { double a; do { cout << "Podaj liczbę inną od 123: "; cin >> a; while( cin.fail() ) { cin.clear(); cin.sync(); cout << "To nie jest liczba, spróbuj ponownie: "; cin >> a; } cout << endl << "Podałeś liczbę: " << a << endl; } while( a != 123 ); return 0; }
Działanie w linuxie po wprowadzeniu obojętnie jakiej liczby program kończy działanie, pod windowsem działa do czasu podania liczby 123. Proszę o pomoc z ustawieniem C::B pod linuxem lub wyjaśnieniem różnicy działania. Dodatkowo, nic nie zmieniałem jeśli chodzi o compiler jakkolwiek, na wszelki wypadek przywróciłem do defaluts. Jeśli wcześniej pojawił się podobny problem, proszę o linka i przepraszam za zamieszanie. Pozdrawiam. |
|
YooSy |
» 2018-03-05 12:40:22 |
|
error723 Temat założony przez niniejszego użytkownika |
» 2018-03-05 12:49:31 Nie do końca to jest problemem. Zmieniłem na cin.ignore() jednak program i tak kończy działanie tak jakby pętla do... while kończyła działanie niezależnie od spełnienia warunku, a właściwie tak jakby warunek zawsze był prawdziwy - przynajmniej tak to rozumiem, natomiast pod windowsem działa to poprawnie. |
|
YooSy |
» 2018-03-05 14:45:10 cin.ignore( numeric_limits < streamsize >::max(), '\n' ); Czy na pewno po zmianie kodu został on przebudowany? |
|
error723 Temat założony przez niniejszego użytkownika |
» 2018-03-05 15:11:20 Tak, został. Nie aktywowałem projektu... Temat do zamknięcia, wszystko w porządku.
Dzięki za pomoc, czasem człowiek zatrzymuje się w miejscu bo nie sprawdza rzeczy oczywistych zakładając, że się nie pomylił :) |
|
« 1 » |