Universität Ulm,
Fakultät für Mathematik und Wirtschaftswissenschaften,
SAI
Lösung zu Blatt 1
der Systemnahe Software I (WS 97/98)
1. Kredite
Hier ist die verbesserte Version. Die Fehler sind markiert worden:
/* Kreditabstotterung bei konstanter jaehrlicher Abzahlung */
#include <stdio.h>/*;*/
void main() {
double zins, schulden, rate;
int jahre /*:*/= 0;
printf("Bitte den Zinssatz eingeben: "); scanf("%lf", &zins);
printf("Bitte Anfangsschulden eingeben: "); scanf("%lf", &schulden);
printf("Bitte Rate eingeben: "); scanf("%lf", &rate);
while (schulden > 0.0) {
jahre++;
schulden = schulden * (1.0 + zins) - rate;
}
printf("Tilgungsdauer: %d, Ueberschuss %lf.\n", jahre, schulden);
exit(0);
}
2. Eine Tabelle
Hier ein Vorschlag für eine schönere Ausgabe.
/* Kreditabstotterung bei konstanter jaehrlicher Abzahlung */
#include <stdio.h>
void main() {
double zins, schulden, rate, schulden_alt;
int jahre = 0;
printf("Bitte den Zinssatz eingeben: "); scanf("%lf", &zins);
printf("Bitte Anfangsschulden eingeben: "); scanf("%lf", &schulden);
printf("Bitte Rate eingeben: "); scanf("%lf", &rate);
printf("/------------------------------------\\\n");
printf("| Jahr | Schulden | Zinsen | Tilgung |\n");
printf("--------------------------------------\n");
while (schulden > 0.0) {
jahre++;
schulden_alt = schulden;
schulden = schulden * (1.0 + zins) - rate;
printf("| %4d | %8.2lf | %6.2lf | %7.2lf |\n", jahre, schulden, \
schulden_alt * zins, schulden_alt - schulden);
}
printf("\\------------------------------------/\n");
printf("Tilgungsdauer: %d, Ueberschuss %lf.\n", jahre, schulden);
exit(0);
}
Ingo Melzer, 23. Oktober 1997