Kezdőoldal » Számítástechnika » Programozás » Hol rontottan el? Már 1 órája...

Hol rontottan el? Már 1 órája próbálom kideríteni, hogy mi a baj a c# programomban, de nem sikerült. Annyit kiderítettem, hogy valami zárójel probléma van, tehát rosszul zártam le, vagy nem zártam le. Az else feletti zárójelek után hibát jelez:

Figyelt kérdés

A programom:

{

int a;

Console.WriteLine("kérek egy százalékszámot");

a = Convert.ToInt32(Console.ReadLine());

if (a > 90) ;

{

Console.WriteLine("5");

}

else

{

if (a >80 && a<89);

{

Console.WriteLine("4");

}

else

{

if (a > 79 && a < 65) ;

{

Console.WriteLine("3");

}

else

{

if (a > 49 && a < 64) ;

{

Console.WriteLine("2");

}

else

{

Console.WriteLine("1");

}

}

}



}


}



2015. szept. 27. 20:38
 1/5 anonim ***** válasza:
100%

1 óráig tart kideríteni, amit a fordító azonnal sorra pontosan megmond?

if után nincs pontosvessző, így az else lóg a levegőben és nem tudja értelmezni.

2015. szept. 27. 21:02
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
100%

További hibák:

1. Nem létezik olyan kifejezés, hogy "százalékszám".

2. else-en belüli if-eket nem teszünk blokkba, mert totál olvashatatlan lesz az egész.

3. Nem érintkező intervallumok, határértékek hiányoznak.

4. Össze-vissza felcserélt határok: "a > 79 && a < 65"

5. Nem derül ki mit számol a program.


Hogy néz ki normálisan:

using System;


class Program

{

static void Main()

{

Console.Write("Kérem az elért százalékot: ");

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


Console.Write("Jegy: ");

if (a > 90)

Console.WriteLine("5");

else if (a > 80 && a <= 90)

Console.WriteLine("4");

else if (a > 65 && a <= 80)

Console.WriteLine("3");

else if (a > 49 && a <= 65)

Console.WriteLine("2");

else

Console.WriteLine("1");

}

}

2015. szept. 27. 21:11
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:
Köszönöm szépen a segítséget.
2015. szept. 27. 21:43
 4/5 anonim ***** válasza:

de akár így is lehet:

Az else if-eknél a feltétel végére nem kellenek a && a <= 90 részek, mert az előző if már nem engedi oda a nagyobbakat


if (a > 90)

_Console.WriteLine("5");

else if (a > 80)

Console.WriteLine("4");

else if (a > 65)

Console.WriteLine("3");

else if (a > 49)

Console.WriteLine("2");

else

Console.WriteLine("1");

2015. szept. 28. 13:43
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:
Jogos.
2015. szept. 28. 14:39
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!