Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben
^ 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;

}

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

Geschrieben

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.

Geschrieben

Ok danke, nunja ich ahbe das in einem openbook von Galileo Computing eben so gelesen, aber wenns egal ist gut. Ich finde es eben auch sauberer programmiert, aber das ist wohl Ansichtssache.

  • 1 Jahr später...
Geschrieben (bearbeitet)

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
Geschrieben

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.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...