paevad=array(); $this->ettevalmistus(); } function ettevalmistus(){ $kuupikkused=array(-1, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); for($kuu=1; $kuu<=12; $kuu++){ $kuutekstina=($kuu<10) ? "0$kuu" : "$kuu"; for($paev=1; $paev<=$kuupikkused[$kuu]; $paev++){ $paevtekstina=($paev<10) ? "0$paev" : "$paev"; $this->paevad["$kuutekstina $paevtekstina"]="vaba"; } } } function loeKinnisedPaevadFailist(&$fail){ $kogus=intval(fgets($fail, 80)); for($loendur=0; $loendur<$kogus; $loendur++){ $rida=trim(fgets($fail, 80)); $this->paevad[$rida]="kinni"; } } function loeKinnisedPaevad($fnimi, $inimestearv){ $f=fopen($fnimi, "r"); for($loendur=0; $loendur<$inimestearv; $loendur++){ $this->loeKinnisedPaevadFailist($f); } fclose($f); } function leiaEsimeneVaba(){ $esimenevaba="puudub"; $leitud=false; foreach($this->paevad as $paev => $seisund){ if($seisund=="vaba" and !$leitud){ $esimenevaba=$paev; $leitud=true; } } return $esimenevaba; } function kirjutaVastusFaili($fnimi){ $tulemus=$this->leiaEsimeneVaba(); $f2=fopen($fnimi, "w"); if($tulemus=="puudub"){ fputs($f2, "EI SAA\n"); } else { fputs($f2, $tulemus); } fclose($f2); } } $haldus=new Paevahaldus(); $haldus->loeKinnisedPaevad("kino.sis", 2); $haldus->kirjutaVastusFaili("kino.val"); /* $p=array(); $f=fopen("kino.sis", "r"); ettevalmistus($p); loeKinnisedPaevadFailist($f, $p); loeKinnisedPaevadFailist($f, $p); fclose($f); kirjutaVastusFaili("kino.val", leiaEsimeneVaba($p)); */ //print_r($p); /* $f2=fopen("kino.val", "w"); foreach($paevad as $voti => $sisu){ if($sisu=="vaba"){ fputs($f2, $voti); break; } } fclose($f2); // print_r($paevad); */ ?>