Írjunk programot, amely struktúrával oldja meg a kalkulátor működését a négy alapművelettel.
A feladat megoldása:
struct Kalkulátor
{
// pédánymező
private double szám1, szám2, ered;
private char művjel;
// paraméteres konstruktor
public Kalkulátor(double sz1, double sz2, char mjel)
{
szám1 = sz1; szám2 = sz2; művjel = mjel;
ered = 0;
}
// közönséges metódus
public double Művelet()
{
switch (művjel)
{
case '+': ered = szám1 + szám2; break;
case '-': ered = szám1 - szám2; break;
case '*': ered = szám1 * szám2; break;
case '/': ered = szám1 / szám2; break;
}
return ered;
}
}
private void button1_Click(object sender, EventArgs e)
{
double a, b;
char műv;
int hiba = 0;
if (textBox1.Text != "" && textBox2.Text != ""
&& textBox3.Text != "")
{
a = Double.Parse(textBox1.Text);
b = Double.Parse(textBox2.Text);
műv = Char.Parse(textBox3.Text);
if (műv == '/' && b == 0)
{
MessageBox.Show("0 az osztandó értéke!");
}
else
{
switch (műv)
{
case '+':
case '-':
case '*':
case '/': hiba = 0; break;
default: hiba = 1;
MessageBox.Show("Hibás a műveleti jel!",
"Hibajelzés!");
break;
}
if (hiba == 0)
{
Kalkulátor k = new Kalkulátor(a, b, műv);
textBox4.Text = k.Művelet().ToString("#.####");
}
}
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox4.Text = "";
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
textBox4.Text = "";
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
textBox4.Text = "";
}
A program futási eredményei: