Kezdőoldal » Számítástechnika » Programozás » Miért lesz ez végtelen ciklus?

Miért lesz ez végtelen ciklus?

Figyelt kérdés

Annyira idegesítő! Bennem van a hiba csak nem tudom hol.


int manual;


do

{

manual = 0;


cout << "\nManual test (1 or 0): ";

cin >> manual;

if(manual != 1 || manual != 0)

cerr << "Error! Wrong number!" << endl;


}while((manual != 1) || (manual != 0));


Az volna a célom, hogy, ha nem 0 vagy 1 a megadott szám akkor folytassa a ciklust addig míg 0-t vagy 1-et nem kap. Csakhogy végtelenségig megy. Nem lép ki a ciklusból 0 és 1-es gombra sem.


Amúgy, ha véletlenül betűt írok, akkor meg folyamatosan pörög.



2016. szept. 17. 17:08
 1/3 anonim ***** válasza:
100%

Mert rossz a feltételed.


1-es esetben a manual!=0 rész lesz igaz, tehát a vagy kifejezésed igaz lesz.

0-s esetben a manual!=1 rész lesz igaz, tehát a vagy kifejezésed igaz lesz.


Neked addig kell menned, míg mindkét feltétel egyszerre teljesül: Nem 1 ÉS Nem 0.


Betűkre pedig a legegyszerűbb talán a cin.clear()-es megoldás.

2016. szept. 17. 17:13
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
Basszus hogy erre nem gondoltam. Kösz.
2016. szept. 17. 17:29
 3/3 anonim ***** válasza:

Gondolj bele, ha egy nőnek lenne végtelen ciklusa :-D

Amúgy meg amit az #1 -es írt. :-D

2016. szept. 17. 18:21
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!