Yeniçocuk
Kilopat
- Katılım
- 30 Kasım 2018
- Mesajlar
- 5.549
- Makaleler
- 2
- Çözümler
- 13
Merhabalar, ödevim olan hesap makinesi uygulamasını yaptım, sayıları fare ile tıklattığım zaman sorun olmuyor ama klavyeden bir sayıya bastığım zaman soluna sayı ekliyor. Kodun hangi kısmında hata var? Resimdeki örnekte klavyeden 9 tuşuna bastığım zaman soluna bastığım tuşun sayısını ekliyor.
C#:
bool optDurum = false;
double sonuc = 0;
string opt = "";
public Form1()
{
InitializeComponent();
}
private void RakamOlay(object sender, EventArgs e)
{
if (txtSonuc.Text == "0" || optDurum)
txtSonuc.Clear();
optDurum = false;
Button btn = (Button)sender;
txtSonuc.Text += btn.Text;
}
private void optHesap(object sender, EventArgs e)
{
optDurum = true;
Button btn = (Button)sender;
string yeniOpt = btn.Text;
lblSonuc.Text = lblSonuc.Text + " " +txtSonuc.Text+" "+yeniOpt;
switch(opt)
{
case "+":txtSonuc.Text = (sonuc + Double.Parse(txtSonuc.Text)).ToString(); break;
case "-": txtSonuc.Text = (sonuc - Double.Parse(txtSonuc.Text)).ToString(); break;
case "*": txtSonuc.Text = (sonuc * Double.Parse(txtSonuc.Text)).ToString(); break;
case "/": txtSonuc.Text = (sonuc / Double.Parse(txtSonuc.Text)).ToString(); break;
}
sonuc = Double.Parse(txtSonuc.Text);
txtSonuc.Text = sonuc.ToString();
opt = yeniOpt;
}
private void button11_Click(object sender, EventArgs e)
{
txtSonuc.Clear();
lblSonuc.Text = "";
opt = "";
sonuc = 0;
optDurum = false;
}
private void button17_Click(object sender, EventArgs e)
{
lblSonuc.Text = "";
optDurum = true;
switch (opt)
{
case "+": txtSonuc.Text = (sonuc + Double.Parse(txtSonuc.Text)).ToString(); break;
case "-": txtSonuc.Text = (sonuc - Double.Parse(txtSonuc.Text)).ToString(); break;
case "*": txtSonuc.Text = (sonuc * Double.Parse(txtSonuc.Text)).ToString(); break;
case "/": txtSonuc.Text = (sonuc / Double.Parse(txtSonuc.Text)).ToString(); break;
}
sonuc = Double.Parse(txtSonuc.Text);
txtSonuc.Text = sonuc.ToString();
opt = " ";
}
private void button12_Click(object sender, EventArgs e)
{
if (txtSonuc.Text == "0")
txtSonuc.Text = "0";
else if (optDurum)
txtSonuc.Text = "0";
if (!txtSonuc.Text.Contains(","))
txtSonuc.Text += ",";
optDurum = false;
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
this.Close();
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar >= '0' && e.KeyChar <= '9')
txtSonuc.Text += e.KeyChar;
if (e.KeyChar == '+')
button13.PerformClick();
if (e.KeyChar == '-')
button14.PerformClick();
if (e.KeyChar == '*')
button15.PerformClick();
if (e.KeyChar == '/')
button16.PerformClick();
if (e.KeyChar == ',')
button12.PerformClick();
if (e.KeyChar == 13)
button17.PerformClick();
}
}
}
Son düzenleyen: Moderatör: