İf - elseif (Fazla acemiyim.).

CHATINEsat Çetin

Minik bir deneme sınavı yazacağım.

doğru cevaplarla başka bir formdan gelecek olan cevaplar karşılaştırılacak

BOŞLAR - DOĞRULAR - YANLIŞLAR sayılacak. Bunun için aşağıdaki kodu yazdım ancak 21. satırda hata veriyor. çözemedim. forumlarda da aradım ancak bulamadım. yardımcı olursanız sevinirim.

<?php
$bsc="X";
$t1="A";
$t2="D";
$t3="C";
$t4="E";
$t5="B";
$t6="D";
$t7="X";
$dogru = 'ADCEBDA';
$cevap = "$t1$t2$t3$t4$t5$t6$t7";
$cevapsayisi = strlen($cevap);
$d = 0; // Doğru sayısı
$y = 0; // Yanlış sayısı
$b = 0; // Boş sayısı
for($i=0;$i<$cevapsayisi;$i++) {
$dogru_karakter = substr($dogru, $i, 1); // i. sorunun doğru cevabı
$cevap_karakter = substr($cevap, $i, 1); // i. soruya verilen cevap
if($cevap_karakter == $dogru_karakter) {
 $d++; // cevap doğruysa doğru sayısını bir artır
elseif ($cevap_karakter == $bsc):
    $b++; // cevap X ise yani boşsa boş sayısını bir artır
} else {
    $y++; // eşleşmiyorsa yanlış sayısını bir artır
}
}
$toplam = $d + $y + $b; // bunun yerine $cevapsayisi değişkenini kullanabilirsin
echo 'Doğru: '.$d.'<br />';
echo 'Yanlış: '.$y.'<br />';
echo 'Boş: '.$b.'<br />';
echo 'Toplam: '.$toplam;
?>
2013-03-26 12:28:36 Edit:2013-03-26 12:39:08

Php

TeaMTurkeRŞenol TÜRKER

Yazdığım açıklama satırlarını okursanız hatanızı net bir şekilde göreceksinizdir.

<?php
$bsc="X";
$t1="A";
$t2="D";
$t3="C";
$t4="E";
$t5="B";
$t6="D";
$t7="X";
$dogru = 'ADCEBDA';
$cevap = "$t1$t2$t3$t4$t5$t6$t7";
$cevapsayisi = strlen($cevap);
$d = 0; // Doğru sayısı
$y = 0; // Yanlış sayısı
$b = 0; // Boş sayısı
for($i=0;$i<$cevapsayisi;$i++)
{/*FOR BAŞLADI*/
$dogru_karakter = substr($dogru, $i, 1); // i. sorunun doğru cevabı
$cevap_karakter = substr($cevap, $i, 1); // i. soruya verilen cevap
if($cevap_karakter == $dogru_karakter)
{/*İF BAŞLADI*/
$d++; // cevap doğruysa doğru sayısını bir artır
}/*İF BİTTİ*/
elseif ($cevap_karakter == $bsc)
{/*ELSEİF BAŞLADI*/
$b++; // cevap X ise yani boşsa boş sayısını bir artır
}/*ELSEİF BİTTİ*/
else
{/*ELSE BAŞLADI*/
$y++; // eşleşmiyorsa yanlış sayısını bir artır
}/*ELSE BİTTİ*/
}/*FOR BİTTİ*/
$toplam = $d + $y + $b; // bunun yerine $cevapsayisi değişkenini kullanabilirsin
echo 'Doğru: '.$d.'<br />';
echo 'Yanlış: '.$y.'<br />';
echo 'Boş: '.$b.'<br />';
echo 'Toplam: '.$toplam;
?>
2013-03-27 23:55:35

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro