Witam, mam problem z poleceniem getchar(). Poniższy program działa, zastosowałem polecenie system("pause"):
#include <iostream>
#include <time.h>
#include <cstdlib>
using namespace std;
int liczba, strzal, proba=1;
int main()
{
cout << "Wylosowano liczbe z przedzialu od 1 do 100.";
srand(time(NULL));
liczba=rand()%100+1;
cout <<endl<< liczba;
while(strzal!=liczba)
{
cout << endl << "To twoja "<<proba<< ". proba"<<endl;
cout << "Podaj, jaka to liczba: ";
cin >> strzal;
if(strzal>liczba)
{
cout << "To za duzo.";
proba++;
}
else if(strzal<liczba)
{
cout << "To za malo.";
proba++;
}
else if(strzal==liczba)
{
cout << "Wygrales! Poswieciles na to "<<proba<<" prob";
}
}
system("pause");
return 0;
}
natomiast używając biblioteki <stdio.h> i polecenia getchar() zamiast system("pause"), program nie czeka na kliknięcie dowolnego przycisku i od razu się wyłącza (zmiana biblioteki na <cstdio> nic nie daje). Dodam, że działam na Windows 10 Pro, ostatnio kombinowałem ze zmiennymi środowiskowymi we właściwościach systemu i modyfikowaniem zmiennej Path, ponieważ system miał problem ze znalezieniem libstc++-6.dll (nie mogłem odpalić pliku .exe, dopiero po tym zaczęło działać).
Normalnie bym nie pytał, bo i tak system("pause") robi to samo, ale dobrze byłoby wiedzieć, dlaczego coś, co miało działać (i widać to u pana Mirosława Zelenta: https://www.youtube.com/watch?v=QapjTCGV7GM), nie działa :P