PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Borland C++ function pow()


Tidus
2006-02-16, 08:41:32
Hallo.
Eine kurze Frage.
Hab für die Berufsschule eine Aufgabe zu tun, und benötige an einer stelle hilfe.

Muss das Endkapital berechnen, folgende formel ist vorgegeben:

Endkapital = Anfangskapital * (1 + Zinssatz/100) HOCH Laufzeit

Hinweis: Zur Potenzierung können Sie die Funktion pow() verwenden.

Wie sieht denn da die Syntax aus? in der borland hilfe steht nichts.

Simon
2006-02-16, 08:51:05
Wenn du ein Linux zur Verfügung hast:

man pow


Und i.A. ist MS MSDN für jegliche Fragen zur C/C++ Standardbibliothek sehr gut: pow() (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_pow.asp)

Was ist das denn für ein Borland Ding, dass du das hast? Hört sich ja schrecklich an :|

Tidus
2006-02-16, 08:58:31
Wenn du ein Linux zur Verfügung hast:

man pow


Und i.A. ist MS MSDN für jegliche Fragen zur C/C++ Standardbibliothek sehr gut: pow() (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_pow.asp)

Was ist das denn für ein Borland Ding, dass du das hast? Hört sich ja schrecklich an :|
Borland c++ Builder 5
hm und ich soll eben die pow() benutzen, werde aber aus der Syntax nich schlau...hab zur Zeit ne tolle endlosschleife :biggrin:

€dit: Linux ist keine Alternative.

noid
2006-02-16, 09:04:14
bla = Anfangskapital * pow((1 + Zinssatz/100), Laufzeit);

oder wie ist die syntax bei dir?

Tidus
2006-02-16, 09:09:05
bla = Anfangskapital * pow((1 + Zinssatz/100), Laufzeit);

oder wie ist die syntax bei dir?
hmm so hab ichs....dann muss woanders wohl noch was falsch sein...

ist es erlaubt in einer while schleife ne if, else anweisung zu machen ?

Also Abbruchbedingung soll sein: Anfangskapital = 0;

So hab ichs dann:

...
...
...
while (Anfangskapital != 0)
{
cout ........
cin.......

if (Laufzeit <=2) //ist ne Bedingung der Aufgabe
{
Zinssatz = XXX;
RECHNUNG
}

else
if (.....)
{.....
}

usw...

Simon
2006-02-16, 09:22:47
Also "Zinssatz" ist schon positiv bei dir?
Weil irgendwie änderst du "Anfangskapital" nie, wie soll das dann null werden?

noid
2006-02-16, 09:23:11
Klar kannst du if und else in einer while verwenden.

Aber ich bezweifle, dass dies ne gute Abbruchbedingung ist. Eine kleine Rechenungenauigkeit und du wirst niemals exakt 0 erreichen. Gib dir doch mal aus auf welchem Wert das ganze ist. (Bei sowas würde ich immer nen expliziten cast machen oder mal schauen ob man das besser abbrechen kann).

edit: @Simon, denke das ist nur Pseudocode und in der Rechnung wird das verringert.

Chris Lux
2006-02-16, 09:25:14
bla = Anfangskapital * pow((1 + Zinssatz/100), Laufzeit);

*hust*
Zinssatz/100.0

Pinoccio
2006-02-16, 09:29:13
In der Tat sollte man es bei Gleitkomma-Formaten vermeiden, auf Gleichheit zur Null zu testen. Also entweder k<0 oder abs(k)<eps mit eps klein gewählt je nach Aufgabenstellung, bei Finanzrechungnen wird iirc mit 0,0001€ gerechnet. Zweiters aber nur, wenn man wirklich eine Nullfolge hat.Zinssatz/100.0Warum? Wird Zinsatz/100 nicht automatisch der Typ, den Zinssatz hat?
/edit: in JAVA würde, wenn Zinsatz eine Ganzzahl ist, das Ergebnis eine Ganzzahl werden (mit Rundung Richtung Null, also praktisch 0) und wenn Zinssatz eine Gleitkomazahl analog. Wie das ganze in C/C++ behandelt wird, weiß ich nicht.

mfg Sebastian

Tidus
2006-02-16, 09:38:48
Die Abbruchbedingung Anfangskapital =0 steht so in der aufgabe :rolleyes:
Und das Anfangskapital ist ein Eingabewert.

Am anfang steht:

cout << "Anfangskapital: ";
cin >> Anfangskapital

MfG,
Tidus

€dit: Ach ja, unsere klasse ist noch ziemlich am anfang^^

Pinoccio
2006-02-16, 09:51:50
steht so in der aufgabeVorschlag: stell hier dochmal die ganze Aufgabe rein. Nachdem was du hier so schreibst vermute ich, daß du sie nicht verstanden hast (weil ihr halt noch am Anfang steht) oder daß sie schlecht formuliert wurde.
Beachte aber die Regelung zu Hausaufgabenthreads und erwarte keine Komplettlösung. ;-)

