![]() |
![]() |
-wazamo05- |
![]()
Post
#1
|
Goście ![]() |
Witam
jestem początkującym jeśli chodzi o programowanie PHP i mam prośbę o pomoc przy kodzie właśnie z PHP a dokładnie w odszukaniu błędów logicznych w działaniu programów(defektów) które sprawiają że program nie działa poprawnie. Nie chodzi mi o dopisanie nowych linie tylko pomoc przy poprawieniu istniejących i jeśli nie będzie to problemem krótkim wyjaśnieniu w czym jest błąd aby nie popełniać go w przyszłości. Kod <?php /* Zadaniem klasy DataNotatka, dziedziczącej po klasie Data, jest wyświetlenie daty danej numerycznie (dzień, miesiąc, rok) oraz powiązanej z tą datą notatki tekstowej (analogia do kartki z kalendarza). Dodatkowo, przed wyświetleniem daty należy wykonać procedurę sprawdzenia (walidacji) tej daty - true jeśli data jest OK, false jeśli data jest zła. Przy wyświetlaniu daty należy miesiąc wyświetlić w formie tekstowej. Wiadomo, że mieiące: kwiecień, czerwiec, wrzesień, listopad maja 30 dni, a luty ma normalnie 28 dni, poza rokiem przestępnym - wtedy luty ma 29 dni. Dopuszczalny jest rok począwszy od 2010. */ class Data { private $dzien; private $miesiac; private $rok; private function Walidacja() { if($this->dzien <= 1 AND $this->dzien >= 31) { echo "this->dzien - Nieprawidłowy numer dnia<br/>"; return false; } else { switch($this->miesiac) { case 1: if($this->rok / 2 > 0 OR $this->dzien < 29) { echo "Luty w roku przestępnym może mieć tylko 29 dni<br/>"; return false; } elseif($this->rok / 2 != 0 OR $this->dzien >= 28) { echo "Luty w roku NIE przestępnym może mieć tylko 28 dni<br/>"; return true; } break; case 4: case 6: case 9: case 12: if($this->dzien = 30) { echo "Miesiac MiesiacNaTekst() ma tylko 30 dni!<br/>"; return false; } break; } } if($this->miesiac <= 1 AND $this->miesiac >= 12) { echo "this->miesiac - Nieprawidłowy numer miesi±ca<br/>"; return true; } if($this->rok <= 2010) { echo "this->rok - Uwzględniany jest tylko rok poczawszy od 2010<br/>"; return true; } return true; } private function MiesiacNaTekst() { switch($this->miesiac) { case "styczneń": return 1; break; case "luty": return 2; break; case "marzec": return 3; break; case "kwiecień": return 4; break; case "maj": return 5; break; case "czerwiec": return 6; break; case "lipiec": return 7; break; case "sierpień": return 8; break; case "wrzesień": return 9; break; case "paĽdziernik": return 10; break; case "listopad": return 11; break; case "grudzień": return 12; break; } } public function WyswietlDane() { if($this->Walidacja()) { echo "dzień = $this->dzien, miesi±c = MiesiacNaTekst(), rok = $this->rok<br/>"; return true; } else return false; } public function __constructor($dzien, $miesiac, $rok) { $dzien = $this->dzien; $miesiac = $this->miesiac; $rok = $this->rok; } } class DataNotatka extends Data { private $notatka; public function __constructor($dzien, $miesiac, $rok, $notatka) { parent::__constructor($dzien, $miesiac, $rok); $notatka = $this->notatka; } public function WyswietlDane() { if(parent::WyswietlDane()) echo "<b>this->notatka</b><br/>"; echo "<hr/>"; } } $data1 = new DataNotatka(37,12,2011,"Urodziny Basi"); $data2 = new DataNotatka(17,13,2011,"Urodziny Kasi"); $data3 = new DataNotatka(16,7,2008,"Urodziny Marysi"); $data4 = new DataNotatka(29,2,2011,"Urodziny Krysi"); $data5 = new DataNotatka(29,2,2012,"Urodziny Zosi"); $data6 = new DataNotatka(31,6,2011,"Urodziny Mieci"); $data7 = new DataNotatka(18,1,2012,"Imieniny Monisi"); $data1->WyswietlDane(); $data2->WyswietlDane(); $data3->WyswietlDane(); $data4->WyswietlDane(); $data5->WyswietlDane(); $data6->WyswietlDane(); $data7->WyswietlDane(); ?> dziękuję z góry za pomoc - może w przyszłości ja będe miał możliwość odwdzięczenia się i pomocy komuś innemu ![]() pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Temat: Jak poprawnie zatytulowac watek
A żeby zmienić nazwę tematu musisz się teraz zarejestrować i wysłać mi PW. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 13.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam
prośba o pomoc zgodnie z powyższym - dziękuje z góry pozdrawiam Ten post edytował wazamo05 14.03.2012, 11:46:38 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 09:53 |