Hogyan oldhatnám meg az osztályozást PHP-ban?
Sziasztok! Ezen a héten elkezdtem PHP-t írni egy kérdőívet igaz én hobbinak szánom a programozást és elég kezdő vagyok kb 2 hete tanulmányozom ezt a nyelvet mielőtt ítélkeznétek!
Projektem egy kérdőív "Informatika Dolgozat" néven fut!
Problémám hogyan oldhatnám meg az osztályozást vagy ha nem egyértelmű jegyet adni a kérdésekre 5 kérdés van ha 5 jó akkor 5-ös ha csak 4 akkor 4-es!
a forrása az index.php,kesz.php-nak is itt van!
Előre nagyon köszönöm és minden féle kritikát észrevételt várok legalább tanulok a hibáimból!
Én nem így csinálnám.
Először is, létre kell hozni valamit, ami a programunk számára egy kérdést jelent:
class Question {
.. private $Text;
.. private $ID; //Egy egyedi azonosító, csak hogy a HTML kódból könnyen ki tudjuk kapni. A konstruktorban automatikusan generálódik az értéke.
.. private $Answers = [...];
.. private $CorrectAnswerIndex; //A helyes válasz indexe az Answers tömbön belül
.. //+getter tagok és konstruktor
}
Továbbá azt is tudnunk kell, hogy a felhasználó egy adott kérdésre milyen választ adott:
class GivenAnswer {
.. private $Question; //a Question osztály példánya
.. private $GivenAnswerIndex; //A kérdésre adott válasz indexe a Question->Answers tömbön belül
}
Innentől kezdve a kérdéseket egyszerűen tudjuk tárolni:
$Questions = [
.. new Question("Mi a HTML?", ["Egy pizza", "Sajtféle", "Jelölőnyelv", "Sör"], 2),
.. //...
];
Ebből a $Questions-ből már tudod generáltatni a kérdőívedet. Továbbá kiértékelni is nagyon egyszerű lesz.
Például bevezetsz egy $jovalaszok változót, amit indulásban nullázol: $jovalaszok = 0;
Minden jó válasznál növeled eggyel: $jovalaszok++;
A jó válaszokat kiírod, tehát ahol kiírod, hogy az x. kérdésre a válasz helyes, oda kell beírni.
A végén pedig kiírod a jegyet, de figyelni kell arra, hogy ha 0 jó válasza van, az is egyes, egyébként pedig a helyes válaszok száma lesz a jegy:
if ($jovalaszok<=1) echo 1
else echo $jovalaszok;
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!