Konflikte header
-
Wenn ich folgendes vereinbare:
#include <iostream>
#include <iomanip>
using namespace std;void main () {
double d = 0.0123456789;
cout << setprecision(10) << fixed << d << '\n'; //10 stellen
cout << setw(6) << setfill('0') << setprecision(2) << fixed << d << '\n'; //2 stellen
}funktioniert es.
Füge ich jedoch z.B #include<fstream.h> (zwecks Datei ein und auslesen) hinzu kommt es zu fehlermeldungen
a) woran liegt das? b) wir kann ich es beheben?
c) wie lese ich daten aus wenn ich <fstream> verwende möchte?
(bisher: ofstream output2("ku.txt");
for (zaehler3=0;zaehler3<nvar;zaehler3++){
for (zaehler2=0;zaehler2<nvar;zaehler2++){
output2<<Ku[zaehler3][zaehler2]<<"\t";
if(zaehler2==(nvar-1)) output2<<endl;}}
output2.close();)
-
Mit #include <fstream> müßte es eigentlich klappen. fstream.h ist IMHO deprecated.
Und btw: Es müßte eigentlich int main () heißen!
-
ein weiteres problem: <<setprecision(30) <<Ku[1][1];
setprecision scheint nicht auf arrays zu wirken....wo kann der Fehler liegen?
-
Eisvogel schrieb:
ein weiteres problem: <<setprecision(30) <<Ku[1][1];
setprecision scheint nicht auf arrays zu wirken....
Mumpitz!
Was kommt raus, was hättest du erwartet, und was ist Ku[1][1]?
-
Versuch es mal in dem du Ku[][] castest.
z.B.cout<<setprecision(30) <<(double)Ku[1][1];
-
danke es klappt,
was versteht man aber unter castest?
-
Du sagst, als was eine Variable/Rückgabewert gewertet werden soll.
double i=16.66; cout<<(int)i<<endl;
gibt i als int aus, also 16
-
bitte nicht den (alten) C-Cast verwenden, Standard C++ bietet
int blub = 10; static_cast<double>(blub); //der sicherste reinterpret_cast<double>(blub); //der brutale const_cast<double>(blub); //in dem fall der unnütze dynamic_cast //hier nicht zu gebrauchen und den funktionsstyle cast double(blub); //kann aber zu namensschwierigkeiten kommen- lieber static_cast
ich denke, in dem fall reicht static_cast, aber es kommt darauf an, welcher typ sich gecastet werden soll.