Kezdőoldal » Számítástechnika » Programozás » Miért nem működik a do-while...

Miért nem működik a do-while ciklusom? (C programozás)

Figyelt kérdés

Sziasztok!


Rá tudna nekem világítani valaki arra, hogy az alábbi kód miért nem működik? (A cél az volna, hogy amikor az érték eltér 'y'-tól vagy 'n'-től, megismétli a kérdést, de sajnos, amikor 'y'-t vagy 'n'-t írok be, akkor is ismétel...)


Kód:


#include <stdio.h>

#include <cs50.h>


int main (void)

{

char c;

do

{

c = get_char("y or n? ");

}

while (c != 'y' || c != 'n');

}


Köszi!! :)



2023. jan. 21. 17:59
 1/5 anonim ***** válasza:
79%

Lehet, hogy hülyeséget mondok (migrénem van, stresszes vagyok, fáradt vagyok, szóval megeshet.. előre is bocs), de ... annak a while-nak a feltétele nem lesz mindig igaz?...

Ugyanis az egy "vagy" kapcsolat. Ha n-et nyomsz, akkor ugyan a második feltétel hamis lesz, de az első igaz. Ha meg y-t, akkor fordítva. Inkább "és" kapcsolat kéne. Ha mindkettő igaz - azaz se nem y-t, se nem n-t nyomtál - akkor kell újra bekérni.

2023. jan. 21. 18:07
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
20%

1 jobbulást



Bocs hogy ideírom a javascript kódot lehet ez nem segít


let result = '';

let i = 0;


do {

i = i + 1;

result = result + i;

} while (i < 5);


Hátha valaki a c-t is tudja.

2023. jan. 21. 18:31
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
78%
&&
2023. jan. 21. 19:06
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
94%

Igy van:


while (c != 'y' && c != 'n');

2023. jan. 21. 19:38
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:

Oh, nagyon szépen köszönöm!! :)


És jobbulást az elsőnek! ;)

2023. jan. 21. 22:05

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!