Loader



  • Hallo Community.
    Ich versuche gerade so eine art loader zu programmieren, habe aber (denke ich) einen logik Fehler.Leider komm ich damit gerade nicht zurecht.

    Loader(int Segements,int time,int Size)
    {
    	int Partslength = Size/Segements;
    	int timePerPart = time/Partslength;
    
    for(int i = 0; Segements>i; --Segements)
    {
    	for(int a = 0; Partslength>a; --Partslength)
    	{ 
    		std::cout << "#" << std::endl;
    	}
    	Sleep(timePerPart);
    }
    }
    

    Ich hoffe das man mir helfen kann, denn ich steh gerade ziehmlich auf dem Schlauch.

    Vielen Dank schonmal 😉


  • Mod

    Was soll die Funktion tun? Was tut sie stattdessen, was du nicht erwartest?



  • Tut mir Leid das hab ich vergessen zu schreiben.

    Der aufruf

    Loader(10,500,100);
    

    so nun sollte die funktion das machen :

    10 mal # schreiben
    dann eine eine pause machen von time/Segements

    das ganze so oft bis Segements 0 ist.

    Was sie macht :
    Sie gibt 10 mal # aus und macht nichts mehr.

    Hm ok gerade hab ich etas komisches gemacht :

    Loader(int Segements,int time,int Size)
    {
    	int Partslength = Size/Segements;
    	int timePerPart = time/Segements;
    
    for(int i = 0; Segements>i; --Segements)
    {
        for(int a = 0; Partslength>a; --Partslength)
        {
            std::cout << "#" << std::endl;
        }
        Sleep(timePerPart);
    std::cout << "test" << std::endl;
    } 
    }
    

    test wird jetzt 10 mal angezeigt dazwischen jeweils eine pause von timeperpart ?
    😕


  • Mod

    Welchen Wert hat denn wohl Partslength , wenn die Schleife einmal durch ist?

    Deine for-Schleifen sind von der Zählweise her genau andersrum als man das meistens (und aus gutem Grund) macht.



  • Bitte sag mir ob das jetzt richtig ist :

    Wenn die 2. for schleife 1 mal durch ist ist Pathlenght 0.Dann kommt wieder die erste for schleife und sagt das die 2. for schleife wieder ausgeführt werden soll, da aber Pathlenght schon 0 ist macht die 2. for schleife nichts.

    Wenn es so ist wie kann ich es lösen? jedes mal Pathlength erstmal neuberechen befor die 2. for schleife einsetzt ?



  • wie wärs wenn du 'a' als zählvariable benutzt?

    greetz KN4CK3R



  • for(int i = 0; i<Segements; ++i)
    {
        for(int a = 0; a<Partslength; ++a)
        {
            std::cout << "#" << std::endl;
        }
        Sleep(timePerPart);
    	std::cout << "-" << std::endl;
    }
    

Anmelden zum Antworten