
if lerde hata var heralde
C# ta yeniyim. aşağıdaki kod bloğunu çalıştırdığımda yanlış işlem harfini girdiğimde program yanlış giridniz diyor ancak yine sıfır veriyor sonuç işlemini. Acaba ifleri yanlış yerde mi kullanıyorum. C# yeni öğreniyorum yardımcı olur musunuz? Birde niçin tekrardan parantez içersinde yazıyor float u? Yani bölme işlemi olursa sayi1 ve sayi2 yi float'a mı çeviriyor orda? Sefer alganın kitabından başladım öğrenmeye ordaki bir kod bu sadece ben kontrol eklemek istedim 4 işlem haricinde birşey girilmesin diye. şimdiden teşekkürelr.
namespace hesapMakinesi
{
class Program
{
static void Main(string[] args)
{
int sayi1, sayi2;
string islem;
Console.Write("Birinci sayıyı giriniz: ");
sayi1=Convert.ToInt32(Console.ReadLine());
Console.Write("İkinci sayıyı giriniz: ");
sayi2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Toplama------>T");
Console.WriteLine("Çıkarma------>C");
Console.WriteLine("Çarpma------->M");
Console.WriteLine("Bölme-------->B");
Console.Write("Lütfen yukarıdaki işlemlerden birini seçiniz: ");
islem = Console.ReadLine();
if (islem == "t" || islem == "b" || islem == "c" || islem == "m")
{
if (islem == "b")
if (sayi2 != 0)
{
float sonuc = (float)sayi1 / (float)sayi2;
Console.WriteLine("Sonuç: {0}", sonuc);
}
else
Console.WriteLine("Bölen sıfır olamaz.");
else if (islem == "t")
Console.WriteLine("Sonuç: {0}", sayi1 + sayi2);
else if (islem == "m")
Console.WriteLine("Sonuç: {0}", sayi1 * sayi2);
else
Console.WriteLine("Sonuç: {0}", sayi1 - sayi2);
}
else
Console.WriteLine("Yanlış işlem girdiniz.");
}
}
}
- Yorum yazmak için giriş yapın veya kayıt olun


2 comments
1. alican (3 Kasım, 2008 - 22:39) says:
hu hu cevap yokmu arkadaşlar :) kimse anlamıyor mu bu kadar basit bir algoritmayı ben yeniyim programlama sitesi değil mi burası? oyun programladan bahsediyoruz..... birisi doğrusunu yazamaz mı bunun__ söz veren birisi___??
2. Barbaros (22 Şubat, 2009 - 16:53) says:
1. Hatanız : Her if bloğuna parantez koymalısınız ve bloklar iç içe ise her bir içeride olan alt bloğu sağ tarafa kaydırın ki en tepeden bakınca hangi bloğun ana blok olduğunu anlayasınız. 2. Console.ReadKey(); kodunu en sona koyun,yoksa Dos penceresi kapanır, bu klasik C programlama dilinde de olan getch(); fonksiyonunun C# da kullanim şekli (daha çok Java vari) Bu değişikliklerden sonra kodu kopyalayıp kendi sayfanıza yapıştırırsanız program düzgün çalışır, ayrıca güzel bir örnek olmuş yeni başlayanlar için temel bir uygulama.
class Program { static void Main(string[] args) { int sayi1, sayi2; string islem; Console.Write("Birinci sayıyı giriniz: "); sayi1 = Convert.ToInt32(Console.ReadLine()); Console.Write("İkinci sayıyı giriniz: "); sayi2 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Toplama------>T"); Console.WriteLine("Çıkarma------>C"); Console.WriteLine("Çarpma------->M"); Console.WriteLine("Bölme-------->B"); Console.Write("Lütfen yukarıdaki işlemlerden birini seçiniz: "); islem = Console.ReadLine(); if (islem == "t" || islem == "b" || islem == "c" || islem == "m") { if (islem == "b") { if (sayi2 != 0) { float sonuc = (float)sayi1 / (float)sayi2; Console.WriteLine("Sonuç: {0}", sonuc); } else { Console.WriteLine("Bölen sıfır olamaz."); } } if (islem == "t") { Console.WriteLine("Sonuç: {0}", sayi1 + sayi2); } if (islem == "m") { Console.WriteLine("Sonuç: {0}", sayi1 * sayi2); } if (islem == "c") { Console.WriteLine("Sonuç: {0}", sayi1 - sayi2); } } else { Console.WriteLine("Yanlış işlem girdiniz."); } Console.ReadKey(); } }