Visual Studio Derleme Hatasi
-
unbalanced bunu yazdı
konsol uygulaması mı bu yoksa win form uygulaması mı ? görünüşe göre winform yapmışsın ama console kodlarını yazmışsın. output ekranında çıkar da pek mantığı yok bunun.. bunun yerine console uygulaması neden yapmadın
Üstad kodun orjinali bu aslında,
http://o1311.hizliresim.com/1h/4/u6hz9.png
O derse girememiştim slaytları bakıyordum.
edit//
Benim anladığım yazıyı konsolda yazıp ekrana formda olarak göstermiş gibi bişi.
Ama nasıl yapmış çözemedim. Dediğin gibi konsolda çalıştı.
-
Şöyle yazsak daha güzel olur gibi:
using System; namespace CSOrtalama { class Program { static void Main(string[] args) { int toplam = 0; int sayaç = 0; int şimdikiSayi = 0; float ortalama = 0.0f; Console.WriteLine("Not giriniz. Çıkış için -1"); while ((şimdikiSayi = int.Parse(Console.ReadLine())) != -1) { toplam += şimdikiSayi; ++sayaç; } ortalama = (float)toplam / (sayaç != 0 ? sayaç : 1); Console.WriteLine("Girilen not sayısı: {0}, toplam: {1}, ortalama: {2}", sayaç, toplam, ortalama); Console.ReadKey(); } } }
Bir string'i int'e ya da başka bir sayı tipine dönüştürmek (cast etmek) yerine bir string'in içerdiği sayıyı karakter katarı değil de sayıymış gibi yorumluyoruz Parse metodu ile.
sayaç != 0 ? sayaç : 1 ise
eğer sayaç değeri 0'a eşit değilse sayacın değerini, eğer eşitse 1 değerini gönderiyor ki toplam / sayaç işlemi NaN (not a number, sayı değil) ya da inf (infinitive, sonsuz) çıkmasın.
Ek olarak float yerine double kullanmaya alışın. float yeterince hassas değildir ve çoğu işlem double üzerinden yürütülür. Çok kısıtlı bir platform için yazılım geliştiriyorsanız float tercihiniz olmalı.
-
zeybekustasi bunu yazdı
Benim anladığım yazıyı konsolda yazıp ekrana formda olarak göstermiş gibi bişi.
Ama nasıl yapmış çözemedim. Dediğin gibi konsolda çalıştı.
sebebi şu hocam, senin kodların form1 in kurucu metod içerisine yazılı ama o verdiğin resimde
static void Main(string[] args) { }
arasına yazılmış.. standart c# projelerinde main metodu program.cs içinde geliyor. sen de bu kodu oraya yazabilirsin..