Írjunk programot, amely osztállyal oldja meg a kalkulátor működését a négy alapművelettel.
A feladat megoldása:
// Kalkulátor osztály
class Kalkulátor
{
// adatmezők deklarációja
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;
}
// Metódusok
public void 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;
}
}
// Visszaadja az ered tartalmát
public double Ered
{
get
{
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);
k.Művelet();
textBox4.Text = k.Ered.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: