Petla while

0

Witam, dopiero zaczynam programowac na wlasna reke i mam pewien problem. Otoz program nie chce wejsc w petle while. Prosze o pomoc i pozdrawiam.

int main() {
int wybor;
bool tmp = false;

while (tmp == true) {
	cin >> wybor;
	switch (wybor) {
	case 1: {
		tmp = true;
		cout<<"wyb1"<<endl;
		break;
	}
	case 2: {
		tmp = true;
		cout<<"wyb1"<<endl;
		break;
	}
	default:{ cout<<"niepoprawny wynik"<<endl;
	break;
	}
	}
	}
}
0

Użyj <code><code class="cpp"></code></code>

bool tmp = false;
while (tmp == true) 

niby dlaczego ma wejść do pętli skoro warunek nie jest spełniony?

0

no ale to co jest w nawiasach to warunek konczacy co nie ?

0

No tak, ale jak przed pętlą ustawiasz boola na false to nawet jeden obieg pętli się nie wykona i bool nie będzie miał szans ustawić się na true;
Ustaw przed pętlą na true i po problemie (:

Tak poza tym to nigdzie nie ustawiasz tmp na false, więc jak już program wejdzie do pętli to nie wyjdzie

0

Czyli petla while zawsze wykona sie przynajmniej raz? Dzieki za pomoc

0
Czarny Młot napisał(a):

Czyli petla while zawsze wykona sie przynajmniej raz? Dzieki za pomoc

NIE. Pętla while może nigdy się nie wykonać jeśli warunek na samym początku nie będzie spełniony.
Pętla do while zawsze się wykona przynajmniej raz nawet jeśli warunek nie jest spełniony. Przeczytaj jeszcze raz o tych pętlach, bo wszystko Ci się myli.

0

Dzieki wielkie za pomoc !!!!!! Co do poczytania to polecacie "Symfonie c++" ?

0

radzę poczytać dowolną dokumentację o c++ nawet wikipedia się nada

1 użytkowników online, w tym zalogowanych: 0, gości: 1