public partial class Arayuz : Form
{
enum Operatör
{
Yok = 0,
Topla = 1,
Çıkart = 2,
Çarp = 3,
Böl = 4
}
bool sayıeklenecekmi = false;
decimal işlem = 0;
byte işlemsayısı = 0;
string ifade;
Operatör sonoperatör = Operatör.Yok;
decimal sonsayı = 0;
public Arayuz()
{
InitializeComponent();
Text_Sayi.Text = "0";
Text_Sayi.Select(1, 0);
}
private void Buton_Sifir_Click(object sender, EventArgs e)
{
if(sayıeklenecekmi && Text_Sayi.Text != "0")
Text_Sayi.Text += "0";
else
Text_Sayi.Text = "0";
sayıeklenecekmi = true;
}
private void Buton_Bir_Click(object sender, EventArgs e)
{
if (sayıeklenecekmi && Text_Sayi.Text != "0")
Text_Sayi.Text += "1";
else
Text_Sayi.Text = "1";
sayıeklenecekmi = true;
}
private void Buton_Iki_Click(object sender, EventArgs e)
{
if (sayıeklenecekmi && Text_Sayi.Text != "0")
Text_Sayi.Text += "2";
else
Text_Sayi.Text = "2";
sayıeklenecekmi = true;
}
private void Buton_Uc_Click(object sender, EventArgs e)
{
if (sayıeklenecekmi && Text_Sayi.Text != "0")
Text_Sayi.Text += "3";
else
Text_Sayi.Text = "3";
sayıeklenecekmi = true;
}
private void Buton_Dort_Click(object sender, EventArgs e)
{
if (sayıeklenecekmi && Text_Sayi.Text != "0")
Text_Sayi.Text += "4";
else
Text_Sayi.Text = "4";
sayıeklenecekmi = true;
}
private void Buton_Bes_Click(object sender, EventArgs e)
{
if (sayıeklenecekmi && Text_Sayi.Text != "0")
Text_Sayi.Text += "5";
else
Text_Sayi.Text = "5";
sayıeklenecekmi = true;
}
private void Buton_Alti_Click(object sender, EventArgs e)
{
if (sayıeklenecekmi && Text_Sayi.Text != "0")
Text_Sayi.Text += "6";
else
Text_Sayi.Text = "6";
sayıeklenecekmi = true;
}
private void Buton_Yedi_Click(object sender, EventArgs e)
{
if (sayıeklenecekmi && Text_Sayi.Text != "0")
Text_Sayi.Text += "7";
else
Text_Sayi.Text = "7";
sayıeklenecekmi = true;
}
private void Buton_Sekiz_Click(object sender, EventArgs e)
{
if (sayıeklenecekmi && Text_Sayi.Text != "0")
Text_Sayi.Text += "8";
else
Text_Sayi.Text = "8";
sayıeklenecekmi = true;
}
private void Buton_Dokuz_Click(object sender, EventArgs e)
{
if (sayıeklenecekmi && Text_Sayi.Text != "0")
Text_Sayi.Text += "9";
else
Text_Sayi.Text = "9";
sayıeklenecekmi = true;
}
private void Buton_Topla_Click(object sender, EventArgs e)
{
OperatörHesap(Operatör.Topla, " + ");
}
private void Buton_Cikar_Click(object sender, EventArgs e)
{
OperatörHesap(Operatör.Çıkart, " - ");
}
private void Buton_Carp_Click(object sender, EventArgs e)
{
OperatörHesap(Operatör.Çarp, " * ");
}
private void Buton_Bol_Click(object sender, EventArgs e)
{
OperatörHesap(Operatör.Böl, " : ");
}
private void Buton_Esittir_Click(object sender, EventArgs e)
{
try
{
string sonuç;
if (işlemsayısı == 0)
{
if (sonoperatör == Operatör.Yok)
sonuç = Text_Sayi.Text;
else
sonuç = İşlemHesapla(decimal.Parse(Text_Sayi.Text));
}
else
{
sonsayı = decimal.Parse(Text_Sayi.Text);
sonuç = İşlemHesapla(işlem);
}
Text_Sayi.Text = sonuç;
Label_GirilenDegerler.Text = "";
işlem = 0;
işlemsayısı = 0;
sayıeklenecekmi = false;
}
catch (Exception ex)
{
Label_GirilenDegerler.Text = "";
Text_Sayi.Text = ex.Message;
sonoperatör = Operatör.Yok;
}
}
private void OperatörHesap(Operatör operatör, string karakter)
{
try
{
if (işlemsayısı == 0)
{
işlem = sonsayı = decimal.Parse(Text_Sayi.Text);
ifade = Label_GirilenDegerler.Text + sonsayı.ToString();
Label_GirilenDegerler.Text = ifade + karakter;
Text_Sayi.Text = işlem.ToString();
sayıeklenecekmi = false;
işlemsayısı++;
sonoperatör = operatör;
}
else if (sayıeklenecekmi == true)
{
sonsayı = decimal.Parse(Text_Sayi.Text);
ifade = Label_GirilenDegerler.Text + sonsayı.ToString();
Label_GirilenDegerler.Text = ifade + karakter;
Text_Sayi.Text = İşlemHesapla(işlem).ToString();
sayıeklenecekmi = false;
işlemsayısı++;
sonoperatör = operatör;
}
else if (sonoperatör != operatör)
{
Label_GirilenDegerler.Text = ifade + karakter;
sonoperatör = operatör;
}
}
catch (Exception ex)
{
Label_GirilenDegerler.Text = "";
Text_Sayi.Text = ex.Message;
sonoperatör = Operatör.Yok;
}
}
private string İşlemHesapla(decimal sayı)
{
try
{
if (sonoperatör == Operatör.Topla)
işlem = sayı + sonsayı;
else if (sonoperatör == Operatör.Çıkart)
işlem = sayı - sonsayı;
else if (sonoperatör == Operatör.Çarp)
işlem = sayı * sonsayı;
else if (sonoperatör == Operatör.Böl)
işlem = sayı / sonsayı;
return işlem.ToString();
}
catch (Exception e)
{
return e.Message;
}
}
}