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

2 Lösungen Lösungen öffentlich
#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
#1
vote_ok
von bibir (1870 Punkte) - 03.09.2014 um 13:19 Uhr
Quellcode ausblenden PHP-Code
<?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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2120495

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.