mfg Sebastian

Tidus
2006-02-16, 09:54:21
Vorschlag: stell hier dochmal die ganze Aufgabe rein. Nachdem was du hier so schreibst vermute ich, daß du sie nicht verstanden hast (weil ihr halt noch am Anfang steht) oder daß sie schlecht formuliert wurde.
Beachte aber die Regelung zu Hausaufgabenthreads und erwarte keine Komplettlösung. ;-)

mfg Sebastian
Ich erwarte ja keine komplett lösung, sondern hilfe bei der syntax von pow().
Eine Komplettlösung war nie meine absicht.
Hier die aufgabe:

Für die Berechnung des Endkapitals eines Sparplans mit verschiedenen Laufzeiten ist ein Programm SPARPLAN.CPP zu entwickeln. Das Anfangskapital und die Laufzeit in Jahren sind über die Tastatur einzugeben. Der Zinssatz ist nach der Laufzeit gestaffelt:

bis 2 Jahre 2.8% p.a. (wohl per anno oder ?)
über 2 bis 10 Jahre 3.8% p.a.
über 10 Jahre 4.5% p.a.

Es soll das Endkapital berechnet und mit 2 Nachkommastellen ausgegeben werden. Das Programm soll beliebig viele Zinsberechnungen ermöglichen (Abbruchbedingung: Anfangskapital=0).

Die Formel für die Berechnung des Endkapitals lautet:

Endkapital=Anfangskapital* (1+Zinssatz/100) HOCH Laufzeit
Hinweis: Zur Potenzierung können sie die ´Funktion pow() verwenden.

Simon
2006-02-16, 10:11:50
Ich erwarte ja keine komplett lösung, sondern hilfe bei der syntax von pow().
Ich hab doch den Link (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_pow.asp) zur MSDN oben schon gepostet. Wo hast du denn Probleme mit dem dort vorgestellten Beispiel und Dokumentation zur Syntax der Funktion?

Mit deiner Aufgabenbeschreibung macht es auch etwas mehr Sinn, auf 0 zu testen in der while Schleife :rolleyes:
Allerdings ist deine Schleifenbedingung damit trotzdem nicht richtig: Denn es soll ja bei einem Anfangskapital von 0 abgebrochen werden. Deine Schleife (soweit man das hier sehen kann) berechnet aber dann je nach Laufzeit noch das Endkapitel (was bei 0€ Anfangskapital nicht viel Sinn machen würde ;) ).

Tidus
2006-02-16, 10:25:01
Ich hab doch den Link (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_pow.asp) zur MSDN oben schon gepostet. Wo hast du denn Probleme mit dem dort vorgestellten Beispiel und Dokumentation zur Syntax der Funktion?

Mit deiner Aufgabenbeschreibung macht es auch etwas mehr Sinn, auf 0 zu testen in der while Schleife :rolleyes:
Allerdings ist deine Schleifenbedingung damit trotzdem nicht richtig: Denn es soll ja bei einem Anfangskapital von 0 abgebrochen werden. Deine Schleife (soweit man das hier sehen kann) berechnet aber dann je nach Laufzeit noch das Endkapitel (was bei 0€ Anfangskapital nicht viel Sinn machen würde ;) ).
Auch wenns peinlich werden könnte, hier mein Quelcode:

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

#include <iostream.h>
#include <conio.h>
#include <iomanip.h>

//---------------------------------------------------------------------------
int Laufzeit = 0;
double Anfangskapital, Zinssatz = 0, Endkapital = 0;


int main()
{
cout << fixed << setprecision(2);
cout << "Anfangskapital: ";
cin >> Anfangskapital;
cout << "Laufzeit: ";
cin >> Laufzeit;

while (Anfangskapital != 0)
{
if (Laufzeit <= 2)
{
Zinssatz = 2.8;
Endkapital = Anfangskapital * pow((1+Zinssatz/100), Laufzeit);
}
else
if(Laufzeit <= 10)
{
Zinssatz = 3.8;
Endkapital = Anfangskapital * pow((1+Zinssatz/100), Laufzeit);
}
else
{
Zinssatz = 4.5;
Endkapital = Anfangskapital * pow((1+Zinssatz/100),Laufzeit);
}
cout << "Endkapital: " << Endkapital;
}
getch();
return 0;
}

Gast
2006-02-16, 10:30:17
Du hast die Aufgabe nicht verstanden.
Das Programm soll immer wieder nach dem Anfangskapital fragen, und dann das Zeugs ausrechnen, und sich beenden wenn der Benutzer 0 als Anfangskapital eingibt. Quasi als geheime Geheimzahl für den geheimen Abbruchmechanismus .

So wie es jetzt bei dir ist ... wie soll die Schleife denn jemals beendet werden, deiner Meinung nach? Wie soll das gehen? Es kann nicht gehen! Anfangskapital wird innerhalb der Schleife nicht verändert, also wird die Schleife entweder garnicht laufen (wenn AK==0) oder ewig.

-zecki

Tidus
2006-02-16, 10:32:09
Du hast die Aufgabe nicht verstanden.
Das Programm soll immer wieder nach dem Anfangskapital fragen, und dann das Zeugs ausrechnen, und sich beenden wenn der Benutzer 0 als Anfangskapital eingibt. Quasi als geheime Geheimzahl für den geheimen Abbruchmechanismus .

So wie es jetzt bei dir ist ... wie soll die Schleife denn jemals beendet werden, deiner Meinung nach? Wie soll das gehen? Es kann nicht gehen! Anfangskapital wird innerhalb der Schleife nicht verändert, also wird die Schleife entweder garnicht laufen (wenn AK==0) oder ewig.

-zecki
*am kopf kratz*
du hast recht, aber ich wüsst jetz auch nich, wie es richtig wär..*grübel*

noid
2006-02-16, 10:32:49
ich les nix ohne CODE-Tags und einrückung.... (sollte dein Code das nicht enhalten, dann aber schleunigst rein mit der Einrückung von den verschd Ebenen.)

Kleiner Hint: Es ist wichtig _wo_ du das cin hast.

Gast
2006-02-16, 10:33:19
Ach und noch was: "Ausbilder" die ihre Schutzbefohlenen mit Borland-Compilern quälen gehören einmal wöchentlich an den Sackhaaren durch einen mittelgroßen Kreisverkehr gezogen, bis sie Einsicht zeigen.

"#include <conio.h>", wenn ich das schon sehe wird mir ganz übel ... dafür kannst du freilich nichts.

Und gleich kommt Coda und wird dir erzählen dass stdio.h ebenfalls Schmarrn ist. Und er hat sogar Recht. Auch dafür kannst du nichts.

Sry.
-zecki

Tidus
2006-02-16, 10:34:18
Ach und noch was: "Ausbilder" die ihre Schutzbefohlenen mit Borland-Compilern quälen gehören einmal wöchentlich an den Sackhaaren durch einen mittelgroßen Kreisverkehr gezogen, bis sie Einsicht zeigen.

"#include <conio.h>", wenn ich das schon sehe wird mir ganz übel ... dafür kannst du freilich nichts.

Und gleich kommt Coda und wird dir erzählen dass stdio.h ebenfalls Schmarrn ist. Und er hat sogar Recht. Auch dafür kannst du nichts.

Sry.
-zecki
Liegt ja nich am Ausbilder sondern am Lehrer in der Berufsschule^^

Simon
2006-02-16, 10:35:09
Bitte benutze die code-/code-Tags!

