using System;
using System.Windows;
namespace RównanieKwadratowe
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
// Метод 1 - считает дельту (принимает a, b, c)
private double ObliczDelte(double a, double b, double c)
{
return Math.Pow(b, 2) - 4 * a * c;
}
// Метод 2 - считает корни и выводит в TextBlock
private void ObliczPierwiastki(double a, double b, double delta)
{
if (delta == 0)
{
double rozwiazanie = (-b) / (2 * a);
txtWynik.Text = $"Delta = {delta}\n" +
$"Równanie ma jedno rozwiązanie: {rozwiazanie}";
}
else if (delta < 0)
{
txtWynik.Text = $"Delta = {delta}\n" +
"Równanie nie ma rozwiązania.";
}
else // delta > 0
{
double pierwiastekDelty = Math.Sqrt(delta);
double x1 = (-b - pierwiastekDelty) / (2 * a);
double x2 = (-b + pierwiastekDelty) / (2 * a);
txtWynik.Text = $"Delta = {delta}\n" +
$"Równanie ma dwa rozwiązania:\n" +
$"x1 = {x1}\nx2 = {x2}";
}
}
// Метод 3 - показывает ошибку
private void PokazBlad(string komunikat)
{
MessageBox.Show(komunikat, "Błąd",
MessageBoxButton.OK, MessageBoxImage.Error);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
try
{
double a = Convert.ToDouble(txtA.Text);
double b = Convert.ToDouble(txtB.Text);
double c = Convert.ToDouble(txtC.Text);
if (a == 0)
{
PokazBlad("To nie jest równanie kwadratowe!");
return;
}
double delta = ObliczDelte(a, b, c);
ObliczPierwiastki(a, b, delta);
}
catch (Exception)
{
PokazBlad("Podaj poprawne wartości liczbowe!");
}
}
}
}
Коротко по главным заменам:
∙ Console.ReadLine() → txtA.Text / txtB.Text / txtC.Text
∙ Console.WriteLine() → txtWynik.Text
∙ Console.ReadKey() → убрали
∙ goto poczatek → return
∙ Весь код разбили на 3 метода как требует задание