Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

also kommen wir nun mal zu einer anderen Aufgabe :) :

Schreiben Sie ein Programm zur einfachen Zinsrechnung!

Es sollen folgenden Werte eingegeben werden:

Kapital: Kommazahl

Zinssatz: Kommazahl in Prozent

Jahre: Ganzzahl

Die Zinsen werden nach der einfachen Zinsrechnung, wie folgt berechnet:

Zinsen =((Kapital * Zinssatz * Jahre)100)

Es werden die Jahre, Zinsen und das Endkapital mit 2 Nachkommastellen ausgegeben.

z.B. Ihr Kapital verzinste sich in 5 Jahren auf 12345.67 Euro.

Es enthaelt 345.67 Euro Zinsen

So das war die Aufgabenstellung. Nun mal mein Code dazu, aber mit einem Fehler laut C++ Builder ([C++ Fehler] zins.cpp(29): E2060 Unzulässige Verwendung einer Fließkommazahl) Passt irgendwas nicht mit dem hoch jahre

//---------------------------------------------------------------------------


#pragma hdrstop


#include <stdio.h>

#include <conio.h>

//---------------------------------------------------------------------------


#pragma argsused

int main(int argc, char* argv[])

{

 float kapital=0;

 float zinssatz=0;

 int jahre=0;

 float zinsen=0;

 float endkapital=0;



 printf("Kapital:");

 scanf("%f",&kapital);

 printf("Zinssatz:");

 scanf("%f",&zinssatz);

 printf("Jahre:");

 scanf("%i",&jahre);



 zinsen= ((kapital*zinssatz*jahre)/100);

 endkapital=(kapital*((1+zinssatz/100)^jahre));



 printf("Ihr Kapital verzinste sich in %i Jahren auf %10.2f EUR",jahre,endkapital);

 printf("Zinsen sind %10.2f EUR",zinsen);




        return 0;

}

//---------------------------------------------------------------------------

:eek:eek

^ ist ein exklusives Oder und keine Potenz.

Zum Potenzieren musst du die pow() Funktion verwenden

SUPER! Funktioniert jetzt :) Danke! ;)

//---------------------------------------------------------------------------


#pragma hdrstop


#include <stdio.h>

#include <conio.h>

#include <math.h>

//---------------------------------------------------------------------------


#pragma argsused

int main(int argc, char* argv[])

{

 float kapital=0;

 float zinssatz=0;

 int jahre=0;

 float zinsen=0;

 float endkapital=0;


//-----------------------------EINGABE------------------------------------------


 printf("Kapital:");

 scanf("%f",&kapital);

 printf("Zinssatz:");

 scanf("%f",&zinssatz);

 printf("Jahre:");

 scanf("%i",&jahre);


//-----------------------------BERECHNUNG_BEGINN--------------------------------


 zinsen= ((kapital*zinssatz*jahre)/100);

 endkapital=(kapital*pow((1+zinssatz/100),jahre));


//-----------------------------AUSGABE------------------------------------------


 printf("Ihr Kapital verzinste sich in %i Jahren auf %.2f EUR.

 \n",jahre,endkapital);

 printf("Zinsen sind %.2f EUR",zinsen);


        return 0;

}

//---------------------------------------------------------------------------

Hallo,

also erstmal ist das definitiv kein C++ Code sondern C Code.

Etwas ist mir aber auch aufgefallen, bin selber grade beom C lernen, allerdings im Selbstudium.

Deine Variablendefinition:


float kapital=0;

 float zinssatz=0;

 int jahre=0;

 float zinsen=0;

 float endkapital=0;

Du Typisierst Variablen mit float aber gibst in der Zuweisung einen int Wert an. Mal genauer gesagt.

float stellt eine Gleitpunktzahl dar, also müsstes du eigentlich auch deine Initialisierung als Gleitpunktzahl darstellen.

z.B.

float kapital = 0.0;

stellt eine Gleitpunktzahl dar.

float kapital = 0;

Hier aber machst das eigentlich falsch. Da Typisierst du die Variable mit float und weist ihr aber mit 0 einen Ganzzahlwert.

Der Compiler macht aus dem 0 eh automatisch 0.0f da du ja den Datentyp angegeben hast.

  • 1 Jahr später...

das hier ist meine Lösung für zinsberechnung. wollte wissen ob das richtig ist und wie ich bei Art_2 vorgehen soll.

hier soll in Art_1 das gesamtguthaben nach einer einzugebenden Anzahl von Jahren berechnet und ausgegeben werde.

und in Art_2 soll berechnet werden nach wie vielen Jahren sich das Guthaben verdoppelt hat.

vielen Dank

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

void main ()

{

float kapital;

static float zinssatz;

int jahre;

float zinsen;

float endkapital;

int anzahl_jahre;

int guthaben;

//-----------------------------EINGABE------------------------------------------

printf("Geben Sie den anfangs Kapital ein:");

scanf("%f",&kapital);

printf("Geben Sie den Zinssatz ein:");

scanf("%f",&zinssatz);

printf("Geben Sie Anzahl Jahre ein:");

scanf("%d",&jahre);

//-----------------------------BERECHNUNG_BEGINN--------------------------------

endkapital=(kapital*pow(1+zinssatz/100,jahre));

for (int i=0; i<guthaben, i++; ){

endkapital=(kapital*pow(1+zinssatz/100,jahre));

guthaben = kapital*2;

anzahl_jahre= //hier komm ich nicht weiter???

//-----------------------------AUSGABE------------------------------------------

printf ("\n");

printf ("Art_1:\n");

printf ("\n");

printf("\n\tEndkapital = %f\n",endkapital);

printf ("\n");

printf ("\n");

printf ("Art_2");

printf ("\n");

printf ("\n");

printf ("\n\tAnzal_jahre = %f\n", anzahl_jahre);

system("Pause");

}

Bearbeitet von LBJ

Du kannst das direkt ausrechnen, indem du die Zinsformel nach der Laufzeit auflöst (dazu brauchst du einen Logarithmus).

Wenn du das mit einer Schleife machen willst, musst du einfach solange verzinsen, bis das erreichte Kapital mindestens doppelt so groß geworden ist (das ist dann die Schleifenbedingung). Die gesuchte Laufzeit ergibt sich aus der Anzahl der Schleifendurchläufe, die kannst du in einer zusätzlichen Variablen mitzählen.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.