• 14-12-2014, 21:31:13
    #1

    http://www.youtube.com/watch?v=StrZT...ature=youtu.be

    gerekli sınıfımız : System.Text.RegularExpressions;

    static public double hesapla(string islem)
            { 
           
                var sayi = islem.Split("/*-+".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);//işlem önceliğimizi seçtirip arraylist olarak tanımladık;
                var operatör = Regex.Split(islem, @"\d", RegexOptions.None).Where(x =>x != "").ToArray<string>();
    
                double sonuc = double.Parse(sayi[0]);
                for (int i = 1; i <= sayi.Length - 1; i++)
                {
                    switch (operatör[i - 1])
                    {
                        case "+": sonuc += double.Parse(sayi[i]); break; ;
                        case "-": sonuc -= double.Parse(sayi[i]); break;
                        case "*": sonuc *= double.Parse(sayi[i]); break;
                        case "/": sonuc /= double.Parse(sayi[i]); break; 
                    }
                    
                }
                MessageBox.Show(sonuc.ToString());
            
            }
    kullanımı: hesapla("string işlem");
  • 14-12-2014, 21:38:35
    #2
    Üyeliği durduruldu
    Çok rahat hoca olursunuz valla Uzatarak açık açık tüm methodları tek tek oluşturarak anlatmışsınız Helal olsun
  • 14-12-2014, 23:21:26
    #3
    Parse biraz karıştırıyor diye düşünüyorum. Convert.ToDouble okunması daha kolay oluyor.
  • 15-12-2014, 10:59:03
    #4
    burda amaç C# tüm imkanlarını kullanarak basit string işlemi integer olarak algılatıp sonucu bulmak, okuldaki hocaların yazdığı kodları görseniz ağlarsınız
  • 15-12-2014, 11:07:34
    #5
    Üyeliği durduruldu
    okulda tüm değişkenler tüm methodlar bir tanımlanır genelde
  • 15-12-2014, 11:14:54
    #6
    keşke öyle olsa method denen bi kavram yok hocalarda göstermiyolar okulda böyle şeyleri
    adam illa 2 butona içinde tüm işemleri yaptıracak bu yaptığımız işlemi dolandıra dolandıra yapıyolar ve sonuç her zaman biyerlerde eksik ve hatalı çıkıyor bu gibi durumlarda ben giriyorum devreye )
  • 16-12-2014, 00:50:13
    #7
    Eğer hesap mekinesi amaçlı ise sıkıntı yok. Matematik başlığı altında kodladı isen hatalı, işlem önceliğine dikkat edilmesi gerekiyor.
  • 16-12-2014, 11:00:35
    #8
    sadece 4 işlem yaptırmak amaçlı mesela

    (4+2*8/3-25) bu formatta verilen işlemin sonucunu veriyor bu amaçla yazdım