Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Tut/C#]Prosty kalkulator


Gość Pan Szymek

Rekomendowane odpowiedzi

Opublikowano

Kalkulator ten ma mieć 4 funkcje - dodawanie, odejmowanie, mnożenie, dzielenie 2 liczb z przecinkiem lub bez.

 

 

Zatem stwórzmy GUI przez drag&drop, ma ono zawierać 10 przycisków, których parametr Text wynosi docelową liczbę, 4 przyciski z etykietą +, -, *, /, przycisk do kasowania oraz do wyniku.

Mój interfejs wygląda tak:

dpgd.png

 

 

Przejdźmy teraz do kodu.

Najpierw zajmiemy się dodawaniem liczb do textBoxa

void wcisnieciePrzycisku(object sender, EventArgs args)
{
textBox1.Text += ((Button)sender).Text;
}

Rzutujemy nadawcę na Button i sprawdzamy wartość jego właściwości Text.

 

 

Następnie stwórzmy sobie 3 zmienne

double pierwszaLiczba = -1.0, drugaLiczba = -1.0;
short dzialanie = -1;

Dzięki zmiennej "działanie" będziemy wiedzieć jaką mamy przeprowadzić akcję.

 

 

Teraz zajmijmy się przyciskami +, -, *, /

void zmienDzialanie(object sender, EventArgs args)
{
string wartosc = ((Button)sender).Text;
if (wartosc.Equals("+"))
dzialanie = 0;
else if (wartosc.Equals("-"))
dzialanie = 1;
else if (wartosc.Equals("*"))
dzialanie = 2;
else if (wartosc.Equals("/"))
dzialanie = 3;
pierwszaLiczba = double.Parse(textBox1.Text);
textBox1.Text = "";
}

 

Sprawdzamy jaką wartość właściwości Text miał nadawca i odpowiednio ustawiamy działanie, następnie do zmiennej pierwszaLiczba przypisujemy tekst znajdujący się w textBoxie.

 

Przedostatni przycisk, który nie ma jeszcze zdarzenia to button, który kasuje tekst z textBoxa oraz zmienia wartość zmiennych pierwszaLiczba i drugaLiczba na -1.0

void resetuj(object sender, EventArgs args)
{
textBox1.Text = "";
pierwszaLiczba = -1.0;
drugaLiczba = -1.0;
}

 

Pozostał tylko przycisk, który zmieni zawartość textBoxa na wynik

void pokazWynik(object sender, EventArgs args)
{
drugaLiczba = double.Parse(textBox1.Text);
if (dzialanie != -1 && pierwszaLiczba != -1.0 && drugaLiczba != -1.0)
{
if (dzialanie == 0)
textBox1.Text = (pierwszaLiczba + drugaLiczba).ToString();
else if (dzialanie == 1)
textBox1.Text = (pierwszaLiczba - drugaLiczba).ToString();
else if (dzialanie == 2)
textBox1.Text = (pierwszaLiczba * drugaLiczba).ToString();
else if (dzialanie == 3)
textBox1.Text = (pierwszaLiczba / drugaLiczba).ToString();
}
}

 

I to wszystko, kalkulator powinien działać, jednak jak wspomniałem na początku miał być prosty i zdaję sobie sprawę z jego mnogiej liczby ułomności.

Opublikowano

fajny ja też taki zrobiłem(w vb) ale tylko mój miał jeszcze dec/hex

hex/dec

int i = 0;
string x = TextBox1.Text;
i = Convert.ToInt32(x, 16);
TextBox2.Text = i.ToString();

dec/hex

TextBox2.Text == Conversion.Hex(Convert.ToInt32(TextBox1.Text))

..x..

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...