Program nie reaguje na getchar() system("PAUSE")
Ostatnio zmodyfikowano 2017-03-27 01:34
vito217 Temat założony przez niniejszego użytkownika |
Program nie reaguje na getchar() system("PAUSE") » 2017-03-26 23:59:03 Po uruchomieniu programu z pliku .exe wszystko działa tylko na koniec okno zamiast zostać wyłącza się, próbowałem paroma sposobami ale żaden nie działa. Co jest tutaj źle (przykład z getchar() #include <iostream> #include <windows.h> #include <cstdio> using namespace std;
string odp1, odp2, odp3;
int main() { cout << "====Witaj w quizie====" << endl; Sleep( 1000 ); cout << "Zadam ci 3 pytania, do kazdego kolejnego przejdziesz \n dopiero gdy odpowiesz poprawnie na poprzednie.\n Odpowiadaj wpisujac tylko A B C lub D." << endl; Sleep( 7000 ); cout << "Zaczynamy!" << endl; Sleep( 2000 ); while(( odp1 != "b" ) &&( odp1 != "B" ) ) { cout << "Jak nazywa sie stolica Polski? \n A-Gdansk \n B-Warszawa \n C-New York \n D-Gniezno" << endl; cin >> odp1; if(( odp1 == "b" ) ||( odp1 == "B" ) ) { cout << "Gratuluje!!" << endl; Sleep( 1000 ); } } while(( odp2 != "c" ) &&( odp2 != "C" ) ) { cout << "Jakiego koloru jest paznokiec? \n A-Bialego \n B-Paznokciowego \n C-Czarnego \n D-Nie wiem" << endl; cin >> odp2; if(( odp2 == "c" ) ||( odp2 == "C" ) ) { cout << "Gratulacje !! " << endl; cout << "Ostatnie pytanie: " << endl; Sleep( 2000 ); } else { cout << "A dodalem ze udezony mlotkiem??" << endl; Sleep( 2000 ); cout << "Nie??" << endl; Sleep( 2000 ); cout << "To sproj jeszcze raz!" << endl; Sleep( 1000 ); } } while(( odp3 != "c" ) &&( odp3 != "C" ) ) { cout << "Jak nazywa sis autor ksiazki pod tytulem 'Duchowe zycie zwierzat'?" << endl; cout << " A-Evans Katy \n B-Young William P. \n C-Wohlleben Peter \n D-Nesbo Jo" << endl; cin >> odp3; if(( odp3 == "C" ) ||( odp3 == "c" ) ) { cout << "Czyzbys oszukiwal i sprawdzil w internecie?" << endl; Sleep( 1000 ); cout << "Tak czy siak gratuluje!" << endl; Sleep( 3000 ); cout << "=====================" << endl; Sleep( 200 ); cout << "=======vito217=======" << endl; Sleep( 200 ); cout << "=====================" << endl; } else { cout << "Matol!!!" << endl; Sleep( 2000 ); cout << "Sprobuj jeszcze raz" << endl; Sleep( 2000 ); } } getchar(); return 0; } |
|
1aam2am1 |
» 2017-03-27 00:00:13 Daj jeszcze jedno getchar() Pp cin zostaje \n w buforze |
|
vito217 Temat założony przez niniejszego użytkownika |
» 2017-03-27 00:08:31 dodanie jeszcze raz nic nie dało. Domyślam się że odpowiedź leży w "Pp cin zostaje \n w buforze" Ale nie rozumiem tego. |
|
1aam2am1 |
» 2017-03-27 01:34:04 cin zostawia enter w buforze dlatego zazwyczaj potrzeba dwa razy dać getchar() pierwsze by wyczyścić bufor drugie by zatrzymać program. Jak niedziala spróbuj wyczyścić najpierw bufor za pomocą metody ignore |
|
« 1 » |