Problem z programem - Obliczenia równań kwadratowych

0

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();


        }
    }
}

}


0

Użyj double.tryparse

1 użytkowników online, w tym zalogowanych: 0, gości: 1