Ein paar Anmerkungen:
1) Es gibt keine iostream.h (sogar MS hat das vor langer Zeit erkannt ;) ). Richtig wäre:

#include <iostream>

using namespace std; // <- mein Chef killt mich dafür :-O

2) Was ist iomanip.h und wofür brauchst du die?
3) conio.h ist so ein Borland-spez. Header, oder? Den brauchst du für gewöhnlich auch nicht, lies einfach noch irgendwas ein mit cin ;)
4) Warum sind deine Variablen global? Es reicht doch, wenn sie in der main()-Funktion stehen =)
5) Deine Variableninitialisierung bei den doubles ist nicht korrekt (da müßte sich doch der Compiler beschweren?). Richtig wäre:

double d = 0.0;


Mein (erster ;D ) Vorschlag:

Edit: zecki hat mich gehauen für den Code :(

PS: Ja, ich hab nix zu tun auf Arbeit :D

Tidus
2006-02-16, 10:35:19
ich les nix ohne CODE-Tags und einrückung.... (sollte dein Code das nicht enhalten, dann aber schleunigst rein mit der Einrückung von den verschd Ebenen.)

Kleiner Hint: Es ist wichtig _wo_ du das cin hast.
mein code is eingerückt, aber ich weiß nicht wie man das hier im beitrag übernimmt.

Gast
2006-02-16, 10:43:06
*am kopf kratz*
du hast recht, aber ich wüsst jetz auch nich, wie es richtig wär..*grübel*Wenn man möchte dass etwas immer wieder passiert, macht man was? Rüchtüüüch, man packt es in eine Schleife.
Was gehört alles in die Schleife? Rüchtüüüch, die Abfrage der Eingabe und die Berechnung, und die Ausgabe des Ergebnisses.

Der fiese Antichrist steckt hier im Detail der Schleifenbedingung. Ich sag's mal so: wenn ihr gerade damit anfangt, ist diese Aufgabe ziemlich unfair. Man muss nämlich abfragen bevor man überhaupt in die Schleife eintreten darf, und man muss nochmal innerhalb der Schleife fragen. Am Ende. Um ein neues "Anfangskapital" für den nächsten Schleifendurchlauf zu haben.

Pseudo-AK abfragen
while (AK nicht Null)
{
rechn0rn
ausgeben
AK nochmal abfragen
}
Laden abschließen, nach Hause gehen, Füße hochlegenDas sollte reichen. Wenn ich noch präziser werden muss, möchte ich von deinem Lehrer eine Note dafür =)

-zecki

noid
2006-02-16, 10:43:54
Deinen Code zwischen die code-tags packen, dann übernimmt er die whitespaces....

Gast
2006-02-16, 10:52:54
Böses Simon! Einfach so eine Lösung post0rn ist schlecht für die Gehirnentwicklung!
*aufdiefingerklopf*
1) Es gibt keine iostream.h (sogar MS hat das vor langer Zeit erkannt ;) ). Richtig wäre:

#include <iostream>

Hähä ... da fehlt noch was.
2) Was ist iomanip.h und wofür brauchst du die?
Zum Kotzen. Als Brechmittel ;)
5) Deine Variableninitialisierung bei den doubles ist nicht korrekt (da müßte sich doch der Compiler beschweren?). Richtig wäre:

double d = 0.0;

Das ist Latte. Integer werden implizit zu doubles gecastet wenn nötig (so wie hier). Das führt weder zu einer Compiler-Warnung noch zu irgendwelchen anderen Problemen.Mein (erster ;D ) Vorschlag:
Nicht doof. Stellt sich nur die Frage ob Tidus break schon erklärt bekommen hat.

-zecki

[Edit by Crushi]
Tags korrigiert.

Tidus
2006-02-16, 10:56:01
Böses Simon! Einfach so eine Lösung post0rn ist schlecht für die Gehirnentwicklung!
*aufdiefingerklopf*
[QUOTE=Simon]1) Es gibt keine iostream.h (sogar MS hat das vor langer Zeit erkannt ;) ). Richtig wäre:

