WEB YARDIM ACİLLLLL

Kodla Büyü

pardus63

Seçkin Üye
Seçkin Üye
Mesajlar
484
Şu programın neresinde hata var

<script type="text/javascript" language="javascript">
var sayi1=prompt("1. sayi");
var sayi2=prompt("2. sayi");
var sayi3=prompt("3. sayi");
if(sayi1>sayi2)
{
alert("1. büyük");
}
else if(sayi2>sayi1)
{
alert("2. büyük")
}
else
{
alert("3. büyük")
}
</script>

normalde çalışıyor fakat 2 5 10 girdiğimizde ikinci sayı büyük diyor nerde hata var yardım ederseniz sevinirim
 
if(sayi1>sayi2 && sayi1>sayi3)
{
alert("1. büyük");
}
else if(sayi2>sayi1 && sayi2>sayi3)
{
alert("2. büyük")
}
else if(sayi3>sayi1 && sayi3>sayi2)
{
alert("3. büyük")
}
 
Hocamın yazdığına ek olarak.
Prompt'tan gelen değerleri sayıya dönüştürmelisiniz.
var sayi1=parseInt(prompt("1. sayi"));
var sayi2=parseInt(prompt("2. sayi"));
var sayi3=parseInt(prompt("3. sayi"));
aksi halde gelen değerleri metin olarak algılar ve buna göre alfebetiksel karşılaştırma yapar. Bu durumda 5 ifadesi 2 ve 1'den büyük olarak kabul edilir.
 
<script type="text/javascript" language="javascript">
var sayi1=prompt("1. sayi");
var sayi2=prompt("2. sayi");
var sayi3=prompt("3. sayi");
if(sayi1>sayi2)
{
alert("1. büyük");
}
else if(sayi2>sayi1)
{
alert("2. büyük")
}
else
{
alert("3. büyük")
}
</script>

3. Sayının büyük olma ihtimalini göz önüne almamışsınız hocam.
 
if(sayi1>sayi2)
{
alert("1. büyük");
}
else if(sayi2>sayi1)
{
alert("2. büyük")
}
else
{
alert("3. büyük")
}
bu koşullarda 2 5 10 için bakacak olursak ilk if e girmeyecek 2 5 ten büyük olmadığı için sonra ikinci if e bakacak 5 2 den büyük olduğu için girecek 2. büyük yazacak ve else ye girmeyecek. Yani 3. sayıya hiç bakamayacak.
 
pardus63' Alıntı:
peki 1 2 3 yazınca neden doğru çalışıyor
Çünkü ilk iki şart sağlanmıyor, dolayısıyla da en sondaki else durumu oluşuyor. Eğer 2 1 3 girerseniz yine problemli çalıştığını görürsünüz, çünkü 2 sayısı 1'den büyük olacağı için ilk şart sağlanır, diğerlerine bakmaz.
 
Geri
Üst