PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Oberon Programm (Kreditberechnung)


Master of Puppetz
2005-04-17, 18:43:48
Hier mal ein Programm, ich hoffe ihr könnt euch kurz Zeit dafür nehmen:

MODULE Kredit_test;
IMPORT In, Out, Float;
VAR p,r,s,Kr:REAL;
m,j:INTEGER;

PROCEDURE ProgMain*;
BEGIN
Out.String("Bitte geben Sie die Kreditsumme ein:");
In.Real(Kr);
Out.Ln;
Out.String("Bitte geben Sie den Zinssatz in Prozent ein:");
In.Real(p);
Out.Ln;
Out.String("Bitte geben Sie die monatliche Rate in Euro ein:");
In.Real(r);
Out.Ln;
Out.String("Bitte geben Sie die jährliche Sonderzahlung ein:");
In.Real(s);
Out.Ln;
m:=0;
j:=0;
REPEAT
j:=j+1;
REPEAT
m:=m+1;
Kr:=(Kr+((Kr/100)+p))-(Kr-r);
Out.String("Nach ");
Out.Int(m,2);
Out.String(" Monat/en ist der Restbetrag ");
Out.Real(Kr,5);
Out.String(" Euro.");
Out.Ln;
UNTIL m=12;
Out.String("Nach ");
Out.Int(j,2);
Out.String(" Jahr/en ist der Restbetrag ");
Kr:=Kr-s;
Out.Real(Kr,5);
Out.String(" Euro.");
Out.Ln;
UNTIL Kr<=0


END ProgMain;
END Kredit_test.





Ich weis nicht was daran falsch ist, aber es kommt irgendwie nur Käse raus und ich hab keine Ahnung warum:confused:.
Zuerst sollen Zinssatz, Kreditbetrag, Höhe der Sonderzahlung und die monatliche Rate eingegeben werden um daraus den Kreditbetrag nach jedem Monat anzuzeigen und nochmal jährlich, weil die Sonderzahlung nur einmal im Jahr dazu kommt.

Trap
2005-04-17, 19:36:51
Es kommt Käse raus weil du Käse rechnest.

Das Programm ist komplett richtig aufgebaut, nur die Formel ist falsch.

Master of Puppetz
2005-04-17, 19:52:52
Ich hab das Problem eingrenzen können.
Außer der Formel liegt es daran, dass was mit Out.Real nicht hinhaut.

Käse kommt nämlich schon raus wenn ich einfach nur eine einegegebene Variable wieder ausgeben lasse.
Nur was ist daran falsch :|

Trap
2005-04-17, 22:11:56
Wenn ich ein mal die Probleme mit Fließkommazahlen weglasse ist deine Formel:
Kr:=(Kr+((Kr/100)+p))-(Kr-r);
das gleiche wie
Kr:=(Kr/100)+p+r;
was offensichtlich Blödsinn ist.

Master of Puppetz
2005-04-18, 16:05:20
Wenn ich ein mal die Probleme mit Fließkommazahlen weglasse ist deine Formel:
Kr:=(Kr+((Kr/100)+p))-(Kr-r);
das gleiche wie
Kr:=(Kr/100)+p+r;
was offensichtlich Blödsinn ist.

Mag sein, aber zuerst müsste ich mal rausfinden warum bei Eingabe von z.B. 3,3 immer 1,xxex rauskommt. Das ist auch so wenn ich nur die Zahl eifach wieder ausgeben lassen will.