Probleme bei einer For-Schleife



  • Schönen Guten Tag,
    ich hab da ein Problem in meinem Programm und zwar wird in der For-Schleife, in der nachfolgenden main Funktion nur Maximal 2 mal durchlaufen, auch wenn ich zum beispiel bei Anzahl der Runden 12 eingebe.

    [code]
    int main(int argc, char **argv)
    {
    	int max;
    	int i=0;
    	int zufall;
    	int runde;
    	unsigned int r ;
    	PGconn     *conn = NULL;
        cout <<"Bitte geben Sie die Anzahl der Fragen im Katalog an"<< endl <<"xx für leichte "<< endl
        		<<"xx für etwas hefigere"<< endl << "xx für alle Fragen"<<endl;
        cin  >>max;
        cout <<"nun Geben Sie bitte die anzahl an Spielrunden ein"<<endl;
        cin>> runde;
        FILE* f = fopen("/dev/random", "r");
    	conn = ConnectDB();
    
    	for ( i=0; i < runde; i++)
    	{
    	cout << " runde "<< i <<endl;
    	fread(&r, sizeof(r), 2, f);
    
        zufall= r%max;
    	FetchRan(conn,zufall);
    
    	//cout << endl <<"Press ENTER to continue....."<<endl ;
    	//getchar();
    	}
    
    	CloseConn(conn);
    
    	return 0;
    }
    int main(int argc, char **argv)
    {
    	int max;
    	int i=0;
    	int zufall;
    	int runde;
    	unsigned int r ;
    	PGconn     *conn = NULL;
        cout <<"Bitte geben Sie die Anzahl der Fragen im Katalog an"<< endl <<"xx für leichte "<< endl
        		<<"xx für etwas hefigere"<< endl << "xx für alle Fragen"<<endl;
        cin  >>max;
        cout <<"nun Geben Sie bitte die anzahl an Spielrunden ein"<<endl;
        cin>> runde;
        FILE* f = fopen("/dev/random", "r");
    	conn = ConnectDB();
    
    	for ( i=0; i < runde; i++)
    	{
    	cout << " runde "<< i <<endl;
    	fread(&r, sizeof(r), 2, f);
    
        zufall= r%max;
    	FetchRan(conn,zufall);
    
    	//cout << endl <<"Press ENTER to continue....."<<endl ;
    	//getchar();
    	}
    
    	CloseConn(conn);
    
    	return 0;
    }
    [/code]
    


  • Schau doch mal mit dem Debugger nach, woran es liegt. Haltepunkt setzen, durchsteppen und Werte und Ablauf überprüfen. 💡



  • hab den Fehler gefunden

    fread(&r, sizeof(r), 2, f); war zu groß das er meine Runden Vaiable Überschrieben hat daher hab ich die 2 in ne 1 geändert und es lief.

    kann geschlossen werden.


Anmelden zum Antworten