Şimdi Ara

c# hesap makinesi hakkında

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
2
Cevap
0
Favori
130
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar ben bir hesap makinesi yaptım ama ufak bir sorunla karşılaşıyorum. Çarpma dışındaki diğer toplama-bölme-çıkarma işlemlerinde sorun yok ama çarpma yapınca eşittir butonuna basınca bana return'daki sayıyı çeviriyor. Ne demek istediğimi anlamanız için koduma bakmanız lazım. Kodumdaki o return 9999.9 kısmını kafadan salladım işte sorunum şu çarpma yaptırınca bana oradaki değeri veriyor, sonucu vermiyor. Fakat sonucu almak için de fonksiyonun sonuna 9999.9 gibi bir double sayyı returnlemem lazım çünkü fonskiyonu void değil double tanımladım. Nerede hata yapıyorum acaba?

     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace WindowsFormsApplication1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    textBox1.Text = "0";
    }

    private void btnRakamlar(object sender, EventArgs e)
    {
    Button gelenButon = (Button)sender;
    if (textBox1.Text == "0")
    {
    textBox1.Text = gelenButon.Text;
    }
    else
    {
    textBox1.Text += gelenButon.Text;
    }
    }

    private void operatorClick(object sender, EventArgs e)
    {
    Button gelenButon = (Button)sender;
    if (textBox1.Text!="0")
    {
    textBox1.Text += gelenButon.Text;
    }
    else
    {
    textBox1.Text = "0";
    }
    }

    private void btnTemizle(object sender, EventArgs e)
    {
    textBox1.Text = "0";
    }


    // 205 * 332 + 51
    public double sayiAyristir(string Textbox)
    {
    string[] sayilar = new string[2];
    string islem="";
    int operatorGoruldu=0;


    char[] dizi=Textbox.ToCharArray();

    for (int i = 0; i < dizi.Length; i++)
    {
    switch (dizi[i].ToString())
    {
    case "*":
    islem = "*";
    operatorGoruldu += 1;
    break;

    case "+":
    islem = "+";
    operatorGoruldu += 1;
    break;

    case "-":
    islem = "-";
    operatorGoruldu += 1;
    break;

    case "/":
    islem = "/";
    operatorGoruldu += 1;
    break;

    default:
    if (operatorGoruldu==0)
    {
    sayilar[0] += dizi[i].ToString();
    }
    else
    {
    sayilar[1] += dizi[i].ToString();
    }
    break;
    }
    }


    switch (islem)
    {
    case "*":

    return Carpma(double.Parse(sayilar[0]), double.Parse(sayilar[1]));

    break;
    case "+":

    return Toplama(double.Parse(sayilar[0]), double.Parse(sayilar[1]));

    break;
    case "-":

    return Cikarma(double.Parse(sayilar[0]), double.Parse(sayilar[1]));;

    break;
    case "/":

    return Bolme(double.Parse(sayilar[0]), double.Parse(sayilar[1]));

    break;

    }
    return 9999.9;
    }

    private double Carpma(double sayi1, double sayi2)
    {
    return sayi1 * sayi2;
    }
    private double Toplama(double sayi1, double sayi2)
    {
    return sayi1 + sayi2;
    }
    private double Cikarma(double sayi1, double sayi2)
    {
    return sayi1 - sayi2;
    }
    private double Bolme(double sayi1, double sayi2)
    {
    return sayi1 / sayi2;
    }

    private void btnEsittir_Click(object sender, EventArgs e)
    {
    textBox1.Text = sayiAyristir(textBox1.Text).ToString();
    }
    }
    }




    < Bu mesaj bu kişi tarafından değiştirildi Frozzy45 -- 8 Eylül 2016; 22:43:50 >







  • Up, ayrıca ben birden fazla yan yana işlem yapamıyorum ve aklıma hiçbir şey gelmiyor bunu yapabilmek için bana yardımcı olabilir misiniz?
  • Yapay Zeka’dan İlgili Konular
    Windows 10 hesap makinası
    4 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.