Çözüldü C# If ile ilgili sorunum

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
20 Nis 2015
52
0
Merhaba Arkadaşlar

C# da “a” isimli değişkene sayı atamak adına kullanıcıdan giriş istiyorum daha sonra if komutuyla a ya atanan değerin 1 2 ya da 3 olmadığını doğrularsam olacakları yazıyorum fakat çalıştırdığımda hangi sayıyı yazarsam yazayım her zaman 1,2,3 dışında bir sayı girdiniz yazısı geliyor yazdığım koda göre
1 yazıncada 2 de 3 de
Telefonda olduğum için yalnızca kodun resmini atabileceğim fakat kod kısa olduğu için anlayan arkadaşların programın çıktısınıda akıldan çıkarabileceğini düşünüyorum.
https://i.hizliresim.com/OrrQPQ.jpg
https://i.hizliresim.com/annk9Q.jpg
sorum da şu :
if(a != 1 || a != 2 || a != 3)
{
Console.WriteLine(“1,2,3 dışında başka bir sayı girdiniz”);

}
else if (a==1 || a==2 || a==3)
{

Console.WriteLine(“1,2,3 ten birini girdiniz”);
}

Şimdi burada a ya 2 değerini girdiğim takdirde bana göre else if teki true olacak ve 1,2,3 ten birini girdiniz yazması lazım ama yine 1,2,3 dışında bir şey girdiniz yazıyor
Teşekkürler :)
 
Moderatör tarafında düzenlendi:

bazr09

Üye
3 Haz 2017
158
0
Koşullar yanlış olmuş, herhangi bir girişte her zaman ilk if bloğuna düşer.

Mesela 1 girişini verdin, koşul: "a: 1 veya 2 veya 3 değil" evet, a değiskeni 1'e eşit fakat 2 veya 3 olmadığından her türlü bu if bloğuna düşüyor.

Kod:
public static vo id Main() 
        {
       	   A:
           int a = Convert.ToInt32(Console.ReadLine());
           if(a == 1 || a == 2 || a == 3)
           {
       	        Console.WriteLine("1,2 veya 3 girdiniz.");
           }
           else
           {
       	        Console.WriteLine("1,2 veya 3 dışında bir sayı girdiniz.");
           }
           goto A;
        }
 
Son düzenleme:
20 Nis 2015
52
0
Koşullar yanlış olmuş, herhangi bir girişte her zaman ilk if bloğuna düşer.

Mesela 1 girişini verdin, koşul: "a: 1 veya 2 veya 3 değil" evet, a değiskeni 1'e eşit fakat 2 veya 3 olmadığından her türlü bu if bloğuna düşüyor.

Kod:
public static vo id Main() 
        {
       	   A:
           int a = Convert.ToInt32(Console.ReadLine());
           if(a == 1 || a == 2 || a == 3)
           {
       	        Console.WriteLine("1,2 veya 3 girdiniz.");
           }
           else
           {
       	        Console.WriteLine("1,2 veya 3 dışında bir sayı girdiniz.");
           }
           goto A;
        }

Bunu nasıl farkedememişim şuan şaşırdım
Demek ki akşam akşam ilgilenmemem gerekiyo
Sağ olun valla aklıma takılmıştı
 

burakdurcann

Yeni üye
6 Ağu 2019
38
0
Doğru ama else de de bir koşul oluştur kullanıcı Sayı yerine belki harf girdi
Else if (a<1 || a>3)
{
Buraya mesajını gir 1,2,3 dışında sayı girdiniz diye
}
Else
{
Buraya da ne girdiğinizi algılayamadım mesajını girsen daha kullanışlı olur bence
}
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.