Jak ograniczyć pętle "while"?


(Kamil Kubik) #1

Mam pewien problem - używając funkcji switch napisałem maly programik/kalkulator. Chciałbym jednak po wpisaniu 2 liczb wybrać typ działania jakie będzie na nich wykonane i dodać pętle, która będzie wyswietlała "Wybierz typ działania", jesli np użytkownaik nieprawidłowo wybierze typ operacji...

Zrobiłem coś takiego dla + i -:

Niestety nie działa, program cały czas wyswietla komunikat nawet jak wybieramy +/-. Dlaczego?


(Monczkin) #2

flacznik , nazwij proszę temat konkretnie, bez zbędnych problemów w tytule. Inaczej wyciągnę konsekwencje. Przeczytaj proszę ten temat. viewtopic.php?f=16&t=394978


(Martini M) #3

Witam,

Nie specjalnie rozumiem Twoją intencję. Jeżeli chciałeś, żeby program pozostawał w pętli while do czasu podania przez użytkownika jednej z opcji to zastanów się nad warunkiem w while. Jak działa pętla do-while? Kręci się do czasu kiedy warunek while ma wartość logiczną true. Sądzę, że ta podpowiedź powinna wystarczyć.

Powodzenia.


(Spam) #4

Zmień „lub” na „i”.


(Kamil Kubik) #5

no i tak wlasnie zrobiłem

...ale nie działa.


(Tomek Matz) #6
while(!(dzialanie == '-' || dzialanie == '+'));

(Kamil Kubik) #7

Dzięki =D>


(Martini M) #8

Witam,

matzu dobre rozwiązanie, albo można tak jak napisał Wasacz zamienić "lub" na "i"

while((dzialanie != '-') && (dzialanie != '+'))

Jest to równoważne temu co Ty zaproponowałeś zgodnie z prawami De Morgana.

Pozdrawiam