我正在做一个小测验,在那里我需要一些帮助来计算分数。
1正确答案=1标记 3错误答案= -1标记 未回答的答案=0标记
我有代码将所有答案计数为正确、错误或未回答。
$response = mysql_query("select qus_id, qus_cans from question where qus_id IN ($order) ORDER BY FIELD(qus_id,$order)", $kpsctuts->connect) or die(mysql_error());
while($result=mysql_fetch_array($response)){
if($result['qus_cans']==$_POST[$result['qus_id']])
{
$right_answer++;
}
else if($_POST[$result['qus_id']]==5)
{
$unanswered++;
}
else
{
$wrong_answer++;
}
// Enter Code Here
}输出标记:
<p>Total no. of right answers : <span class="answer"><?php echo $right_answer;?></span></p>
<p>Total no. of wrong answers : <span class="answer"><?php echo $wrong_answer;?></span></p>
<p>Total no. of Unanswered Questions : <span class="answer"><?php echo $unanswered;?></span></p> 发布于 2015-10-30 11:51:33
首先,您应该定义一个等于0的变量$marks。如果$right_answer有任何值,直接将其存储在$marks中,因为您必须给出+1标记才能得到正确的答案。然后同样地检查是否有任何错误的答案存在。
您的代码继续使用以下代码:
$marks = 0;
if($right_answer) $marks = $right_answer;
if($wrong_answer) $marks = $marks - $wrong_answer/3;
$score = number_format((float)$marks,2,'.',''); //Only two decimal places
echo "The score is: ".$score;发布于 2015-10-30 11:47:14
使用bcadd()或number_format()
<?php
$total = $right_answer - ($wrong_answer/3);
echo bcadd($total,0,2);
?>https://stackoverflow.com/questions/33434996
复制相似问题