/// <summary> /// Obliczanie wyniku /// </summary> private void oblicz() { if (operacja == operacje.BRAK) { return; } double pierwszaLiczba = double.Parse(poprzedniTekst); double drugaLiczba = double.Parse(Wynik.Text); double wynik; switch (operacja) { case operacje.DZIELENIE: wynik = pierwszaLiczba / drugaLiczba; break; case operacje.MNOZENIE: wynik = pierwszaLiczba * drugaLiczba; break; case operacje.DODAWANIE: wynik = pierwszaLiczba + drugaLiczba; break; case operacje.ODEJMOWANIE: wynik = pierwszaLiczba - drugaLiczba; break; case operacje.POTEGA: wynik = Math.Pow(pierwszaLiczba, drugaLiczba); break; default: return; } if (bledy.Contains(Wynik.Text)) { return; } operacjaBool = false; poprzedniTekst = null; string rownanie; if (!funkcjaBool) { rownanie = Rownanie.Text + drugaLiczba.ToString(); } else { rownanie = Rownanie.Text; funkcjaBool = false; } zmienRownanie(rownanie); wyswietlWynik(wynik.ToString()); operacja = operacje.BRAK; rezultatBool = true; }
/// <summary> /// Jeżeli wystąpi błąd to zostaje wyświetlany na ekran. /// </summary> /// <param name="tekst">Łańcuch znaków przechowujący przechowujący informację o błędzie.</param> private void pokazBlad(string tekst) { Wynik.Text = tekst; poprzedniTekst = null; operacjaBool = false; zerujBool = true; zmienRownanie(""); operacja = operacje.BRAK; zresetujRozmiarCzcionki(); }
/// <summary> /// Pobieranie podstawowych operacji: dodawanie, odejmowanie, dzielenie, mnożenie, potęgowanie /// </summary> private void podstawoweOperacje_Click(object sender, RoutedEventArgs e) { if (bledy.Contains(Wynik.Text)) { return; } if (operacjaBool && !staryTekstBool) { oblicz(); } Button przycisk = (Button)sender; operacjaBool = true; poprzedniTekst = Wynik.Text; string przyciskTekst = przycisk.Content.ToString(); string rownanie = poprzedniTekst + " " + przyciskTekst + " "; switch (przyciskTekst) { case "/": operacja = operacje.DZIELENIE; break; case "x": operacja = operacje.MNOZENIE; break; case "-": operacja = operacje.ODEJMOWANIE; break; case "+": operacja = operacje.DODAWANIE; break; case "^": operacja = operacje.POTEGA; break; } zmienRownanie(rownanie); zresetujRozmiarCzcionki(); wyswietlWynik(Wynik.Text); staryTekstBool = true; }