Kann jemand überprüfen, ob mein Struktur Gramm genau zu meinem PHP Code passt?
mein Neu überarbeitetes Strukturgramm:
hier der PHP Code:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link href="style.css" type="text/css" rel="stylesheet" />
</head>
<body>
<?php
$vorname=$_POST['vorname'];
$nachname=$_POST['nachname'];
$strasse_und_hausnummer=$_POST['strasse_und_hausnummer'];
$plz=$_POST['plz'];
$ort=$_POST['ort'];
$telefonnummer=$_POST['telefonnummer'];
$e_mail_adresse=$_POST['e_mail_adresse'];
$pizzasorten=$_POST['pizzasorten'];
$pizzaanzahl=$_POST['pizzaanzahl'];
$groesse_preis=$_POST['groesse_preis'];
$getraenk=$_POST['getraenk'];
$lieferoptionen=$_POST['lieferoptionen'];
$stammkundenkarte=$_POST['stammkundenkarte'];
$bemerkungen=$_POST['bemerkungen'];
$rabatt1=0.05;
$rabatt2=0.10;
$lieferkosten=4.99;
$zahlungsbetrag1=$groesse_preis*$pizzaanzahl-($groesse_preis*$pizzaanzahl*$rabatt1);
$zahlungsbetrag2=$groesse_preis*$pizzaanzahl-($groesse_preis*$pizzaanzahl*$rabatt2);
$zahlungsbetrag3=$groesse_preis*$pizzaanzahl-($groesse_preis*$pizzaanzahl*$rabatt2)+$lieferkosten;
$zahlungsbetrag4=$groesse_preis*$pizzaanzahl-($groesse_preis*$pizzaanzahl*$rabatt1)+$lieferkosten;
$pizzas = array( "Margherita", "Pepperoni","Funghi","Quattro Formaggi","Diavola","Veggie Delight","Eigenkreation");
echo "Ihre gewählte Pizzasorte ist: ";
echo $pizzas["2"];
if ($pizzaanzahl >= 3 AND $stammkundenkarte == "Nein")
{
echo "<p>Vielen Dank, $vorname $nachname, für Ihre Bestellung!<br />
Der Zahlungsbetrag beträgt: $zahlungsbetrag1 €(5% Rabatt wurde gewährt).<br />
Wir freuen uns darauf, Ihnen Ihre $pizzaanzahl Pizzen und $getraenk zu liefern!</p>";}
elseif ($pizzaanzahl >= 3 AND $stammkundenkarte == "Ja")
{
echo "<p>Vielen Dank, $vorname $nachname, für Ihre Bestellung!<br />
Der Zahlungsbetrag beträgt: $zahlungsbetrag2 € (10% Rabatt wurde gewährt).<br />
Wir freuen uns darauf, Ihnen Ihre $pizzaanzahl Pizzen und $getraenk zu liefern!</p>";}
elseif ($pizzaanzahl < 3 AND $stammkundenkarte == "Ja")
{
echo "<p>Vielen Dank, $vorname $nachname, für Ihre Bestellung!<br />
Der Zahlungsbetrag beträgt: $zahlungsbetrag3 € (10% Rabatt wurde gewährt inkl. der Lieferkosten).<br />
Wir freuen uns darauf, Ihnen Ihre $pizzaanzahl Pizzen und $getraenk zu liefern!<br />
Wir schätzen Ihre Treue als Stammkunde!</p>";}
else {
echo "<p>Vielen Dank, $vorname $nachname, für Ihre Bestellung!<br />
Der Zahlungsbetrag beträgt: $zahlungsbetrag4 €(5% Rabatt wurde gewährt inkl. der Lieferkosten).<br />
Wir freuen uns darauf, Ihnen Ihre $pizzaanzahl Pizzen und $getraenk zu liefern!</p>";}
?>
</body>
</html>
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
PHP, Programmiersprache, Programmieren & Softwareentwicklung
Zu deinem Diagramm:
- Die Eingaben für die Pizzaanzahl, den Preis je Größe sowie die Stammkundenkarte sollten auch als Eingaben gekennzeichnet werden.
- Es gibt kein Token Pizzaanzahl.
Im Vergleich zu deinem Code:
- Ich sehe keine individuelle Berechnung der Lieferkosten.
- Dein if-elseif solltest du dir noch einmal anschauen. Bereits die erste Bedingung liefert ein anderes Ergebnis, als vom Diagramm beschrieben. Der einfachste Fall wäre eine exakte Implementation der vorgegebenen Schritte.
regex9
08.12.2023, 20:26
@Xxxgs
Du brauchst beim Struktogramm doch nur die beiden von mir erwähnten Punkte durchgehen?
Für Eingaben (also Daten die von außen kommen), nutzt du einen Eingabeblock. Nur Arbeitsschritte, bei denen etwas berechnet bzw. eine Aktion ausgeführt wird, werden mit Anweisungsblöcken dargestellt.
Sobald dein Diagramm fertig ist, implementierst du den PHP-Code dazu. Wenn du dich nahezu Eins-zu-eins an die Arbeitsschritte vom Diagramm hältst, haben sich die beiden Punkte, die ich zu deinem Code aufgelistet habe, auch so gut wie erledigt.
Danke für deine Antwort !. Ich muss gestehen das ist, dass erste mal das ich ein Strukturgramm erstelle, weswegen ich Schwierigkeiten habe bei der Erstellung. Es wäre sehr hilfreich, wenn Sie mir das vielleicht optimieren bzw. Verbessern könnten, da ich ehrlich gesagt nicht genau wie ich ihre Verbesserung umsetzen soll. Habe es mit dieser Seite erstellt: https://dditools.inf.tu-dresden.de/struktog/