Kezdőoldal » Számítástechnika » Programozás » Segítség program hibában?

Segítség program hibában?

Figyelt kérdés

Helo!

Elkezdtem önerőből C#-ot tanulni (egyetemen volt C++ de az már elég rég volt), viszont a kicsiny programom nem akar lefutni és nem tudom miért.

Jelenleg másodfokú függvényt akarok kiszámoltatni vele, de az istenért nem tudom rávenni hogy kiírja az eredményt, mindig NaN-t ír ki.


kép:

[link]


A kód maga így néz ki:

Console.WriteLine("3. Feladat:");

Console.WriteLine("Adja meg a kívánt adatokat az a*x^2 + b*x + c = 0 másodfokú egyenlet kiszámításához");

double a;

double b;

double c;

string A;

string B;

string C;

Console.WriteLine();

Console.WriteLine("Adja meg az 'a' értékét");

A = Console.ReadLine();

if (!double.TryParse(A, out a))

{

Console.WriteLine("Hibás paraméter!");

Console.WriteLine("A kilépéshez nyomjon meg egy gombot");

Console.ReadKey();

Environment.Exit(2);

}

Console.WriteLine();

Console.WriteLine("Adja meg a 'b' értékét");

B = Console.ReadLine();

if (!double.TryParse(B, out b))

{

Console.WriteLine("Hibás paraméter!");

Console.WriteLine("A kilépéshez nyomjon meg egy gombot");

Console.ReadKey();

Environment.Exit(3);

}

Console.WriteLine();

Console.WriteLine("Adja meg a 'c' értékét");

C = Console.ReadLine();

if (!double.TryParse(C, out c))

{

Console.WriteLine("Hibás paraméter!");

Console.WriteLine("A kilépéshez nyomjon meg egy gombot");

Console.ReadKey();

Environment.Exit(4);

}

double elso_resz;

elso_resz = Math.Sqrt(Math.Pow(b,2)-4*a*c)/(2*a);

double elso_x;

elso_x = -b / (2 * a) + elso_resz;

double masodik_x;

masodik_x = -b / (2 * a) + elso_resz;

Console.WriteLine("Az x1 értéke: "+ elso_x);

Console.WriteLine("Az x2 értéke: "+ masodik_x);

Console.WriteLine("A kilépéshez nyomjon meg egy gombot");

Console.ReadKey();


Tudom sok mindent lehetne rövidíteni static double-ökkel, de az jelenleg csak megzavarna :)


Előre is köszönöm a segítséget.



2016. okt. 29. 13:32
1 2
 11/11 A kérdező kommentje:

a=1, b=4, c=3-mal csináltam, azzal -1, -3 a végeredmény, ami végül ki is jön,

var szamolas_egy = Math.Pow(b, 2)-(4*a*c);

var szamolas_ketto = Math.Sqrt(szamolas_egy);

var x_egy = (-b - szamolas_ketto)/(2*a);

var x_ketto = (-b + szamolas_ketto) /(2*a);

var x_elso = Math.Round(x_egy , 2);

var x_masodik = Math.Round(x_ketto, 2);

Console.WriteLine("Az X1 értéke: {0}",x_elso);

Console.WriteLine("Az X2 értéke: {0}",x_masodik);


de most a mínuszt is beveszi, pl 1 4 -5 értékekkel kidobja a -5, 1 eredményt.

Köszi. Majd még alakítok rajta.

2016. okt. 29. 23:09
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!