// Infix -> Postfix átalakító gomb klikk eseménykezelője. private void converToPostfixBtn_Click(object sender, EventArgs e) { try { // Az infix kifejezést megpróbáljuk PostFix-szé alakítani. var formula = PostFixUtil.TransformToPostfix(infixTextBox.Text); // Kitesszük az eredményt a felületre. Ne feledjük, hogy a ToString ilyenkor a PostFix kifejezést tartalmazza. postFixTextBox.Text = formula.ToString(); } catch (InvalidOperationException ex) { // Ismert hiba történt, amit mi dobtunk el a kódból. MessageBox.Show($"A következő hiba történt a feldolgozás során: {ex.Message}", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception) { // Ismeretlen hiba történt. MessageBox.Show("Ismeretlen hiba történt a feldolgozás során!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
// A műveleti sorrendet megkereső eseménykezelő metódus. private void searchBtn_Click(object sender, EventArgs e) { int expectedResult; // Először ellenőrizzük, hogy a megadott elvárt eredmény egész szám-e, ha nem akkor hibát adunk. if (!int.TryParse(expectedResultTextBox.Text, out expectedResult)) { MessageBox.Show("Az elvárt eredmény nem egész szám!"); return; } // Meghívjuk a kereső metódust, ha null-t ad vissza, akkor ezekből a számokból és a műveletekből // nem lehet előállítani a megadott számot. Ha nem, akkor a kifejezést kiírjuk a felhasználói felületre. var result = PostFixUtil.SearchOrder(numberTextBox.Text, operatorTextBox.Text, expectedResult); if (result == null) { searchResultTextBox.Text = "Nincs helyes megoldás!"; } else { searchResultTextBox.Text = result.ToString(); } }