#include#include double kapital, rate, tilgung, zins, zinssatz; int jahr; int main( void ){ printf( "Annuitaetentilgung\n\n"); kapital = 0.0; while( kapital == 0.0 ){ printf( "Anfangskapital: " ); scanf( "%lf", &kapital ); kapital = floor( 100 * kapital + 0.5 ) * 0.01; } zinssatz = 0.0; while( zinssatz == 0.0 ){ printf( "Zinssatz: " ); scanf( "%lf", &zinssatz ); } rate = 0.0; while( rate == 0.0 ){ printf( "Jaehrliche Rate (mind. %.2f): ", (kapital * zinssatz * 0.01)+0.01 ); scanf( "%lf", &rate ); rate = floor( 100 * rate + 0.5 ) * 0.01; if( rate <= (kapital * zinssatz * 0.01) ){ fprintf( stderr, "Zu kleine Rate!\n" ); rate = 0.0; } } printf( "\nTilgungsplan fuer %.2f DM Kapital bei einer jaehrlichen \ Verzinsung von %.2f Prozent und einer Rate von %.2f DM p.a.\n\n", kapital, zinssatz, rate ); jahr = 1; printf( " Jahr | Kapital am Anfang | Zinsen am Ende | Tilgung am Ende \n" ); printf( "-------------------------------------------------------------\n" ); while( kapital > 0 ){ zins = floor( kapital * zinssatz + 0.5 ) * 0.01; tilgung = rate - zins; if( tilgung > kapital ) tilgung = kapital; printf( " %4d | %17.2f | %14.2f | %15.2f\n", jahr, kapital, zins, tilgung ); kapital -= tilgung; jahr++; } return 0; } /* thales$ gcc -Wall annu.c thales$ a.out Annuitaetentilgung Anfangskapital: 10000 Zinssatz: 7 Jaehrliche Rate (mind. 700.01): 3500 Tilgungsplan fuer 10000.00 DM Kapital bei einer jaehrlichen Verzinsung von 7.00 Prozent und einer Rate von 3500.00 DM p.a. Jahr | Kapital am Anfang | Zinsen am Ende | Tilgung am Ende ------------------------------------------------------------- 1 | 10000.00 | 700.00 | 2800.00 2 | 7200.00 | 504.00 | 2996.00 3 | 4204.00 | 294.28 | 3205.72 4 | 998.28 | 69.88 | 998.28 thales$ */