Kezdőoldal » Számítástechnika » Programozás » Ezt hogy kell megírni a c#-ban?

Ezt hogy kell megírni a c#-ban?

Figyelt kérdés

Még kezdő programozó vagyok


Írtam egy kódot, hogy a bevitt számok közötti páros számok értékét adja össze a program. Ezt meg is tudtam írni viszonylag hamar. Viszont azt már napok óta nem tudom megírni, hogy hogyan kezelje ha a user a következő feltételeket adja meg:


1.Nem számot ad.

2. Az első szám nagyobb mint a második.

3. Bármelyik szám negatív.


Eredetileg azt is kellett volna, hogy az első szám nem páros, de azt úgy oldottam meg, hogy nem kettesével hanem egyesével léptettem és a végén elosztottam 2-vel, majd mennyi a maradék.


2018. aug. 14. 15:07
 1/9 A kérdező kommentje:

Eddig így néz ki a kódom:


namespace ConsoleApp3

{


internal static class Program

{


internal static void Main(string[] args)

{


int sum = 0;


int szam1 = Convert.ToInt32(Console.ReadLine());

int szam2 = Convert.ToInt32(Console.ReadLine());



for (int a = szam1; a <= szam2; a++)


{


if (a % 2 == 0)



if (szam1 > szam2) ;

MassageBox.Show("Az első érték legyen kisebb!");



}



{

sum = sum + a;

}



Console.Write($"A megadott értékek közti páros szémok összege: {sum}");


Console.ReadKey();



}

}

}

2018. aug. 14. 15:08
 2/9 anonim ***** válasza:
100%

Szia!


Több alapvető hibád is van, ezeket orvosolni kell.


A Te kódodban ez egy nagy hiba:

if (szam1 > szam2) ;


Az if, else, else if, while, for, stb kulcsszavaknál (vezérlési szerkezeteknél) a FEJ UTÁN TILOS pontos vesszőt tenni. Ez gyakorlatilag egy láthatatlan hibát generál, amit nehéz észrevenni.


Máskor használj kódmegosztó oldalt, ha kérdést teszel fel ide. Ilyenek a pastebin, hastebin, stb oldalak.


internal kulcsszó nem kell. Ennek nézz utána kicsit jobban.


stringek esetében neked most nincs szükséged a $ előtagra. Ha formázott szöveget akarsz kiírni kezdésként ajánlom a string.Fromat(...) függvényt.


És satöbbi és satöbbi. Na de itt a helyes kód:

hastebin.com/olofujesar.cs

2018. aug. 14. 17:17
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:

1.Nem számot ad.

if(string.IsNullOrEmpty(szam1)) // ha nem írt be semmit

2. Az első szám nagyobb mint a második.

Ezt már kezelted, csak ne a ciklusba tedd, hanem rögtön a beolvasás után. Vagy csinálhatod azt is, hogy ha rossz sorrendben vannak, akkor megcseréled.

3. Bármelyik szám negatív.

Ezt nem értem, az miért baj?

2018. aug. 14. 17:20
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:

"FEJ UTÁN TILOS pontos vesszőt tenni"

Nem tilos, csak akkor tudni kell, hogy a hozzá tartozó utasítás egy üres utasítás. Ciklusoknál elő szokott fordulni, hogy mondjuk nincs ciklusmag, mert a szükséges tevékenység a ciklus fejében megvalósul.

Amúgy itt valóban hiba.

2018. aug. 14. 17:24
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
+1 a 4-esnek. Csak most nem akartam belekezdeni az egészet elmagyarázni, mert általában úgy szoktam, hogy példákat is rakok hozzá. Ha azonban tovább tanul, akkor előbb-utóbb rájön, hogy nem tilos, de nem ajánlott.
2018. aug. 14. 17:28
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:

Köszönöm a válaszokat!


Én egyébként azt tapasztalom, hogy magát a logikát értem hogy mit hogyan kell megírni, de a szintaktikát viszont nem ismerem eléggé. Gondolom ez majd a rutinnal fog jönni.

2018. aug. 14. 18:23
 7/9 anonim ***** válasza:
44%

"Én egyébként azt tapasztalom, hogy magát a logikát értem hogy mit hogyan kell megírni, de a szintaktikát viszont nem ismerem eléggé."


Akkor vhogy mégsem érted.

A szendvicskészítés logikáját is érti mindenki, csak leprogramozásnál vannak gondok.

2018. aug. 14. 18:51
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:

Mondjuk az, hogy mit teszel a ciklusmagba, vagy mit mi után hajtasz végre, az nem szintaktikai kérdés. Próbáld először simán csak leírni valami pszeudokóddal, hogy mit szeretnél, és jó esetben a fő problémák már ott kibuknak. Valahogy így:

szam1 <- beolvas

szam2 <- beolvas

ha (izé) akkor hozé

ciklus belépő feltétel (..)

__ezt csinálja

__azt csinálja

ciklus vége

stb.

2018. aug. 15. 15:47
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

1.Nem számot ad.

Félreértettem az előbb, az itt lévő első válasz segíthet:

[link]

2018. aug. 16. 06:11
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!