Berechnung des Barwerts eines zukünftigen Betrags in C

CCBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Labor lernen Sie, wie man den Barwert eines zukünftigen Betrags mithilfe von C-Programmierung berechnet. Das Labor behandelt die wesentlichen Schritte, einschließlich des Lesens der Finanzparameter (Zukunftswert, Zinssatz und Zeitperiode) und der Anwendung der Barwertformel zur Berechnung des Barwerts. Das Labor bietet eine Schritt-für-Schritt-Anleitung mit Codebeispielen, um Ihnen das Verständnis und die Implementierung der Barwertberechnung in C zu erleichtern.

Das Labor demonstriert die Verwendung der Funktion scanf(), um Benutzereingaben zu lesen, diese als Fließkommazahlen doppelter Genauigkeit zu speichern und anschließend die Barwertberechnung mithilfe der Formel durchzuführen: Barwert (PV) = Zukunftswert (FV) / (1 + Zinssatz)^Zeit. Der berechnete Barwert wird dann auf der Konsole ausgegeben, sodass Sie das Ergebnis der Berechnung sehen können.

Zukunftswert, Zinssatz und Zeitperiode einlesen

In diesem Schritt lernen Sie, wie Sie die wesentlichen Finanzparameter zur Berechnung des Barwerts einlesen: Zukunftswert, Zinssatz und Zeitperiode.

Erstellen Sie zunächst eine neue C-Datei für die Barwertberechnung:

cd ~/project
nano present_value.c

Schreiben Sie nun den Code zum Einlesen der Eingabewerte:

#include <stdio.h>
#include <math.h>

int main() {
    double future_value, rate, time;

    printf("Zukunftswert eingeben: ");
    scanf("%lf", &future_value);

    printf("Jährlicher Zinssatz (in Dezimalform): ");
    scanf("%lf", &rate);

    printf("Zeitraum (in Jahren): ");
    scanf("%lf", &time);

    printf("Eingaben:\n");
    printf("Zukunftswert: %.2f\n", future_value);
    printf("Zinssatz: %.2f%%\n", rate * 100);
    printf("Zeitraum: %.2f Jahre\n", time);

    return 0;
}

Kompilieren Sie das Programm:

gcc -o present_value present_value.c -lm

Beispielausgabe beim Ausführen des Programms:

Zukunftswert eingeben: 1000
Jährlicher Zinssatz (in Dezimalform): 0.05
Zeitraum (in Jahren): 3
Eingaben:
Zukunftswert: 1000.00
Zinssatz: 5.00%
Zeitraum: 3.00 Jahre

Dieser Code zeigt, wie man:

  • scanf() verwendet, um Benutzereingaben für Zukunftswert, Zinssatz und Zeitraum zu lesen
  • Eingaben als Fließkommazahlen doppelter Genauigkeit speichert
  • die eingegebenen Werte ausgibt, um die korrekte Eingabe zu bestätigen

PV = FV/(1+R)^T

In diesem Schritt implementieren Sie die Barwert-Berechnung mithilfe der Finanzformel: Barwert (PV) = Zukunftswert (FV) / (1 + Zinssatz)^Zeit.

Ändern Sie die vorherige Datei present_value.c, um die Berechnung einzubeziehen:

nano ~/project/present_value.c

Aktualisieren Sie den Code mit der Barwert-Berechnung:

#include <stdio.h>
#include <math.h>

int main() {
    double future_value, rate, time, present_value;

    printf("Zukunftswert eingeben: ");
    scanf("%lf", &future_value);

    printf("Jährlicher Zinssatz (in Dezimalform): ");
    scanf("%lf", &rate);

    printf("Zeitraum (in Jahren): ");
    scanf("%lf", &time);

    // Barwert berechnen
    present_value = future_value / pow((1 + rate), time);

    printf("\nBerechnungsergebnisse:\n");
    printf("Zukunftswert: %.2f\n", future_value);
    printf("Zinssatz: %.2f%%\n", rate * 100);
    printf("Zeitraum: %.2f Jahre\n", time);
    printf("Barwert: %.2f\n", present_value);

    return 0;
}

Kompilieren und ausführen des aktualisierten Programms:

gcc -o present_value present_value.c -lm
./present_value

Beispielausgabe:

