Kezdőoldal » Számítástechnika » Programozás » Mi a (szemantikai) hiba az...

Mi a (szemantikai) hiba az alábbi C# kódrészben?

Figyelt kérdés

Console.WriteLine("Automatikus vagy manuális dátummegadást szeretne alkalmazni? (a/m)");

string válasz=Console.ReadLine().Trim();

while(válasz.ToLower()!="a" || válasz.ToLower()!="m")

{

Console.WriteLine("A válasz nem értelmezhető. Próbálja újra!");

válasz=Console.ReadLine().Trim();

}

if(válasz.ToLower()=="a")

AutomatikusMegadás(dátumok);

else

ManuálisMegadás(dátumok);

for(int i=0; i<dátumok.Length; i++)

Console.WriteLine(dátumok[i,1]+" "+dátumok[i,2]);



Alapvetően az lenne a lényege, hogy kiír random generált, vagy a felhasználótól bekért dátumokat (hónap, nap) attól függően, hogy az az automatikus(a) vagy a manuális(m) megadást választotta.

Ezen kívül a program még leellenőrzi, hogy a felhasználó biztosan értelmezhető választ adott-e, és újra rákérdezi, ha nem.

A probléma az, hogy valamiért akkor sem fogadja el a választ, ha az a két megengedett betű valamelyike.


Mi a hiba?



2016. nov. 28. 21:13
 1/4 anonim ***** válasza:
100%
Azért mert ugyanaz a válasz nem lehet egyszerre "a" és "m" is így az egyik feltétel mindig igaz lesz, végtelen ciklus.
2016. nov. 28. 21:16
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
Valóban, elfelejtettem, hogy ciklust írok és nem elágazást és VAGY-ot használtam ÉS helyett. Köszönöm!
2016. nov. 28. 21:19
 3/4 anonim ***** válasza:

Nem nagyon tudom hogy jön ide, hogy ciklusról vagy elágazásról van-e szó.

Ilyen hülyeségeket ne magolj be.

2016. nov. 28. 21:20
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

#3-as, ne húzd le kérlek a kollégát, ez a helyes megoldás.

Azért jön ide a ciklus/elágazás, mert a while addig fut, amíg igaz, tehát az gyakorlatilag egy while(true) amit írt, mert "a" != "m". Ha ott a while helyett if lenne, akkor az csak a-ra, vagy m-re NEM menne be, többi szövegnél bemenne a hibakezelő részbe.


Amúgy szőrözés, de mint ha nekem hiányozna a DateTime[] dátumok.

2016. nov. 28. 22:51
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!