Kezdőoldal » Számítástechnika » Programozás » Hogyan oldhatnám meg az...

Hogyan oldhatnám meg az osztályozást PHP-ban?

Figyelt kérdés

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!

[link]


[link]


Előre nagyon köszönöm és minden féle kritikát észrevételt várok legalább tanulok a hibáimból!



2017. febr. 5. 23:33
 1/3 anonim ***** válasza:

É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.

2017. febr. 6. 01:25
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

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;

2017. febr. 6. 02:08
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
Nagyon köszönöm szépen mentek a zöldek!
2017. febr. 6. 07:52

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!