Kezdőoldal » Számítástechnika » Programozás » C#, konzolalkalmazás, ellenőrz...

C#, konzolalkalmazás, ellenőrzött adatbekérés, nagyon gusztustalan a lenti megoldás?

Figyelt kérdés

Kérlek finoman, ha magamtól rájönnék, miért nem jó, nem lenne kérdésem.


A cél, hogy adott tartományon belüli egész számokat fogadjon csak el, pl 5 és 8 között.


int min = 5, max = 8;

Console.WriteLine($"Kérem a számot {min} és {max} között!");

int num;


while (!int.TryParse(Console.ReadLine(), out num) || num < 5 || num > 8)

{

Console.WriteLine("Nem megfelelő a megadott adat, kérem, próbálja újra!");

}


2019. júl. 4. 12:41
1 2
 1/14 anonim ***** válasza:
hát nem a legszebb, ilyen módon függvényhívás kicsit csúnya a feltételben
2019. júl. 4. 12:44
Hasznos számodra ez a válasz?
 2/14 anonim ***** válasza:
Nagyon ronda. Én úgy csinálnám, hogy eleve egy változóba olvasnám és azt vetném össze a határokkal hátultesztelős ciklusban. 4 sor az egész és nem is ronda.
2019. júl. 4. 13:39
Hasznos számodra ez a válasz?
 3/14 A kérdező kommentje:

Miért ronda? :(



Miért jobb külön változózni stb?



Csak mert tényleg nem értem.

2019. júl. 4. 13:47
 4/14 anonim ***** válasza:

olvashatóbbá kell tenni

SOLID elveknek vagy Clean Code-nak nézz utána, hasznos lesz :)

2019. júl. 4. 13:52
Hasznos számodra ez a válasz?
 5/14 anonim ***** válasza:

Az előbb említett hibákon kívül még az is hiba, hogy az IF feltételében nem OR vizsgálatot kéne használnod hanem AND-et.


int num = 0;


while(num < 5 || num > 8){

Console.WriteLine("Kérek egy számot 5 és 8 között");

}

2019. júl. 4. 13:53
Hasznos számodra ez a válasz?
 6/14 anonim ***** válasza:
* Illetve még a Console.ReadLine()-t lefelejtettem a while ciklusból
2019. júl. 4. 13:54
Hasznos számodra ez a válasz?
 7/14 A kérdező kommentje:
Hát, a SOLID-ról se lehet sokat találni... Kerestem már, és általában fizetős online könyvekhez vagy kurzusokhoz jutottam.
2019. júl. 4. 14:01
 8/14 A kérdező kommentje:

Az se szép, ha a Console.ReadLine() külön van és egy ideiglenes temp fájlba rakom stringként, és a do while feltételében van a TryParse()?


Vagy

bool isNumber = int.TryParse(Console.ReadLine(), out num), és egy do-while feltételeihez berakom az isNubert is?


Ilyenkor a konzolra való kiíratáshoz hogyan vizsgálom, hogy először történik-e a bekérés?


int i = 0;

Majd (pszeudokód-szerűség jön):


I == 0 ? Írd ki kérem a számot : írd ki rossz volt a szám

2019. júl. 4. 14:14
 9/14 anonim ***** válasza:
52%
Nincs ezzel semmi baj, max az, hogy nem használtad a bevezetett változókat.
2019. júl. 4. 14:25
Hasznos számodra ez a válasz?
 10/14 A kérdező kommentje:

Öm, tényleg nem használtam őket.


Máshol vagyok és épp szabad időm van, eszembe jutott megkérdezni, de Visual Studio nincs előttem.

Viszont logikailag a fentit valósítottam meg otthon, tehát ha nem jó, nem jó :(

2019. júl. 4. 14:31
1 2

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!