[RESOLU] $i = 1.25

le loup solitaire
Invité n'ayant pas de compte PHPfrance

26 avr. 2016, 13:35

rebonjour et encore merci pour toutes ses réponses,

comment faire pour dire que $i = 1.25 , en sachant qu 'il n y a que 8 réponses sur une note de dix, donc 1 point est egal 1.25...est ce qu il faut faire une condition.
$errors = array();
$point = array();
$i = 1.25;
foreach($reponses as $cle => $reponse)
	{
	if (isset($_POST['correction']))
		{
		$clic = $_POST[$cle];
		$errors = array();
		if (empty($clic) && empty($clic) !== $reponse['reponse'])
			{
			$msg = '<p>veuillez remplir tous les champs</p>';
			echo $msg;
			}
		  else
		if ($clic == $reponse['mot'])
			{
			$point[$cle] = htmlspecialchars($clic);
			echo '<article class="content_img"><figure><img src="' . $reponse['image'] . '" alt="' . $reponse['mot'] . '" width:"75" height="75" /></figure><p class="reponse_ou_2">' . $reponse['reponse'] . '</p><p class="reponse_ou_2">' . $reponse['mot'] . '</p></article>';
			}
		  else
		if ($clic !== $reponse['mot'])
			{
			$errors[$cle] = htmlspecialchars($clic);
			echo '<article class="content_img"><figure><img src="' . $reponse['image'] . '" alt="" width:"75" height="75" /></figure><p class="reponse_ou_2">' . $reponse['reponse'] . '</p><p class="reponse_ou_2">' . $reponse['mot'] . '</p><br /><p class="reponse_ou_2" style="color:red;"><del>' . $errors[$cle] . '</del></p></article>';
			}
		}
	}

echo '<br /><br />';
echo ' <p style="display:inline-block;margin:2em 0 0 35%;padding:.5em;background:#54d0ce;font-size:1.2em;">Bonnes réponses :' . count($point) .'/10</p>';
echo '<br /><br />';
?>

Mammouth du PHP | 1967 Messages

26 avr. 2016, 13:43

multiplie ton count($point) par 1.25, tu obtiendra la valeur voulue.
Mais pour la portabilité, tu devrait faire calculer ce coéficient par rapport au nombre de question et la cote maximale.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

le loup solitaire
Invité n'ayant pas de compte PHPfrance

26 avr. 2016, 13:50

quand je multiplie le count avec $i ce la me fait "1.25*6/10" et non pas "7.5/10" par contre je n ais pas compris la suite.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 avr. 2016, 13:57

Bonjour,

Il s'agit d'un produit en croix, ou règle de trois :)
Tu as une note sur 8 et tu souhaites obtenir l'équivalent sur 10, il te faut multiplier ta note par 10 et diviser le résultat par 8 :

Code : Tout sélectionner

6 / 8 => 6 * 10 / 8 = 7,5 / 10
Avec 8 questions et une note sur 10, ça devrait tomber rond, en revanche si ton nombre de questions varie, il faudra potentiellement prévoir d'arrondir le résultat pour qu'un 6 / 9 ne deviennent pas un 6,666666666666 / 10 :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 1967 Messages

26 avr. 2016, 15:49

quand je multiplie le count avec $i ce la me fait "1.25*6/10" et non pas "7.5/10" par contre je n ais pas compris la suite.
Et si tu mets ton calcul entre paranthèse ?
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

le loup solitaire
Invité n'ayant pas de compte PHPfrance

26 avr. 2016, 19:58

merci pour tous vous etes genial