der ausdruck muss ein ganzzahliger...
-
Hallo leute,
bin wieder mal total am Ende. Keine Ahnung was ich da falsch mache.
double kredit;
double zins;
double zeit;
double rest;for (int i=1;i<= zeit; i++)
{
rest= kredit*((zins^zeit - zinsi)/((zinszeit)-1)); }die unterstrichenen variablen zins und zeit nimmt er nicht an. Da steht " der ausdruck muss ein ganzzahligen Enumerationstypen ....." sowas halt, aber es ist zwingend notwendig, dass zins als gleitkommazahl bleibt :S
danke, falls ihr mir helfen könnt. Hoffe ich habe alle nötigen Daten angegeben
-
pow(zins,zeit) statt zins^zeit
^ ist exklusives bitweises oder auf ganzzahltypen
-
Meinst du std::pow(a, b) anstatt den xor-Operator ?
-
^ ist keine Potenz, sondern ein bitweises XOR. pow (aus cmath) ist eine Potenz.
double ist übrigens ein ziemlich ungeeigneter Datentyp (sogar der wohl ungeeignetste von den Basisdatentypen), um damit Geldbeträge zu verarbeiten. Um nicht zu viel Aufwand zu haben, solltest du vielleicht erst einmal mit Ganzzahlen rechnen und den Geldbetrag dabei als Cent zählen (oder besser Zehntel oder Hundertstel Cent).
edit: Woot? 3 Minuten zu später als die erste Antwort? Irgendwie muss dieser Tab wohl hinten in der Leseliste gelandet sein.
-
SeppJ schrieb:
double ist übrigens ein ziemlich ungeeigneter Datentyp (sogar der wohl ungeeignetste von den Basisdatentypen), um damit Geldbeträge zu verarbeiten.
float ist noch ungünstiger.
-
woot schrieb:
SeppJ schrieb:
double ist übrigens ein ziemlich ungeeigneter Datentyp (sogar der wohl ungeeignetste von den Basisdatentypen), um damit Geldbeträge zu verarbeiten.
float ist noch ungünstiger.
Wieso ist float noch ungünstiger als double?
-
bool ist noch ungünstiger!
-
out schrieb:
woot schrieb:
SeppJ schrieb:
double ist übrigens ein ziemlich ungeeigneter Datentyp (sogar der wohl ungeeignetste von den Basisdatentypen), um damit Geldbeträge zu verarbeiten.
float ist noch ungünstiger.
Wieso ist float noch ungünstiger als double?
Auf den meisten CPUs, wie x86, sind floating point Berechnungen mit double implementiert, floats werden also emuliert und die Konvertierungen kosten Zeit. Damit ist double nicht nur genauer, sondern auch schneller (getestet an einer Image convolution, der Unterschied betrug ~15%). Nur im Falle von speicherintensiven Aufgaben empfiehlt sich float mehr.
Aber wie gesagt: dies ist hardwarebedingt.Kenner der Fakten schrieb:
bool ist noch ungünstiger!
bool ist ein Wahrheitswert, der eigentlich nur 2 Zustände kennt: wahr/true oder falsch/false. Dafür sollte nur 1 Bit benötigt werden, jedoch wird 1 Byte (=7 verschwendete Bits) reserviert. Abgesehen davon ist es natürlich Schwachsinn für Geldberechnung :p
-
double ist übrigens ein ziemlich ungeeigneter Datentyp (sogar der wohl ungeeignetste von den Basisdatentypen), um damit Geldbeträge zu verarbeiten.
Erinnerst du dich an diese Geld-Lib die ich machen wollte?
https://github.com/bingojamigo/Money-Lib/tree/master/Money Lib
-
Youka schrieb:
out schrieb:
woot schrieb:
SeppJ schrieb:
double ist übrigens ein ziemlich ungeeigneter Datentyp (sogar der wohl ungeeignetste von den Basisdatentypen), um damit Geldbeträge zu verarbeiten.
float ist noch ungünstiger.
Wieso ist float noch ungünstiger als double?
Auf den meisten CPUs, wie x86, sind floating point Berechnungen mit double implementiert, floats werden also emuliert und die Konvertierungen kosten Zeit. Damit ist double nicht nur genauer, sondern auch schneller (getestet an einer Image convolution, der Unterschied betrug ~15%). Nur im Falle von speicherintensiven Aufgaben empfiehlt sich float mehr.
Aber wie gesagt: dies ist hardwarebedingt.Ich glaube eigentlich, er meinte, dass
floateinfach ungenauer ist.
-
Sone schrieb:
Erinnerst du dich an diese Geld-Lib die ich machen wollte?
https://github.com/bingojamigo/Money-Lib/tree/master/Money LibJa. Und du benutzt ja auch integrale Datentypen. Aber ich denke, vatan89 wäre damit etwas überfordert.
-
Danke leute dieses pow(x,y) hat mir schon sehr geholfen. Wie lange muss ich mich eigentlich mit Programmieren auseinandersetzten um eure Unterhaltungen zu verstehen^^. Ich hab das Gefühl trotz intensiver Lerneinheiten stagniert mein Lernprozess irgendwie
Naja aufjedenfall danke dieses Forum ist echt spitze 
-
Wie lange muss ich mich eigentlich mit Programmieren auseinandersetzten um eure Unterhaltungen zu verstehen^^
Kommt doch völlig drauf an über was wir uns unterhalten, oder?
Ich hab das Gefühl trotz intensiver Lerneinheiten stagniert mein Lernprozess irgendwie

Aha? Wieso das? Es dauert eben sehr lange, C++ zu beherrschen.
3 Minuten zu später
Und der Preis für den witzigsten grammatikalischen Fehler geht an SeppJ! Herzlichen Glückwunsch!
http://ruthe.de/cartoons/strip_1605.jpg
(Ob du allerdings schon einen Doktortitel hast, weiß ich nicht)