error C2248, streamcode macht mucken



  • wow...

    ein kleines Zeichen und kein weiterer Fehler. Vielen Dank.
    Wenn sich doch noch ein Fehler findet werd ich mich hier nochmal melden.

    Vielen Dank.



  • sp.ChefKoch schrieb:

    void main (void)
    

    Wird das von deinem Compiler toleriert? Mach es doch standardgemäss:

    int main() // oder int main(void), wobei ich zu Ersterem rate
    


  • ja wird es.

    hier mal das ganze programm, falls es jemanden interessiert.
    allerdings ist noch irgendwo ein fehler, da die falschen ergebnisse rauskommen.

    // 
    #include <iostream>
    #include <cmath>
    #include <iomanip>
    #include <string>
    #include <sstream>
    #include <fstream>
    using namespace std;
    double det (double A[3][3])
    {
    	double D;
    	D=A[0][0]*A[1][1]*A[2][2]+A[0][1]*A[1][2]*A[2][0]+A[0][2]*A[1][0]*A[2][1]-A[0][2]*A[1][1]*A[2][0]-A[0][0]*A[1][2]*A[2][1]-A[0][1]*A[1][0]*A[2][2];
    	return D;
    }
    double keyfind(string schluessel,ifstream& balken)
    {
    
    	string Zeile;
    	istringstream iss;
    	while (balken.eof())
    	{
    		while(getline(balken, Zeile));
    		{			
    			if (Zeile[0]==schluessel[0]  && Zeile[1]==schluessel[1] && Zeile[2]==schluessel[2])
    			{
    				Zeile.erase(0,3);
    				double D;
    				iss.str(Zeile);
    				iss >> D;
    				return D;
    			}
    		}
    	}
    }
    double Di(int i, double A[3][3], double b[3])
    {
    	double A2[3][3];
    	for (int j=0; j<3; j++)
    	{
    		for (int k=0; k<3; k++)
    		{
    			if (i==k)
    				A2[j][k]=b[j];
    			else
    				A2[j][k]=A[j][k];
    		}
    	}
    	return det(A2);
    }
    void lingl (double A[3][3],double b[3],double F[3])
    {
    	double D = det(A);
    	for (int i=0; i<3; i++)
    	{		F[i]=Di(i, A, b)/D;
    	}
    
    }
    void main (void)
    {
    	double l[4],delta[3],delta1[3],pi=3.14159,G,b[3],F[3],A[3][3];
    
    	ifstream balken("Balken.dat");
    	ofstream lager("Lager.dat");
    
    	if (!balken)
    	{
    		cerr << "Es ist ein Fehler beim Oeffnen der Datei aufgetreten!" << endl;
    	}
    	else
    	{
    		G=keyfind("G: ",balken);
    		delta[0]=keyfind("D1:",balken);
    		delta[1]=keyfind("D2:",balken);
    		delta[2]=keyfind("D3:",balken);
    		l[0]=keyfind("L1:",balken);
    		l[1]=keyfind("L2:",balken);
    		l[2]=keyfind("L3:",balken); 
    		l[3]=keyfind("L4:",balken);
    
    		delta1[0]=delta[0];
    		delta1[1]=delta[1];
    		delta1[2]=delta[2];
    
    		for (int i=0;i<3;i++)
    		{
    			delta[i]=delta[i]*pi/180;
    		}
    		for (int i=0;i<3;i++)
    		{
    			A[0][i]=cos(delta[i]);
    			A[1][i]=sin(delta[i]);
    			A[2][i]=l[i]*A[1][i];
    		}
    
    		A[0][2]=-A[0][2];
    
    		b[0]=0;
    		b[1]=G;
    		b[2]=G*l[3];
    
    		lingl(A,b,F);	
    
    		lager << setprecision(1) << fixed;
    		for (int i = 0; i<=3; i++)
    			lager << "L" << i+1 << " = \t" << setw(8) << l[i] << "\t";
    			lager << endl;
    		for (int i = 0; i<=2; i++)
    			lager << "D" << i+1 << " = \t" << setw(8) << delta1[i] << "\t";
    			lager << endl << "G  = \t" << setw(8) << G << endl;
    		for (int i = 0; i<=2; i++)
    			lager << "F" << i+1 << " = \t" << setw(8) << F[i] << "\t";
    		}
    
    	balken.close();
    }
    


  • sp.ChefKoch schrieb:

    void main (void)
    

    Ist ja nett, wie du unsere Vorschläge beachtest. Denkst du, das fördert unsere Hilfsbereitschaft? 🙄

    Und im Übrigen würde ich dir dringend zu C/C++- und nicht Code-Tags raten. Editier doch deinen Beitrag dementsprechend.

    Und was soll diese Art? 115 Zeilen Code zu posten und zu sagen: Ihr könnt mal den Fehler suchen, irgendwas stimmt nicht. Was erwartest du eigentlich?



  • Ich erwarte garnichts, oder hab ich im letzten Beitrag was davon geschrieben, dass ihr den Fehler suchen oder mir dabei helfen sollt!?

    Und wenns dich nich interessiert brauchst du's ja nicht durchzulesen.

    Die Sache mit

    void main (void)
    

    hat übrigens unser Prof vorgegeben.
    Mag sein, dass das Quatsch ist, aber er will's so haben.


  • Mod

    sp.ChefKoch schrieb:

    Mag sein, dass das Quatsch ist, aber er will's so haben.

    Du meinst, er hat was dagegen, korrigiert zu werden?



  • Keine Ahnung, aber ich schätz ihn eigentlich so ein dass ihm bewusst ist was er da schreibt.
    Und es ändert ja nichts an der Funktion des Programmes - jedenfalls nichts was mir auffällt ^^



  • sp.ChefKoch schrieb:

    Keine Ahnung, aber ich schätz ihn eigentlich so ein dass ihm bewusst ist was er da schreibt.

    Mag sein, aber dann hat er seit >10 Jahren kein C++ Buch mehr gelesen. 😉



  • Ich werds ihm ausrichten ^^



  • sp.ChefKoch schrieb:

    Ich erwarte garnichts, oder hab ich im letzten Beitrag was davon geschrieben, dass ihr den Fehler suchen oder mir dabei helfen sollt!?

    sp.ChefKoch schrieb:

    hier mal das ganze programm, falls es jemanden interessiert.
    allerdings ist noch irgendwo ein fehler, da die falschen ergebnisse rauskommen.

    Ich behaupte mal, das kommt einer Aufforderung, die Fehler durchzusuchen, ziemlich nahe.

    sp.ChefKoch schrieb:

    Und wenns dich nich interessiert brauchst du's ja nicht durchzulesen.

    Hab ich auch nicht getan, aber nicht weils mich nicht interessiert hat. Ich mag erstens Mangel von Eigeninitiative und zweitens die Ignorierung der Vorschläge von anderen Usern nicht. Ich wollte es nur mal sagen, möglicherweise haben wir uns falsch verstanden.

    sp.ChefKoch schrieb:

    Und es ändert ja nichts an der Funktion des Programmes - jedenfalls nichts was mir auffällt ^^

    Du hast einfach Glück, dass dein Compiler keine Fehlermeldung ausgibt. Standardkonform ist es deswegen noch lange nicht.


Anmelden zum Antworten