Zukunftswert eingeben: 1000
Jährlicher Zinssatz (in Dezimalform): 0.05
Zeitraum (in Jahren): 3

Berechnungsergebnisse:
Zukunftswert: 1000.00
Zinssatz: 5.00%
Zeitraum: 3.00 Jahre
Barwert: 862.07

Wichtige Punkte in diesem Code:

  • Verwenden Sie die Funktion pow() aus <math.h>, um (1 + Zinssatz)^Zeit zu berechnen
  • Implementieren Sie die Barwertformel: PV = FV / (1 + R)^T
  • Zeigen Sie detaillierte Berechnungsergebnisse an

Barwert ausgeben

In diesem Schritt verbessern Sie das Barwert-Berechnungsprogramm, indem Sie formatierte Ausgaben und Fehlerbehandlung hinzufügen, um die Benutzerfreundlichkeit zu steigern.

Aktualisieren Sie die Datei present_value.c mit verbesserter Formatierung und Validierung:

nano ~/project/present_value.c

Ändern Sie den Code, um eine bessere Ausgabeformatierung einzubeziehen:

#include <stdio.h>
#include <math.h>

int main() {
    double future_value, rate, time, present_value;

    // Eingabevalidierung
    printf("Barwert-Rechner\n");
    printf("---------------\n");

    printf("Zukunftswert eingeben (muss positiv sein): ");
    if (scanf("%lf", &future_value) != 1 || future_value <= 0) {
        printf("Fehler: Ungültiger Zukunftswert. Bitte eine positive Zahl eingeben.\n");
        return 1;
    }

    printf("Jährlicher Zinssatz eingeben (in Dezimalform, z. B. 0,05 für 5%): ");
    if (scanf("%lf", &rate) != 1 || rate < 0) {
        printf("Fehler: Ungültiger Zinssatz. Bitte eine nicht-negative Zahl eingeben.\n");
        return 1;
    }

    printf("Zeitraum eingeben (in Jahren, muss positiv sein): ");
    if (scanf("%lf", &time) != 1 || time <= 0) {
        printf("Fehler: Ungültiger Zeitraum. Bitte eine positive Zahl eingeben.\n");
        return 1;
    }

    // Barwert berechnen
    present_value = future_value / pow((1 + rate), time);

    // Formatierte Ausgabe
    printf("\n--- Barwert-Berechnung ---\n");
    printf("Zukunftswert:     $%.2f\n", future_value);
    printf("Jährlicher Zinssatz: %.2f%%\n", rate * 100);
    printf("Zeitraum:         %.2f Jahre\n", time);
    printf("Barwert:           $%.2f\n", present_value);

    return 0;
}

Kompilieren und ausführen des aktualisierten Programms:

gcc -o present_value present_value.c -lm
./present_value

Beispielausgabe:

Barwert-Rechner
---------------
Zukunftswert eingeben (muss positiv sein): 1000
Jährlicher Zinssatz eingeben (in Dezimalform, z. B. 0,05 für 5%): 0,05
Zeitraum eingeben (in Jahren, muss positiv sein): 3

--- Barwert-Berechnung ---
Zukunftswert:     $1000.00
Jährlicher Zinssatz: 5.00%
Zeitraum:         3.00 Jahre
Barwert:           $862.07

Wichtige Verbesserungen:

  • Hinzugefügte Eingabevalidierung, um ungültige Eingaben zu verhindern
  • Verbesserte Ausgabeformatierung mit eindeutigen Beschriftungen
  • Verbesserte Fehlerbehandlung für Benutzereingaben
  • Hinzugefügte beschreibende Eingabeaufforderungen und Berechnungszusammenfassung

Zusammenfassung

In diesem Labor lernen Sie, die wesentlichen Finanzparameter zur Berechnung des Barwerts zu lesen, einschließlich des Zukunftswerts, des Zinssatzes und des Zeitraums. Anschließend implementieren Sie die Barwert-Berechnung mithilfe der Finanzformel: Barwert (PV) = Zukunftswert (FV) / (1 + Zinssatz)^Zeit. Das Labor demonstriert, wie man mit C-Programmierung den Benutzer nach Eingaben fragt, die Berechnung durchführt und den resultierenden Barwert anzeigt.