PHP :: Aufgabe #31 :: Lösung #1
2 Lösungen

#31
Schaltjahresberechnung
Anfänger - PHP
von Process1
- 10.01.2013 um 06:52 Uhr
Es soll eine jahreszahl übergeben werden und es soll überprüft werden ob es sich um ein Schaltjahr handelt oder nicht.
Es gilt:
- Wenn ein Jahr durch 4 teilbar ist, ist es ein Schaltjahr, aber
- wenn es durch 100 teilbar ist, ist es kein schaltjahr, außer
- es ist durch 400 teilbar, dann ist es ein schaltjahr
z.b. 1664, 1600, 2000, 2004 sind schaltjahre
1003, 2006, 1700 sind keine schaltjahre
Es gilt:
- Wenn ein Jahr durch 4 teilbar ist, ist es ein Schaltjahr, aber
- wenn es durch 100 teilbar ist, ist es kein schaltjahr, außer
- es ist durch 400 teilbar, dann ist es ein schaltjahr
z.b. 1664, 1600, 2000, 2004 sind schaltjahre
1003, 2006, 1700 sind keine schaltjahre
#1

von bibir (1870 Punkte)
- 03.09.2014 um 13:19 Uhr

<?php $schaltjahr = ''; if(isset($_POST['jahr']) && filter_var($_POST['jahr'], FILTER_VALIDATE_INT)){ $schaltjahr = ist_schaltjahr($_POST['jahr']); } else { $schaltjahr = ''; } function print_ergebnis($schaltjahr){ if($schaltjahr === true){ return $_POST['jahr'].' ist ein Schaltjahr'; } elseif($schaltjahr === false){ return $_POST['jahr'].' ist kein Schaltjahr'; } else { return 'Es ist ein Fehler aufgetreten'; } } function ist_schaltjahr($jahr){ if(($jahr % 400) == 0){ return true; } elseif(($jahr % 100) == 0){ return false; } elseif(($jahr % 4) == 0){ return true; } else { return false; } // variante b /* if(($jahr % 4) == 0){ // koennte schaltjahr sein if(($jahr % 100) == 0){ // moeglicherweise doch keines if(($jahr % 400) == 0){ // ist doch eines return true; } else { return false; } } else { return true; } } else { // ist definitiv kein schaltjahr return false; }*/ } ?> <!DOCTYPE html> <html> <head> <title>Schaltjahre</title> </head> <body> <form action="./schaltjahre.php" name="prim" method="POST"> Welches Jahr soll geprüft werden?<br /> <input type="text" name="jahr" size="4" /> <input type="submit" value="berechnen" /> </form> <p> <?php echo print_ergebnis($schaltjahr); ?> </p> </body> </html>
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1