Pierwiastki równania kwadratowego

0

Witam
mam program ktory powinien liczyc pierwiastki rownania kwadratowego.Kompiluje sie ,wyświetla wartości a,b,c oraz gdy delta<0 to rownanie nie ma rozwiązania w zbiorze liczb rzeczywistych i na tym koniec .
nie wyświetla mi obliczeń x1 oraz x2 i gdy delta=0
Mołgby ktos zerknąc na kod i zobaczyc gdzie cos ominąlem bądź poprawił co źle
Z góry dzieki

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace pierwiastki
{
    class Program
    {
        static void Main(string[] args)
        {
            int liczbaA = 2, liczbaB =-3, liczbaC =4;
          
            Console.WriteLine("Liczby rownania kwadratowego:\n");
            Console.WriteLine("a: " + liczbaA + " b: "+ liczbaB + "c: " + liczbaC + "\n" );
            Console.ReadKey();
        
            if (liczbaA==0){
                    Console.WriteLine("To nie jest rownanie kwadratowe: a=0!");
                    Console.ReadKey();
                }
                else{
                        double delta = liczbaB* liczbaB - 4* liczbaA* liczbaC;
                        if (delta < 0)
                        {
                            Console.WriteLine("delta<0");
                            Console.WriteLine("to rownanie nie ma rozwiązania w zbiorze liczb rzeczywistych");
                            Console.ReadKey();
                        }
                        else
                        {
                            double wynik;
                            if (delta == 0)
                            {
                                wynik = - liczbaB / 2* liczbaA;
                                Console.WriteLine("x =" + wynik);
                            }
                            else
                            {
                                wynik = (- liczbaB + Math.Sqrt(delta)) / 2* liczbaA;
                                Console.WriteLine("x1 =" + wynik);                              
                                wynik = (- liczbaB - Math.Sqrt(delta)) / 2* liczbaA;
                                Console.WriteLine("x2 =" + wynik);
                                
                       }
                 }
           }
    
        }
    }
}
 
2

Obstawiam, że wypisuje, bo nie widzę żadnego błędu, lecz wyskakuje na ułamek sekundy i program się zamyka - nie masz nigdzie Console.ReadKey().

0

dalem Console.ReadKey(); ale nadal w ogóle mi nie wylicza x1 x2
wyswietla mi wartosci a,b,c delta<0 i komunikat i zatrzymuje sie na tym

a jak dam ze delta>0 to wyskakuje komunikat x1 nie jest liczbą i x2 nie jest liczbą

0

a jak bym chciałwklepac ręcznie liczby zeby nie były przypisane to zadeklarowac tylko zmienne a,b,c? bez podawania ich wartosci?

a mogl bys to napisac jak by to wyglądało?bo ja to zrobilem i teraz błędy wyskakuja

0
double a, b, c;
string s;

Console.Write("Podaj a: ");
s = Console.ReadLine();
if (!Double.TryParse(s, out a)) Console.WriteLine("Podany tekst nie jest liczba");

Console.Write("Podaj b: ");
s = Console.ReadLine();
if (!Double.TryParse(s, out b)) Console.WriteLine("Podany tekst nie jest liczba");

Console.Write("Podaj c: ");
s = Console.ReadLine();
if (!Double.TryParse(s, out c)) Console.WriteLine("Podany tekst nie jest liczba");
0

dzieki teraz juz działa dobrze:)

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