PHP Schnellstart – Coding Challenge 4 – Der Profit-/Verlustrechner
Willkommen zur abschließenden Coding Challenge des PHP Schnellstarts. Du hast es fast geschafft und bist längst kein PHP-Anfänger mehr.
Diese letzten Aufgaben sollen dein Verständnis rund um die gelernten Inhalte von PHP testen sowie vertiefen.
Wenn die Aufgaben zu schwer sind, kannst du dir jederzeit die Lösungen anschauen. Versuche jedoch etwas zu knobeln, wenn du nicht auf Anhieb weiter kommst.
Der Profit-/Verlustrechner
Ein Geschäftsmann fragt dich, ob du ihm einen Profit- bzw. Verlustrechner programmieren kannst. Diese Herausforderung nimmst du gerne an. Wie du den Profit (Gewinn) bzw. Verlust ausrechnest, erkläre ich dir in diesem 2 Minuten "BWL"-Exkurs. Falls du bereits weißt, wie man den Gewinn/Verlust mathematisch ausrechnet, kannst du die nächsten Überschriften überspringen.
2 Minuten Erklärung zu einfachen BWL-Kennzahlen
- Der Umsatz, oder auch die Einnahmen, ist vereinfacht gesagt, das Geld, dass ich durch meine Verkäufe einnehme.
- Die Kosten, manchmal auch Aufwand genannt, sind die Ausgaben, die ich als Unternehmen habe
Jetzt möchte jeder Geschäftsmann wissen, ob er mehr eingenommen (Umsatz) hat, als er ausgegeben (Kosten) hat. Das berechnet sich wie folgt:
Umsatz - Kosten = Gewinn
Beispiel Gewinn-Szenario:
z.B: 500 € (Umsatz) - 100 € (Kosten) = 400 € (Gewinn) . Der Geschäftsmann hat 400 € Gewinn (Synonym: Profit) gemacht.
Merke: Die Wörter Gewinn und Profit werden oft verwendet, um das Gleiche auszudrücken.
Durch die einfache Subtraktion von Umsatz - Kosten, weiß der clevere Unternehmer sofort, ob er Gewinn gemacht hat.
Beispiel Verlust-Szenario:
Doch was passiert, wenn die Kosten, den Umsatz übersteigen? Das ist ein trauriges Szenario für den Geschäftsmann, denn dann hat er Verlust gemacht. Die Formel bleibt gleich, jedoch spricht man von einem "Verlust" sobald das Ergebnis negativ (im Minus) ist.
z.B. 300 € (Umsatz) - 500 € (Kosten) = -200 € (Verlust). Der Geschäftsmann hat 200 € Verlust gemacht. Das macht ihn traurig 🙁
Kurze Zusammenfassung
- Umsatz (Einnahmen)
- Kosten (Ausgaben)
- Gewinn (Einnahmen größer als Ausgaben)
- Verlust (Ausgaben größer als Einnahmen)
- Die Gewinnformel, die du gleich benötigst:
- Gewinn = Umsatz - Kosten
BWL Exkurs Ende!
Zurück zum Profit-/Verlustrechner
Ich habe dir im untenstehenden Code-Editor ein einfaches HTML-Formular vorbereitet. Der Benutzer kann hier seinen Umsatz (z.B: 500 €) und seine Kosten (z.B. 100 €) in die Textfelder eintragen. Daneben findet sich ein "Check"-Button.
Das Ziel ist, den Gewinn (wenn Umsätze größer als Kosten sind) bzw. den Verlust (wenn Kosten größer als Umsätze sind) als Text anzuzeigen, sobald der Benutzer auf den "Check"-Button drückt. Die fertige Ausgabe sollte in etwa so aussehen:
"Profit = XX €", wobei XX für den Profit steht.
Wichtige Hinweise
Dein PHP-Skript wird in die gleiche Datei, wie das HTML-Formular, geschrieben (starte ab Zeile 16).
Besonderheit: Wie du in Zeile 3 siehst, verweist das Formular nicht auf eine weitere Datei z.B. auswertung.php, um den POST-Request des Formulars auszuwerten. Stattdessen werden wir den POST-Request in der gleichen Datei verarbeiten. Dafür verwenden wir in Zeile 15 den Befehl extract($_POST). Diese Methode extrahiert die übergebenen Werte (umsatz, kosten) des POST-Requests, damit du sie auf der gleichen Seite auswerten kannst.
Arbeite wie ein echter Programmierer
- Bevor du loslegst, schaue dir das HTML-Formular an.
- Überlege dir, welche Szenarien du mit deiner Programm-Logik abdecken musst. Tipp: Hier gibt es nur zwei Szenarien
- Überlege dir welche Bedingungen dein Programm abdecken muss (z.B. welche Vergleichsoperatoren du benötigst)
- Außerdem muss die einfache mathematische Formel für den Gewinn berücksichtigt werden.
- Überlege dir dafür passende Variablennamen, die leicht verständlich sind z.B. $umsatz für den Umsatz usw.
- Baue dann die Formel in deinen Code ein
Viel Spaß bei der Challenge!
Freiwillige Zusatzaufgabe
Wenn du dein Wissen herausfordern möchtest, kannst du folgende Zusatzaufgabe bewältigen:
(Hinweis: An dieser Stelle, sollte dein Programm bereits den Gewinn bzw. Verlust ausrechnen und darstellen können)
Der Geschäftsmann fragt dich, ob du zusätzlich zu den absoluten Gewinn-/Verlustwerten auch relative Gewinn-/Verlustwerte darstellen kannst.
Vereinfacht gesagt: Er möchte zusätzlich den Gewinn bzw. Verlust in Prozent darstellen. Du benötigst dafür nur die Prozentformel z.B. (Gewinn * 100) / Kosten
Code-Editor:
Komplettlösung (+Zusatzaufgabe)
[lp_spoiler title="Lösung anzeigen" class="da"]
Die Lösung inklusive Zusatzaufgabe:
<?php
$request = extract($_POST); // Extrahiert die uebergebenen Werte (umsatz, kosten) des Post Requests
if ($request != NULL) {
if($umsatz > $kosten) { // Umsatz groesser als Kosten = Gewinn
$profit=$umsatz-$kosten;
$ergebnis= "Profit = ". $profit . " EUR";
$pp=($profit*100)/$kosten;
$ergebnis.= ", Profit in % = ".$pp."%";
} else { // Umsatz kleiner als Kosten = Verlust
$verlust=$kosten-$umsatz;
$ergebnis= "Verlust = " . $verlust . " EUR";
$vp=($verlust*100)/$kosten;
$ergebnis.= ", Verlust in % = ". $vp ."%";
}
echo $ergebnis; // Gibt die absoluten und relativen Ergebnisse aus
}
else {
echo "Gib deinen Umsatz und die Kosten ein, um die Berechnung zu starten";
}
?>
[/lp_spoiler]