Kezdőoldal » Számítástechnika » Programozás » C# programozás, számológép?

C# programozás, számológép?

Figyelt kérdés

kezdtem el és most próbálok egy számológépet csinálni.Valaki esetleg eltudná nekem mondani hogy mi a hiba benne,és esetleg ki tudná javítani és elmagyarázni hogy miért nem jó?Én nem tudtam rájönni :(


using System;


public class Program

{

public static void Main()

{

Console.Write("Adja meg a műveletet (+,-,/,*)");

string valasztas = Console.ReadLine();


Console.Write("Adja meg a két számot enterrel elválasztva!");

int a = int.Parse(Console.ReadLine());

int b = int.Parse(Console.ReadLine());

int eredmeny = int.Parse(Console.ReadLine());


if (valasztas == "+" )

{

eredmeny = a + b;

}

else if (valasztas == "-" )

{

eredmeny = a - b;

}

else if (valasztas == "/" )


{

eredmeny = a / b;

}

else if (valasztas == "*" )


{

eredmeny = a * b;

}

Console.WriteLine("Az eredmény: " + eredmeny);

Console.ReadLine();


}

}



A hibaüzenet:

Run-time exception (line 13): Input string was not in a correct format.


Stack Trace:


[System.FormatException: Input string was not in a correct format.]

at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)

at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)

at System.Int32.Parse(String s)

at Program.Main() :line 13



2018. nov. 18. 12:34
 1/2 anonim ***** válasza:
100%
Az eredmenyt miert olvasod be?
2018. nov. 18. 12:47
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

Valamelyik szám beolvasása során rossz formátumot adtál meg. Mivel int típusú változókban tárolod el a számokat, ezért csak egész számokat tudsz bekérni(kb. -2 milliárd és +2 milliárd között). Tehát nem szerepelhet benne más karakter számon kívül és nem lehet tört szám. Amennyiben törtekkel is szeretnél számolni, akkor tárold el a bekért számokat lebegőpontos változókban (pl. float, double).


A "Adja meg a két számot enterrel elválasztva!" kiírás helyett talán jobban átláthatóbb egy kicsivel, ha az első szám bekérésé előtt azt írod ki pl: "Adja meg az első számot!", a második előtt pedig: "Adja meg a második számot!".


Az eredményt, nem tudom pontosan, miért kéred be. Ha elakarod kerülni a hibakódot, abban az esetben, amikor rossz műveletet ad meg a felhasználó, akkor inkább adj hard codeolva bármilyen értéket az "eredmeny" változónak (pl. 1) deklarációkor.

2018. nov. 18. 13:56
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!