# Rechenskript für Zinsen, Zinseszins und Tageszins



## marcap (30. März 2005)

Hi, ich bin Php anfänger und wollte ein Programm schreiben, in dem man auswählt was man berechnen möchte: Tageszinsen, Jahreszinsen oder Zinseszins! dann gibt man die restlichen daten ins Formular ein, fertig is es!

Allerdings habe ich irgendwelche Probleme, deren beseitigung mein jetztiges Wissen übersteigen....

Wär cool wenn ihr mir sagt was wo falsch ist!

Der Code der zinsen.php Datei

```
<?php
$Zinssatz = $_GET["Zinssatz"];
define("teiler", "100");
define("addition", "1");
$Zinssatz2 = $Zinssatz / teiler + addition;
$Kapital = $_GET["Kapital"];
define("tagesteiler", "360");
$Tage = $_GET["Tage"] / tagesteiler;
$Jahre = $_GET["Jahre"];

if ($_GET["Rechenart"] == "Tageszinsen") {
$Tageszinsen = $Kaptial * $Tage * $Zinssatz2 //Tageszinsen
echo $Tageszinsen;
}

if ($_GET["Rechenart"] == "Jahreszinsen") {
$Jahreszinsen = $Kapital * $Jahre * $Zinssatz //Jahreszinsen
echo $Jahreszinsen;
}
else {
echo "Ihre Angaben sind nicht exakt bitte wählen Sie aus was Sie Berechnen möchten!";
}
if ($_GET["Rechenart"] == "Zinseszinsberechnung") {
$endkapital = $Kapital * pow($Zinssatz, $Jahre), //Zinseszinsberechnung!
echo $endkapital;
}
else {
echo "Ihre Angaben sind nicht exakt bitte wählen Sie aus was Sie Berechnen möchten!";
}
?>
```

Hier der Code des Formulars zinsen.htm


```
<html>
<head>

</head>

<body>
<center><h4>Marcap's Rechner: Mehrwertsteuer und Skontoabzug</h4></center><p>
Bei nichtgebrauch der Funktion Eingabefeld bitte frei lassen!<br>
Bitte unbedingt als Trennzeichen den PUNKT(.) zu verwenden nicht das KOMMA(,)
<form action="zinsen.php" method="get">
	<select name="Rechenart" size="1"> Bitte gebt an was ihr berechnen wollt!
		<option>Tageszinsen</option>
		<option>Jahreszinsen</option>
		<option>Zinseszinsberechnung</option>
	</select><p>
	<input name="Kapital" type="text">Anfangskapital<br>
	<input name="Tage" type="text">Tage (nur bei Tageszinsen angeben)<br>
	<input name="Jahre" type="text">Jahre (nicht bei Tageszinsen angeben<br>
	<input name="Zinssatz" type="text">Zinssatz in % <p>
	<input type="submit">
	
		
	</form>
</body>
</html>
```

Vielen dank für eure Hilfe

Marcap


----------



## flooo (30. März 2005)

ohne fehlerbeschreibung wird das wohl nix
flooo


----------



## marcap (30. März 2005)

ok sry vergessen: Da kommt immer

Parse error: parse error, unexpected T_ECHO in /home/marcadbp/www.marcap.de/code/zinsen.php on line 15


----------



## daddz (30. März 2005)

Du hast irgendwie überall Semikolons vergessen!
Wie hier z.B.:
	
	
	



```
$Tageszinsen = $Kaptial * $Tage * $Zinssatz2 // da muss ein Semikolon hinter
```
und hier:

```
$Jahreszinsen = $Kapital * $Jahre * $Zinssatz // hier auch
```
und hier is nur ein Komma:

```
$endkapital = $Kapital * pow($Zinssatz, $Jahre), // <--schau schau
```

greetz
daddz


----------



## marcap (31. März 2005)

Cool, danke jetzt geht  es, allerdings stimmen die Formeln net und ich muss den Code nach der if abfrage anhalten sonst kommt das raus: http://www.marcap.de/code/zinsen.htm

Aber danke

Hab gedacht da dürfen keine Semikolons hin in einer if abfrage...


----------



## daddz (31. März 2005)

Versuchs doch mal so mit "elseif":

```
if ($_GET["Rechenart"] == "Tageszinsen") {
$Tageszinsen = $Kaptial * $Tage * $Zinssatz2 //Tageszinsen
echo $Tageszinsen;
}

elseif ($_GET["Rechenart"] == "Jahreszinsen") {
$Jahreszinsen = $Kapital * $Jahre * $Zinssatz //Jahreszinsen
echo $Jahreszinsen;
}

elseif ($_GET["Rechenart"] == "Zinseszinsberechnung") {
$endkapital = $Kapital * pow($Zinssatz, $Jahre), //Zinseszinsberechnung!
echo $endkapital;
}
else {
echo "Ihre Angaben sind nicht exakt bitte wählen Sie aus was Sie Berechnen möchten!";
}
?>
```

Oder am besten mit "switch" :

```
switch($_GET["Rechenart"]) {
    case "Tageszinsen":
        $Tageszinsen = $Kaptial * $Tage * $Zinssatz2; //Tageszinsen
        echo $Tageszinsen;
        break;
    case "Jahreszinsen":
        $Jahreszinsen = $Kapital * $Jahre * $Zinssatz; //Jahreszinsen
        echo $Jahreszinsen;
        break;
    case "Zinseszinsberechnung":
        $endkapital = $Kapital * pow($Zinssatz, $Jahre); //Zinseszinsberechnung!
        echo $endkapital;
        break;  
    default:
        echo "Ihre Angaben sind nicht exakt bitte wählen Sie aus was Sie Berechnen möchten!";
        break;
}
```

Mit "switch" ist es eigentlich die "elegantere" Lösung!

greetz
daddz


----------



## marcap (31. März 2005)

Oh danke, kannst du mir kurz die Switch/Case funktion erklären, also wie man die einsetzt, denn ich will mich ja verbessern....


----------



## olly1882 (31. März 2005)

Schau hier


----------

