znamka = $znamka; $this->vaha = $vaha; $this->dalsi = null; } public function __toString(){ return '

Známka: '.$this->znamka.'
Váha: '.$this->vaha.'

'; } } function pridej($seznam, $znamka, $vaha){ while($seznam->dalsi != null){ $seznam = $seznam->dalsi; } $seznam->dalsi = new Znamka($znamka, $vaha); } function vypis($seznam){ do{ echo $seznam; $seznam = $seznam->dalsi; } while($seznam != null); } function najdiZnamku($seznam, $znamka){ $nalezeno = false; echo '

Hledání známky '.$znamka.':

'; do{ if($seznam->znamka == $znamka){ $nalezeno = true; echo $seznam; } $seznam = $seznam->dalsi; } while($seznam != null); if(!$nalezeno){ echo '

Hledaná známka není v tomto seznamu.

'; } } function prumer($seznam){ $znamkyVahy = 0; $vahy = 0; do{ $znamkyVahy += ($seznam->znamka * $seznam->vaha); $vahy += $seznam->vaha; $seznam = $seznam->dalsi; } while($seznam != null); if($vahy != 0){ $prumer = $znamkyVahy / $vahy; echo '

Průměr: '.$prumer.'

'; } else { echo '

Nelze počítat průměr

'; } } function smaz($seznam, $znamka, $vaha){ //maže pouze první záznam $prvni = $seznam; if($prvni->znamka == $znamka && $prvni->vaha == $vaha){ $prvni = $prvni->dalsi; return $prvni; } else{ $predchozi = $seznam; while($predchozi->dalsi != null){ $seznam = $seznam->dalsi; if($seznam->znamka == $znamka && $seznam->vaha == $vaha){ $predchozi->dalsi = $seznam->dalsi; return $prvni; } $predchozi = $seznam; } } } $pva = new Znamka(1, 4); pridej($pva, 5, 9); pridej($pva, 3, 4); pridej($pva, 1, 2); pridej($pva, 4, 7); vypis($pva); najdiZnamku($pva, 1); najdiZnamku($pva, 2); najdiZnamku($pva, 3); najdiZnamku($pva, 4); najdiZnamku($pva, 5); prumer($pva); $pva = smaz($pva, 1, 4); echo "-----"; vypis($pva); ?>