Fizyka szkoła podstawowa
Fizyka: wzory, prawa i teoria. Rozwiązania zadań z omówieniem

Rozwązanie zadania:

Opcje wyboru. Instrukcja warunkowa switch

Instrukcja warunkowa switch, to instrukcja wielokrotnego wyboru, która po sprawdzeniu wyrażenia dopasowania do wzorca wybiera jedną z sekcji case

switch (wyrażenie)
{
case wzorzec1: instrukcja-1; break;
case wzorzec2: instrukcja-2; break;
case wzorzec3: instrukcja-3; break;
.
.
.
.
default: instrukcja-braku-dopasowania; break;//konstrukcja nie jest wymagana
}

Cel: Napisz aplikację z zastosowaniem kontrolki RadioButton i użyciem instrukcji warunkowej switch zrealizuje podstawowe działania mateamtyczne

radiobutton visual studio c#

Krok 1. Układ komponentów

  • GroupBox- sztuk 1
  • RadioButton- sztuk 4
  • Label- sztuk 3
  • TextBox- sztuk 2
  • Button- sztuk 1

visula studio c#

Krok 2. Zmiana zawartości właściwości Text poszczególnych kontrolek

zmiana zawartości Text visual studio c#

Skompiluj program i sprawdź zachowanie się kontrolek RadioButton

Krok 3. Przypisujemy kontrolki RadioButton do jednego zdarzenia CheckedChanged

Komponenty RadioButton wprowadź w stan aktywności edycyjnej

Komponenty RadioButton wprowadź w stan aktywności edycyjnej

Każdemu z komponentów RadioButton przypisz jedną i tą samą funkcję zdarzenia CheckedChanged

zdarzenie checkedchanged visual studio c#

Krok 4. Zastosuj instrukcję wielokrotnego wyboru switch w funkcji zdarzenia CheckedChanged

W tym zdarzeniu ustalimy rodzaj wybranego działania matematycznego. Wybór zapamiętamy w zmiennej lokalnej klasy Form typu byte. Przyjmiemy, że wartość 0 to brak wyboru, 1 to dodawanie, 2 to odejmowanie, 3 to mnożenie, 4 to dzielenie

private void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
RadioButton rb = sender as RadioButton;
if (rb.Checked)
{
switch (rb.Text)
{
case "+": dzialanie = 1; break;
case "-": dzialanie = 2; break;
case "*": dzialanie = 3; break;
case "/": dzialanie = 4; break;
default: dzialanie = 0; break;
}
}
}

Gdzie zmienna dzialanie jest zadeklarowana jak poniżej

public partial class Form1 : Form
{
byte dzialanie = 0;

Sprawdź czy program się kompiluje

Krok 5. Wykonujemy obliczenie w zdarzeniu Click komponentu Button

Odczyt zmiennych wprowadzonych z klawiatury potraktujemy jako prawidłowe i nie będziemy robić zabezpieczenia konwersji. Użyjemy trzech zmiennych lokalnych typu rzeczywistego private void Button1_Click(object sender, EventArgs e)
{
float a = Convert.ToInt16(textBox1.Text),
b = Convert.ToInt16(textBox2.Text),
wynik = 0;
}

Instrukcja switch realizująca nasz problem przyjmie poniższą postać (wyniki działań wyślemy do komponentu label3)

switch (dzialanie)
{
case 1:wynik = a + b;break;
case 2: wynik = a - b; break;
case 3: wynik = a * b; break;
case 4: wynik = a / b; break;
dafault: wynik = 0; break;
}
label3.Text = wynik.ToString();

RadioButton rb = sender as RadioButton

Uwaga: Bardziej eleganckim rozwiązaniem zastosowania zmiennej przechowującej informację o wybranym działaniu matematycznym jest zastosowanie typu wyliczeniowego

public partial class Form1 : Form
{
enum DZIALANIE { BRAK, DODAWANIE, ODEJMOWANIE, MNOZENIE, DZIELENIE };
private DZIALANIE dzialanie=DZIALANIE.BRAK;

Ćwiczenie sprawdzające

1. Zabezpiecz aplikację przed błędami konwersji i dzieleniem przez zero.


Dobra książka

Zobacz przepis na wyśmienite gofry