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:
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");
}
}
}
}
}
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.
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");
}
}
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");
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!