Zum Inhalt springen

komme nicht weiter bei PHP


Empfohlene Beiträge

Hallo leute, ich bin hier gerade am schreiben von einem Skript, das mir die wertminderung ausrechnen soll und dann solange den restwert ausgibt, bis er an einem bestimmten wert angekommen ist.

Als beispiel habe ich einen Anfangswert von 1000 €, eine jährliche Wertminderung von 15 % und einen restwert von 400 € eingetragen.

Die Ausgabe erfolgt zwar schon, so, wie ich es will, aber sobald der Wert unter die 400 € fällt, soll dieser wert nicht mehr mit ausgegeben werden.

Könnt ihr mir helfen? Ich hab gerade einen totalen blackout, wie ich da weiter machen muss.

hier mal das skript:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Cp1252">
<title>Wertminderung</title>
</head>
<h2>Wertminderung-Eingabeformular</h2>
<body>
<form action="wertminderung.php" method="POST">
<table>
<tr>
<td>Anschaffungswert</td><td><input type="text" name="anschaffung" size="5" /></td><td>€</td>
</tr>
<tr>
<td>Jährliche Wertminderung</td><td><input type="text" name="minderung" size="5" /></td><td>%</td>
</tr>
<tr>
<td>Voraussichtlicher Restwert</td><td><input type="text" name="rest" size="5" /></td><td>€</td>
</tr>
<tr>
<td><input type="submit" name="send" value="berechnen" /></td>
</table>
</form>

<?php

if (isset($_POST["send"]))
{

$anschaffung=$_POST["anschaffung"];
$minderung=$_POST["minderung"];
$jahr=0;

echo "Wert nach 0 Jahren: ".number_format($anschaffung,2,',','.')." €<br>";

while ($anschaffung > $_POST["rest"])
{
$ergebnis=$anschaffung*$minderung/100;
$anschaffung=$anschaffung-$ergebnis;
$jahr++;

echo "Wert nach $jahr Jahren: ".number_format($anschaffung,2,',','.')." €<br>";
}





}




?>
</body>

</html>[/PHP]

Die Augabe sieht dann so aus:

Wertminderung-Eingabeformular

Anschaffungswert €

Jährliche Wertminderung %

Voraussichtlicher Restwert €

Wert nach 0 Jahren: 1.000,00 €

Wert nach 1 Jahren: 850,00 €

Wert nach 2 Jahren: 722,50 €

Wert nach 3 Jahren: 614,13 €

Wert nach 4 Jahren: 522,01 €

Wert nach 5 Jahren: 443,71 €

Wert nach 6 Jahren: 377,15 €

mein Problem ist, dass der letzte wert, der ja unter 400 liegt, nicht mehr angezeigt werden soll. Das skript soll dann aufhören, wenn der wert kleiner als 400 ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich hoffe, ich bin auf dem richtigen Weg. Also, ich habe das mit der Schleife nochmal nachgerechnet. Wenn ich das richtig sehe, gibt die Schleife jeden wert aus, bis der Wert unter dem ist, der im Formular eingegeben wurde....

So und nun stehe ich doof da und weiß nicht, wie ich der schleife sagen soll, dass sie aufhören soll, sobald der wert unter 400 gehen würde.

Muss ich da noch eine If-Bedingung reinfummeln?

Bearbeitet von Zaccharias
Link zu diesem Kommentar
Auf anderen Seiten teilen

Nein ein If ist nicht notwendig. Geh bitte noch einmal hin und überlege Dir jede (!) einzelne Anweisung. Schau Dir an, wann Du was berechnest und wann Du etwas ausgibst.

Überlege Dir auch die Bedingungen der Schleifen, vor allem ob Du eine kop- oder fußgesteuerte Schleife benötigst:

PHP: while - Manual

PHP: do-while - Manual

Link zu diesem Kommentar
Auf anderen Seiten teilen

Oh mann, ich danke dir für den Hinweis....da wäre ich sonst noch dran verzweifelt, ich habe jetzt eine fußgesteuerte Schleife genommen....

der Code sieht jetzt so aus....

Nicht gerade die Musterlösung, aber es funktioniert.

if (isset($_POST["send"]))
{

$anschaffung=$_POST["anschaffung"];
$minderung=$_POST["minderung"];
$jahr=0;

do
{

$ergebnis=$anschaffung*$minderung/100;

echo "Wert nach $jahr Jahren: ".number_format($anschaffung,2,',','.')." €<br>";
$anschaffung=$anschaffung-$ergebnis;
$jahr++;

}
while ($anschaffung > $_POST["rest"]);




}[/PHP]

Sollte doch jetzt auch richtig sein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...