#include <iostream>
[/CODE]Hähä ... da fehlt noch was.Zum Kotzen. Als Brechmittel ;)[QUOTE=Simon]5) Deine Variableninitialisierung bei den doubles ist nicht korrekt (da müßte sich doch der Compiler beschweren?). Richtig wäre:

double d = 0.0;
[/CODE]Das ist Latte. Integer werden implizit zu doubles gecastet wenn nötig (so wie hier). Das führt weder zu einer Compiler-Warnung noch zu irgendwelchen anderen Problemen.Nicht doof. Stellt sich nur die Frage ob Tidus break schon erklärt bekommen hat.

-zecki
also ich kenne break nur im switch, case...ansonsten kennen wir das net...
Zur Beruhigung: Hab Simons Post net gelesen, weil ich sofort auf seite 2 gelandet bin....bin grad noch am probieren^^

Gast
2006-02-16, 11:02:26
Wie unschwer zu erkennen ist, habe ich da oben ein paarmal Quote- und Code-Tags durcheinandergeschmissen. Ich möchte mich für die schlechte Lesbarkeit entschuldigen. Wenn ich euch mal in der Kneipe treffe, spendiere ich euch dafür ein Wässerchen.

-zecki

Expandable
2006-02-16, 12:00:44
2) Was ist iomanip.h und wofür brauchst du die?

Gibt es nicht. Es gibt nur <iomanip>, das ist Teil der STL und erlaubt es, gewisse Parameter bei Ein- und Ausgabe zu setzen (bsp. wieviele Stellen bei einer Gleitpunktzahl ausgegeben werden sollen, etc.).

Coda
2006-02-16, 12:22:55
Und gleich kommt Coda und wird dir erzählen dass stdio.h ebenfalls Schmarrn ist. Und er hat sogar Recht. Auch dafür kannst du nichts.Du meinst <iostream.h>. Ja, ich hätte fast was gesagt, aber das kommt mir langsam wie ein Krieg gegen Windmühlen vor.

OT: Sag mal hast du dich mit Quasar verschwört bzgl. der Gast-Nummer?

Gast
2006-02-16, 12:54:43
Du meinst <iostream.h>. Ja, ich hätte fast was gesagt, aber das kommt mir langsam wie ein Krieg gegen Windmühlen vor.Ja, ich meinte natürlich iostream.h, hatte nur in dem Moment einen Knoten zuviel im Gehirn. Aber ich wusste dass du vorbeischauen würdest :DOT: Sag mal hast du dich mit Quasar verschwört bzgl. der Gast-Nummer?Nein. Also wir haben uns da nicht abgesprochen. Quasar ist auch schon länger/öfter/konsequenter als Gast unterwegs als ich. Ich hatte mich zB vorgestern noch eingeloggt, und tue das auch bestimmt bald wieder.

Bei mir ist das nur Fauhlheit bzw sonstiger Psycho-Kram ("Eigentliche bin ich gerade voll und ganz mit XY beschäftigt und kann gar nicht wirklich im Forum rumhängen ...").

-zecki

Xmas
2006-02-16, 15:19:32
Ich hatte mich zB vorgestern noch eingeloggt, und tue das auch bestimmt bald wieder.
Ja hoffentlich. Du hast PM.

Crushinator
2006-02-16, 16:36:52
Wie unschwer zu erkennen ist, habe ich da oben ein paarmal Quote- und Code-Tags durcheinandergeschmissen. Ich möchte mich für die schlechte Lesbarkeit entschuldigen. Wenn ich euch mal in der Kneipe treffe, spendiere ich euch dafür ein Wässerchen.
Ich hoffe, ich habe sie nun richtig gesetzt. :)

Gast
2006-02-16, 17:27:48
Ungetestete Lösung

