Írjunk programot, amely beolvas két pozitív egész számot, végrehajtja a VAGY, ÉS, KIZÁRÓVAGY műveleteket és binárisan is megjeleníti
A feladat megoldása:
static string Konvertáló(int szám)
{
const uint ALAP = 2;
uint maradék, decimális = (uint)szám;
string bináris = "";
while (decimális != 0)
{
maradék = decimális % ALAP;
bináris = maradék.ToString() + bináris;
decimális = decimális / ALAP;
}
return bináris;
}
int a, b ,eVagy, eEs, eKizáróVagy, adat =0;
string bin;
// Adatok beolvasása és ellenőrzése
private void Olvasás_Click(object sender, EventArgs e)
{
if (textBox1.Text != "" && textBox2.Text != "")
{
a = Int32.Parse(textBox1.Text);
b = Int32.Parse(textBox2.Text);
adat = 1;
if (a <= 0 || b <= 0)
{
MessageBox.Show("Az adat 0 vagy negatív szám!",
"Hibajelzés");
textBox1.Text = ""; textBox2.Text = "";
adat = 0;
}
}
}
// VAGY művelet
private void button1_Click(object sender, EventArgs e)
{
if (adat == 1)
{
eVagy = a | b;
bin = Konvertáló(eVagy);
label5.Text = bin;
textBox3.Text = eVagy.ToString();
}
else
MessageBox.Show("Adat nincs megadva!",
"Hibajelzés");
}
// ÉS művelet
private void button2_Click(object sender, EventArgs e)
{
if (adat == 1)
{
eEs = a & b;
bin = Konvertáló(eEs);
label6.Text = bin;
textBox4.Text = eEs.ToString();
}
else
MessageBox.Show("Adat nincs megadva!",
"Hibajelzés");
}
// KIZÁRÓVAGY művelet
private void button3_Click(object sender, EventArgs e)
{
if (adat == 1)
{
eKizáróVagy = a ^ b;
bin = Konvertáló(eKizáróVagy);
label7.Text = bin;
textBox5.Text = eKizáróVagy.ToString();
}
else
MessageBox.Show("Adat nincs megadva!",
"Hibajelzés");
}
// BINÁRIS megjelenítés
private void button5_Click(object sender, EventArgs e)
{
if (adat == 1)
{
label3.Text = a.ToString();
label4.Text = b.ToString();
bin = Konvertáló(a);
textBox6.Text = bin;
bin = Konvertáló(b);
textBox7.Text = bin;
}
else
MessageBox.Show("Adat nincs megadva!",
"Hibajelzés");
}
//KILÉPÉS
private void button4_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox3.Text = ""; textBox4.Text = "";
textBox5.Text = ""; textBox6.Text = "";
textBox7.Text = ""; label3.Text = "";
label4.Text = ""; label5.Text = "";
label6.Text = ""; label7.Text = "";
adat = 0;
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
textBox3.Text = ""; textBox4.Text = "";
textBox5.Text = ""; textBox6.Text = "";
textBox7.Text = ""; label3.Text = "";
label4.Text = ""; label5.Text = "";
label6.Text = ""; label7.Text = "";
adat = 0;
}
A program futási eredményei: