staging.inyokaproject.org

zinsen rechnen mit c++

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Ryzan

Anmeldungsdatum:
19. März 2009

Beiträge: Zähle...

also, in der schule müssen wir jetzt prozent rechnen.. aus langeweile hatte ich die idee ein programm zu schreiben, das mir das geld ausrechnet das ich nach x jahren bekomme. das problem ist, ich weiss nicht wie ich einen loop so einbaue das er mir das richtig anzeigt..

#include<iostream>
using namespace std;
double kapital;
double prozent;
int main()
{
cout << "wie viel geld hast du angelegt?(in euro)";
cin >> kapital;
cout << "wie viele zinsen bekommst du? (in prozent)";
cin >> prozent;
double money = kapital/100*prozent+kapital;
cout << "du bekommst " <<  money << "€" << endl;
}

das ist das was ich schon habe, ich möchte halt das man noch eingeben kann wie viele jahre man zinsen bekommt.. ist das mit einem normalen for loop möglich?

mfg, ryzan

Greebo

Avatar von Greebo

Anmeldungsdatum:
21. November 2006

Beiträge: 3443

Ryzan schrieb:

also, in der schule müssen wir jetzt prozent rechnen.. aus langeweile hatte ich die idee ein programm zu schreiben, das mir das geld ausrechnet das ich nach x jahren bekomme. das problem ist, ich weiss nicht wie ich einen loop so einbaue das er mir das richtig anzeigt..

#include<iostream>
using namespace std;
double kapital;
double prozent;
int main()
{
cout << "wie viel geld hast du angelegt?(in euro)";
cin >> kapital;
cout << "wie viele zinsen bekommst du? (in prozent)";
cin >> prozent;
double money = kapital/100*prozent+kapital;
cout << "du bekommst " <<  money << "€" << endl;
}

das ist das was ich schon habe, ich möchte halt das man noch eingeben kann wie viele jahre man zinsen bekommt.. ist das mit einem normalen for loop möglich?

mfg, ryzan

Du kennst aber schon die Zinseszins-Formel?

Ryzan

(Themenstarter)

Anmeldungsdatum:
19. März 2009

Beiträge: Zähle...

ne die kannt ich nicht, mein mathe lehrer ist scheiße, der peilt nichts, deshalb lern ich sowas ja auch @home^^ thx, damit werd ich das dann nochmal versuchen, damit gehts bestimmt besser, ich schreib dann gleich obs geht^^

mfg, ryzan

Greebo

Avatar von Greebo

Anmeldungsdatum:
21. November 2006

Beiträge: 3443

Für das hochnehmen gibt es die Funktion pow in cpp. Sollte also soetwas wie

result = kapital * pow( 1 + prozent / 100.0, jahre)

klappen.

Ryzan

(Themenstarter)

Anmeldungsdatum:
19. März 2009

Beiträge: 162

wie nett du bist, ich wollt gerade fragen wie das mit den hochrechnung geht^^ dann cshau ich mir auch das mal an..^^

Ryzan

(Themenstarter)

Anmeldungsdatum:
19. März 2009

Beiträge: 162

na super, ich bin leider nicht sehr gut in english (ich glaube, schlecht passt besser) kann mir dazu einer etwas deutsches sagen?...

mfg, ryzan

DasIch

Avatar von DasIch

Anmeldungsdatum:
2. November 2005

Beiträge: 1130

Wenn ihr dass Thema habt seit ihr mindestens in der 7. Klasse, solltest du in NRW sein und dass dürfte woanders nicht viel variieren. Die nötigen Englisch Kenntnisse wirst du auch haben, dass ist wenn eine Frage des Willens.

Greebo

Avatar von Greebo

Anmeldungsdatum:
21. November 2006

Beiträge: 3443

Das ist schlecht 😉. Englisch ist doch recht hilfreich, wenn man sich mit Programmieren außeinandersetzen will. Ich hab seit nem knappen Jahrzehnt nicht mehr wirklich CPP verwendet, insofern sicherlich nicht die schönste Lösung

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
/* Zinseszins Berechnen */
#include <iostream>
/* Enthält die meisten mathematischen Funktionen */
#include <cmath>
using namespace std;
double kapital;
double prozent;
int jahre;
int main()
{
cout << "wie viel geld hast du angelegt?(in euro) ";
cin >> kapital;
cout << "wie viele zinsen bekommst du? (in prozent) ";
cin >> prozent;
cout << "wie viele Jahre sollen beruecksichtigt werden? ";
cin >> jahre;
double geld = kapital * pow( 1 + prozent / 100.0, jahre);
cout << "du bekommst " <<  geld << "€" << endl;
return 0;
}

EDIT: Hmmm hatte in der ersten Variante den Rückgabewert vergessen. Warum meckert da g++ -Wall nicht drüber?

Ryzan

(Themenstarter)