int main(int argc, char* argv[])
{
using namespace std;

/*
Für die Berechnung des Endkapitals eines Sparplans mit verschiedenen Laufzeiten ist ein Programm SPARPLAN.CPP zu entwickeln. Das Anfangskapital und die Laufzeit in Jahren sind über die Tastatur einzugeben. Der Zinssatz ist nach der Laufzeit gestaffelt:

bis 2 Jahre 2.8% p.a. (wohl per anno oder ?)
über 2 bis 10 Jahre 3.8% p.a.
über 10 Jahre 4.5% p.a.

Es soll das Endkapital berechnet und mit 2 Nachkommastellen ausgegeben werden. Das Programm soll beliebig viele Zinsberechnungen ermöglichen (Abbruchbedingung: Anfangskapital=0).

Die Formel für die Berechnung des Endkapitals lautet:

Endkapital=Anfangskapital* (1+Zinssatz/100) HOCH Laufzeit
Hinweis: Zur Potenzierung können sie die ´Funktion pow() verwenden.
*/
double zins=0.0; //
int laufzeit=0;
double endkapital=0.0;
double Anfangskapital=2.0;
while(Anfangskapital!=0.0)
{
std::cout<<"Gib Anfangskapital ein!"<<std::endl;
std::cin>>Anfangskapital;
if(Anfangskapital==0.0)
{
return 0;
}
std::cout<<"Gib die Anzahl der Jahre ein!"<<std::endl;
cin>>laufzeit;

if(laufzeit<2)
{
zins=2.8;
}
else if(laufzeit>2&&laufzeit<10)
{
zins=3.8;
}
else if(laufzeit>10)
{
zins=4.5;
}

endkapital=Anfangskapital* pow((1+zins/100.0),laufzeit);
std::cout<<"Endkapital:"<<endkapital<<::std::endl;
}
return 0;
}

Tidus
2006-02-16, 19:15:41
ich hab mir die lösung nicht angeschaut, will ich auch nicht.
Mein Programm an sich funktioniert nun, aber ich krieg das mit der Abbruchbedingung einfach nicht hin. hier mal das Programm:


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

#pragma hdrstop

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

#pragma argsused

#include <iostream.h>
#include <iomanip.h>
#include <math.h>

int main(int argc, char* argv[])
{
char weiter = 'j';
double kapital;
double endkapital;
double zinssatz;
int laufzeit;

do
{
endkapital = 0.0;
cout << fixed << setprecision(2) << endl;
cout << "Bitte geben sie das gewünschte Kaiptal ein: ";
cin >> kapital;
cout << "Bitte geben sie die Laufzeit in Jahren ein: ";
cin >> laufzeit;
if (laufzeit > 10)
{
zinssatz = 4.5;
}
else
{
if (laufzeit > 2 )
{
zinssatz = 3.8;
}
else
{
zinssatz = 2.8;
}
}
endkapital = kapital * pow((1 + zinssatz / 100), laufzeit);

cout << "Ihr Endkapital beträgt: " << endkapital << endl;
cout << "Weitere Berechnung eingeben? (J/N) ";
cin >> weiter;
}
while (weiter == 'j' || weiter == 'J');
return 0;
}


Zur Erinnerung: Abbruchbedingung soll sein: Anfangskapital =0.
Wer kann mir dabei noch helfen ?

Expandable
2006-02-16, 19:23:04
Gnah!! Es gibt kein iostream.h und kein iomanip.h! LASS DAS .h WEG! Oder ist Dein Compiler zu blöd dafür und es geht nicht ohne?

Wenn Du eh nachfragst, ob weiter berechnet werden soll, macht die Abbruchbedingung mit AK = 0 wenig Sinn. Ansonsten einfach in der While-Schleife überprüfen, ob AK != 0 gilt.

Simon
2006-02-16, 19:25:14
Zur Erinnerung: Abbruchbedingung soll sein: Anfangskapital =0.
Wer kann mir dabei noch helfen ?
zeckensack hats doch oben step-by-step geschrieben, was du machen sollst. Genauso wie es da steht, funktioniert es auch =)
Machs erstmal ohne Berechnung, nur mit Einlesen des Anfangskapitals und dann Abbruch.


Was sind das eigentlich für komische pragmas???

Coda
2006-02-16, 19:25:22
Expandable, gib es auf. Das wird sich solange nicht ändern bis alle Compiler sich so verhalten wie der von MS. Radikale Fehlermeldung.

Tidus
2006-02-16, 19:25:48
Gnah!! Es gibt kein iostream.h und kein iomanip.h! LASS DAS .h WEG! Oder ist Dein Compiler zu blöd dafür und es geht nicht ohne?

