// Kiértékelő gomb eseménykezelője. private void evaluateBtn_Click(object sender, EventArgs e) { // Az a, b, c változók kapnak egy alap (de valid) értéket, amiket majd később feltöltünk a felhasználótól jövő // adatokkal, hogyha azokat éppen használjuk. Ha az adott változót nem használjuk, akkor az értékét sem, így tetszőleges // érték megadható. int a = 0, b = 0, c = 0; // Változónként megnézzük, hogy a hozzá tartozó mező írható-e, ha igen, akkor elmentjük a megfelelő változóba az értékét, // amennyiben az egész számot tartalmaz. if (!aValue.ReadOnly) { if (!int.TryParse(aValue.Text, out a)) { MessageBox.Show("Nem egész szám az a változó értéke!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } if (!bValue.ReadOnly) { if (!int.TryParse(bValue.Text, out b)) { MessageBox.Show("Nem egész szám a b változó értéke!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } if (!cValue.ReadOnly) { if (!int.TryParse(cValue.Text, out c)) { MessageBox.Show("Nem egész szám a c változó értéke!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } try { // A felületre kitesszük a kiértékelés eredményét. resultTextBox.Text = userDefinedFormula.Evaluate(a, b, c).ToString(); } catch (InvalidOperationException) { MessageBox.Show("Hiba történt a kiértékelés során!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public int Evaluate(int a, int b, int c) { // A kiértékelés eredménye az, hogy az operandus kiértékelésének eredményét összeszorozzuk. return(firstOperand.Evaluate(a, b, c) * secondOperand.Evaluate(a, b, c)); }
public int Evaluate(int a, int b, int c) { // A kiértékelés a két operandus eredményének összege. return(firstOperand.Evaluate(a, b, c) + secondOperand.Evaluate(a, b, c)); }