Anmeldungsdatum:
19. März 2009

Beiträge: 162

ah vielen dank, das wollt ihc haben, wieder etwas dazu gelernt^^ nun ja, dafür das du das so lange nicht mehr gemacht hast kennst du dich aber gut aus^^ was muss man machen damit man von dem symbol (wahrscheinliich gibts ein besseres wort dafür, wäre nett wenn mir das einer sagen könnt)was entsteht aus starten kann, also wie eine exedatei?

Greebo

Avatar von Greebo

Anmeldungsdatum:
21. November 2006

Beiträge: 3443

Hmmm ich verstehe deine Frage nicht 100% 😉. Geht es dir darum die entstandene Anwendung zu starten? Die ist wenn du so willst eine exe-Datei (In Linux nennt sich der Format ELF). Dateiendungen spielen unter Linux nicht die Rolle wie unter Windows. Das System erkennt an der Struktur der Datei um was für einen Dateityp es sich handelt, und wie damit umgegangen werden muss.

Compilieren kannst du die Quelldatei mit

g++ -Wall zinseszins.cpp -o zinseszins

falls sie zinseszins.cpp heisst. Wall macht den Compiler etwas "pedantischer", nach -o steht der Ausgabename.

Starten geht dann zB. mit

./zinseszins

./ Sorgt dafür, das zinseszins aus dem aktuellen Verzeichnis ausgeführt wird. Willst du darauf verzichten, kannst du deine Binaries auch im Ordner ~/bin ablegen, dann sind sie von überall aus "normal" erreichbar, ich denke darum gings dir.

danielrichter

Anmeldungsdatum:
14. Februar 2008

Beiträge: 273

Greebo schrieb:

EDIT: Hmmm hatte in der ersten Variante den Rückgabewert vergessen. Warum meckert da g++ -Wall nicht drüber?

Kenne deine erste Variante nicht, aber falls du die main-Funktion meinst: Laut C++-Standard ist er optional (hab ich zumindest hier entnommen). Der g++ ist demnach einer der wenigen Compiler, die sich wirklich daran halten.

Greebo

Avatar von Greebo

Anmeldungsdatum:
21. November 2006

Beiträge: 3443

Danke, ja ging in der Tat um die main-Funktion. Das bei main der Rückgabewert optional ist, wusste ich nicht. Finde ich spontan auch ne unnötige/hässliche Ausnahme. Na ja die werden schon gewusst haben, wieso.

Ryzan

(Themenstarter)

Anmeldungsdatum:
19. März 2009

Beiträge: 162

Greebo schrieb:

Hmmm ich verstehe deine Frage nicht 100% 😉. Geht es dir darum die entstandene Anwendung zu starten? Die ist wenn du so willst eine exe-Datei (In Linux nennt sich der Format ELF). Dateiendungen spielen unter Linux nicht die Rolle wie unter Windows. Das System erkennt an der Struktur der Datei um was für einen Dateityp es sich handelt, und wie damit umgegangen werden muss.

Compilieren kannst du die Quelldatei mit

g++ -Wall zinseszins.cpp -o zinseszins

falls sie zinseszins.cpp heisst. Wall macht den Compiler etwas "pedantischer", nach -o steht der Ausgabename.

Starten geht dann zB. mit

./zinseszins

./ Sorgt dafür, das zinseszins aus dem aktuellen Verzeichnis ausgeführt wird. Willst du darauf verzichten, kannst du deine Binaries auch im Ordner ~/bin ablegen, dann sind sie von überall aus "normal" erreichbar, ich denke darum gings dir.

schade, eigentlich wollte ich das als symbol halt sofort machen, also ohne das ins terminal einzugeben, da ich das auf dauer... nicht so schön finde. naja, ich werd dann mal schaun, das programm funts auf jeden fall bis jetzt, so lern ich sogar noch ausserhalb meines buches cpp weiter^^

mfg, ryzan

Greebo

Avatar von Greebo

Anmeldungsdatum:
21. November 2006

Beiträge: 3443

Ach du willst das über deine GUI starten? Das lässt sich auch problemlos machen. Da du eine Terminalanwendung geschrieben hast, brauchst du eine Console oder einen virtuellen Terminal. Ich verwende mal xterm, weil der quasi überall verfügbar sein sollte. Falls du GNOME nutzt lege einfach einen Starter an. Als Befehl gibst du

xterm -hold -e PFAD/PROGRAMM

an. -hold sorgt dafür, dass das Fenster nach der Ausführung offen bleibt und du das Ergebnis lesen kannst. Unter KDE und Co geht das natürlich analog.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17630

Greebo schrieb:

1
2
3
4
5
6
//...
double kapital;
double prozent;
int jahre;
int main()
> 

Fragt sich, wieso kapital, prozent und jahre als globale Variablen angelegt werden.

Antworten |