Wenn Du eh nachfragst, ob weiter berechnet werden soll, macht die Abbruchbedingung mit AK = 0 wenig Sinn. Ansonsten einfach in der While-Schleife überprüfen, ob AK != 0 gilt.
Diese Abbruchbedingnung ist Teil der Aufgabe -_-

Und ja ich MUSS das .h schreiben. So is Borland C++ Builder 5 nunmal.
Und den MUSS ich auch benutzen.

Tidus
2006-02-16, 19:26:47
Expandable, gib es auf. Das wird sich solange nicht ändern bis alle Compiler sich so verhalten wie der von MS. Radikale Fehlermeldung.
Ich kann doch nix dafür ;(

Coda
2006-02-16, 19:50:28
Doch. Borland müsste auch die standardkonformen Header mitliefern, ich kann mirs einfach nicht vorstellen. So alt ist der Compiler nicht.

Tidus
2006-02-20, 07:17:42
Doch. Borland müsste auch die standardkonformen Header mitliefern, ich kann mirs einfach nicht vorstellen. So alt ist der Compiler nicht.
wie bekommen es aber so beigebracht. und wenn ich das .h weglasse spuckt er mir ne fehlermeldung aus.

Coda
2006-02-20, 07:22:30
Was sind denn das für Lehrmethoden? Das ist ja Steinzeit...

HellHorse
2006-02-20, 11:36:01
Waahhh, ihr wollt doch nicht wirklich floating points nehmen, wenn es um Geld geht! :ucrazy2:

Coda
2006-02-20, 15:12:14
Ich denke es ist nur ein Beispiel, da kann man das gerade noch so durchgehen lassen X-D

Tidus
2006-02-20, 20:11:51
Was sind denn das für Lehrmethoden? Das ist ja Steinzeit...
Deutschlands (Berufs)Schulen eben :rolleyes:

Chris Lux
2006-02-20, 21:32:04
Waahhh, ihr wollt doch nicht wirklich floating points nehmen, wenn es um Geld geht! :ucrazy2:
ähm wo ist das problem?

Pinoccio
2006-02-21, 00:16:36
[fp für geld] ähm wo ist das problem?Weil FP-Zahlenformate nicht nach den kaufmännischen Regeln runden.

mfg Sebastian

Expandable
2006-02-21, 01:25:22
Bei so einer simplen Übungsaufgabe ist das aber wohl wirklich egal ;)

Coda
2006-02-21, 11:48:40
Weil FP-Zahlenformate nicht nach den kaufmännischen Regeln runden.Das ist nichtmal das Problem. Aber bei FP kann es durchaus vorkommen dass schon Stellen vor dem Komma falsch sind nach einer Rechnung mit etwas größeren Zahlen.

Für Geld benützt man normal große 64 oder 128 bit Integer mit fester Kommastelle (also Angabe in 1/10 oder 1/100 Cent z.B.)

Bei so einer simplen Übungsaufgabe ist das aber wohl wirklich egal ;)Ja, vermutlich...

Trap
2006-02-21, 12:09:31
Ich halte es grade bei Beispielen und Übungen für wichtig alles (und damit mein ich wirklich jedes Detail)richtig zu machen.

Wenn man es nichtmal bei so kleinen Aufgaben kann, wie soll man es dann bei echten Aufgaben hinbekommen?

Gast
2006-03-07, 17:30:38
wie bekommen es aber so beigebracht. und wenn ich das .h weglasse spuckt er mir ne fehlermeldung aus.
Auch mit
using namespace std;
?

GloomY
2006-03-10, 23:19:56
Das ist nichtmal das Problem. Aber bei FP kann es durchaus vorkommen dass schon Stellen vor dem Komma falsch sind nach einer Rechnung mit etwas größeren Zahlen.

Für Geld benützt man normal große 64 oder 128 bit Integer mit fester Kommastelle (also Angabe in 1/10 oder 1/100 Cent z.B.)Oder man benutzt einfach einen Prozessor, welcher Hardwareunterstützung für "fixed point decimal numbers" bietet.

Allerdings weiss ich nicht, in wie fern man dies direkt aus Hochsprachen wie C o.ä. nutzen kann...