• 06-12-2014, 16:13:12
    #1
    Arkadaşlar merhabalar.
    Ödevim var bir şeyler yaptım fakat doğru sonucu alamadım. Bilgisi olan arkadaşlar yardımcı olurlarsa sevinirim.


    Resimdeki gibi bir işlem yapıyorum. Ortalamayı buluyorum az çok ama yanlış buluyor Rakamsal olarak gösteremedim sonuç hep " 0 " veriyor.
    Kodu doğru çalıştırmam için ne yapmam lazım ?

    Rakamsal kısmına yaptığım Kodlar aşağıdaki gibi ;

    Console.WriteLine("Vize notunuzu giriniz");
                double sayi_1 = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Vize notunuzu giriniz");
                double sayi_2 = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Final notunuzu giriniz");
                double sayi_3 = Convert.ToInt32(Console.ReadLine());
                double sonuc;
                sonuc = (sayi_1 * 0.4 + sayi_2 * 0.6 + sayi_3 * 0.0);
                textBox5.Text = sonuc.ToString(); 
                Console.Write("Ortalamanız: " + sonuc + "  ");
                if (sonuc >= 0 && sonuc <= 24)
                {
                    Console.Write("Harf Notu: FF ");
                }
                else if (sonuc >= 25 && sonuc <= 49)
                {
                    Console.Write("Harf Notu: DC ");
                }
                else if (sonuc >= 50 && sonuc <= 60)
                {
                    Console.Write("Harf Notu: CC ");
                }
                else if (sonuc >= 61 && sonuc <= 75)
                {
                    Console.Write("Harf Notu: CB ");
                }
                else if (sonuc >= 76 && sonuc <= 80)
                {
                    Console.Write("Harf Notu: BB ");
                }
                else if (sonuc >= 81 && sonuc <= 89)
                {
                    Console.Write("Harf Notu: BA ");
                }
                else if (sonuc >= 90 && sonuc <= 100)
                {
                    Console.Write("Harf Notu: AA ");
                    Console.WriteLine(sonuc);
  • 06-12-2014, 17:35:14
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Alıntı
    sonuc = (sayi_1 * 0.4 + sayi_2 * 0.6 + sayi_3 * 0.0);
    Hepsini 0.0 ile çarpmış olmuyor musunuz ?
  • 06-12-2014, 17:57:25
    #3
    WebWon adlı üyeden alıntı: mesajı görüntüle
    Hepsini 0.0 ile çarpmış olmuyor musunuz ?
    genelde ortalama alırken bu şekil kullanılıyor
  • 06-12-2014, 18:03:01
    #4
    2 vize giriyon 3. final notunu almıyor 0 ile çarpıyon neden
  • 06-12-2014, 18:06:30
    #5
    Merhabalar,

    C# bilgim yok sadece java benzerliğinden dolayı yazıyorum bunları hata olabilir ancak mantıksal olarak söyleceğim sadece.

    Öncelikle tür değişiminde bir hata olabilir burada kontrol edebilirsin hatta böyle bir dönüşüme gerek yok direk double ya da integer olarak alabilirsin en sonunda sonucu double olarak göstermen yeterlidir;

    Alıntı
    double sayi_1 = Convert.ToInt32(Console.ReadLine());
    Sonrasında burada double yani sayısal bir değeri stringe nasıl çeviriyorsun böyle bir şeye gerek yok ;

    Alıntı
    textBox5.Text = sonuc.ToString();
    Sonuncusu ise if bloklarının içinde sonucu yazdırmamışsın sadece en son if bloğunda bulunmakta eğer diğer ifler çalışırsa zaten sonu olarak bir şey göremezsin.

    Dediklerimi deneyerek bulabilirsin ancak mantık olarak şunları söyleyeyim;

    - Sınav notlarını integer olarak al.
    - sınav notlarını sonucunu double olarak al yani sonuc double olsun bir de burada vize final notlarını iyi parantezleki karışıklık olmasın.
    - notları hem harf hem rakamsal görmek istiyorsan if - else içerisinde ikisinide ayrı ayrı yazdır.

    Mantık olarak bu kadar.
    C# - java benzerliğinden yazdım bunları farklılık da gösterebilir.

    Güncelleme: Örnek olarak java da yaptım http://ideone.com/RJIKTv bakabilrsin kodlara.
  • 06-12-2014, 18:12:10
    #6
    işlemler sırasında işlem önceliğini senin belirtmen gerekiyor bu şekilde sanırım tüm hepsini toplayıp sondaki 0.0 ile çarpıyor.. Parantez kullanarak işlem önceliklerini belirt tahminim sorun ortadan kalkar kolay gelsin..
  • 06-12-2014, 19:19:26
    #7
    Misafir adlı üyeden alıntı: mesajı görüntüle
    2 vize giriyon 3. final notunu almıyor 0 ile çarpıyon neden
    0.0'u değiştirsemde sonuç aynı 0 gösteriyor Rakamsal kısımda. Diğerleri gibi 0.4 veyahut 0.6 yaptım değişen bir şey yok.

    Yorumdakileri deniyorum ama değişen bir şey olmadı ya da ben yapamadım
  • 06-12-2014, 20:19:39
    #8
    Form application'mu yapıyorsun console mu ? Kodlar console için ama form yapmışsın şimdi de .. ? Skype:cagdasdag2 ekle yardımcı olayım kardeşim
  • 06-12-2014, 21:45:16
    #9
    Jaspers adlı üyeden alıntı: mesajı görüntüle
    Form application'mu yapıyorsun console mu ? Kodlar console için ama form yapmışsın şimdi de .. ? Skype:cagdasdag2 ekle yardımcı olayım kardeşim
    Ekledim kardeşim.