4 İşlem

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cali_KuSu
    Cali_KuSu's avatar
    Kayıt Tarihi: 04/Mayıs/2010
    Dişi

    Bir Windows form açıyorsun. 4 tane sayılar için textbox koyuyorsun. İsimlerini a,b,c,d şeklinde verebilirsin. Bir tane de formül alanı için textbox koyuyorsun. Bir tane çalıştırma için buton ve bir tane de sonucu yazdırmak için label koyuyorsun. Program çalıştırıldığında formül alanına “ (a + b - c) / d “ girip butona bastığımızda sonucu label nesnesine yazıyorsun.

     

    Formül değiştirilip butona basılınca yeni formüle göre yeniden hesaplama yapacak.

     

    Örneğin programa “ ( A + B – C ) / D “ girdisi verildiğinde ve A=16, B=7, C=3, D=4 değerleri verildiğinde sonuç olarak 5 değerini vermeli.


    bu işlemi nasıl yapabilirim?

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hakan363
    Hakan363's avatar
    Kayıt Tarihi: 09/Aralık/2009
    Erkek

    aslında çok basit bir şekilde yapılabilir ama parantezler işlem önceliği işi bozuyor değil mi bunun için string karakterleri okuyarak önce paratez var mı yok mu ona

    bakarız. İçine ayrı işlem kalanına ayrı işlem yaparak yapılabilir.

    --sadece fikir vermek amaçlı denemedim .


    www.dunyadailkler.com
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    stack yapısını 

    infix , prefix , postfix

    araştır bunları işine yararlar :)


    Si vis pacem para bellum.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cali_KuSu
    Cali_KuSu's avatar
    Kayıt Tarihi: 04/Mayıs/2010
    Dişi

    basit bir hesap makinası yazarak bunu çözebilirim. yani o sonucu alırım ama burda hepsini tek bir butanda istiyor.  yada diyelimki a+b yi yaptı bu işlemin devamını yani a+b yi c de atsa c-d diye devam etse bu mümkünmü peki? mümkünse nasıl yapabilirim?

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cali_KuSu
    Cali_KuSu's avatar
    Kayıt Tarihi: 04/Mayıs/2010
    Dişi

    SinusX bunu yazdı:
    -----------------------------

    stack yapısını 

    infix , prefix , postfix

    araştır bunları işine yararlar :)


    -----------------------------

     

    araştırıyorum

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    iQsuz
    iQsuz's avatar
    Kayıt Tarihi: 21/Nisan/2008
    Erkek

    ajan olaydı çakardı cevabı iki dakkada

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    asa42
    asa42's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek

    SinusX bunu yazdı:
    -----------------------------

    stack yapısını 

    infix , prefix , postfix

    araştır bunları işine yararlar :)


    -----------------------------

    hocam bunları bilmiyorum ve c# eğitimi almadım. düz mantık giriyorum.

    önce buton tıklandığında textboxda parantez arayacak. bulursa "parantez aç (" ve "parantez kapat )" ın arasında kalan yeri alıp işlemleri gerçekleştircek. parantez arası sonuca atıyorum t saysısı diyecek. sonra işlemin geri kalanını çözecek. ve labele yazacak.

    işlem çözme kısmı da şöyle ki: her sayı operatöründen sonra gelen 4 işlem işareti için if else gibi bi yapı kullan ona göre de işlemleri yap

    umarım açıkca anlatabilmişimdir.

    Not: (küçük bi öneri) önce programı parantezsiz şekilde geliştir. sonra paranteze akarsın. hatta daha sonra 2li parantez kullanmayı falan geliştirirsin. soruyu sorana iyi kapak olur ;)

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    http://scriptasylum.com/tutorials/infix_postfix/infix_postfix.html

    şöyle bişey buldum bak bide


    Si vis pacem para bellum.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    asiminnesli
    asiminnesli's avatar
    Kayıt Tarihi: 19/Mart/2010
    Erkek

    önce string olarka a parantez arasını bul sonra o işlemin sonucu E ye ata E/D yaptır sonucu verir herhadl 


    I am Jack's inflamed sense of rejection
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    asiminnesli bunu yazdı:
    -----------------------------

    önce string olarka a parantez arasını bul sonra o işlemin sonucu E ye ata E/D yaptır sonucu verir herhadl 


    -----------------------------

    örneğin demiş ama işlem ((3+4)*(5+8))/(6-2)+(3*4) te olabilir

     

    veri yapıları : stack , list , queue

    stack mantığı nedir  LIFO (last in first out) yani son eklediğini ilk çıkarırsın. stackte 2 tip işlem yaparsın push ve pop, push yığına eleman ekler pop çıkarır. 

    c# istiyorsun madem bi stack tanımla bi kaç bişey pushla popla bunları bildikten sonra devamını sen halledersin zaten zorlanmadan

    Mesaj 22 Temmuz 2012 (Pazar) Saat: 02:55'da SinusX tarafından düzenlendi.

    Si vis pacem para bellum.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    31 yaşında emekli
    ajan1111
    ajan1111's avatar
    Kayıt Tarihi: 25/Ağustos/2005
    Erkek

    iqsuz bunu yazdı:
    -----------------------------

    ajan olaydı çakardı cevabı iki dakkada


    -----------------------------

    gördüm konuyuda biraz dağılmıştı mevzuu.

    vbasic olaydı bi şekilde yapılırdı ama .net istiyor ;)

     

    text'in her karakteri tek tek kontrol edilir.

    selstart'la toplam karakter. mid komutuylada "(" karakteri kontrol edilir.

    for i=1 to text1.selstart

    if mid(text1.text,1,i)="(" then

    a=mid(text1.text,1,i+1)

    b=mid(text1.text,1,i+3)

    if mid(text1.text,1,i+4)=")" then exit for

    c=mid(text1.text,1,i+5)

    d=a mid(text1.text,1,i+2) b mid(text1.text,1,i+4)

    end if

    next i

     

    not: yazdıklarım vbasic 6.0 için. ezberden hatırladığım kadarıyla yazdım. yazım veya mantık hatası olabilir. eksikte olabilr.  ama kabataslak böyle bişey olurdu.



    Mesaj 22 Temmuz 2012 (Pazar) Saat: 03:08'da ajan1111 tarafından düzenlendi.

    Kayalardan kayarım yoktur benim ayarım (;
Toplam Hit: 5672 Toplam Mesaj: 39