Witam, mam problem z programem. Otóż:
- zwiesza się po wpisaniu liczb ujemnych
- zwiesza się po wpisaniu liter
- jak się wpisze enter to również się zwiesza
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace rownaniekwadratowe2
{
class Program
{
static void Main(string[] args)
{
Console.Title = "Rozwiązywanie równań kwadratowych - Aleksandra Wantoła";
double a, b, c, x1, x2, delta; //zmienne
try
{
Console.WriteLine("Program do rozwiązywania równań wita:)!");
Console.WriteLine("WITAJ W PROGRAMIE ROZWIĄZUJĄCYM RÓWNANIA KWADRATOWE:");
Console.WriteLine("ax^2 + bx + c = 0");
Console.WriteLine("Proszę podać kolejno współczynniki a, b, c :");
Console.Write("Proszę podać wartość parametru a: ");
a = Convert.ToDouble(Console.ReadLine());
if (a == 0)
{
throw new Exception("parametr a powinien byc rożny od zera");
}
Console.Write("Proszę podać wartość parametru b: ");
b = Convert.ToDouble(Console.ReadLine());
Console.Write("Proszę podać wartość wartosc c: ");
c = Convert.ToDouble(Console.ReadLine());
delta = b * b - 4 * a * c;
if (delta > 0) //warunek obliczający deltę - warunek delta jest większa od zera
{
x1 = (-b - Math.Sqrt(delta)) / (2 * a); //wzór obliczający pierwiastek
x2 = (-b + Math.Sqrt(delta)) / (2 * a);
Console.WriteLine("Twoje rownanie ma dwa pierwiastki: ");
Console.WriteLine("\tx1 = {0}", x1);
Console.WriteLine("\tx2 = {0}", x2);
}
else
{
if (delta == 0) //drugi warunek, delta jest równa 0
{
x1 = -b / (2 * a);
Console.WriteLine("Twoje rownanie ma 1 pierwiastek: ");
Console.WriteLine("\tx1 = {0}", x1);
}
else
{
Console.WriteLine(" Twoje równanie nie ma pierwiastków rzeczywistych, delta jest liczbą ujemną");
}
}
}
catch (Exception ex)
{
Console.WriteLine("Dziękuję za skorzystanie z tego programu");
Console.WriteLine("Ten program został właśnie przerwany.{0}");
Console.ReadKey();
}
}
}
}