Teilerberechnung mit Do-While Schleife



  • Hey,
    Ich möchte ein Programm schreiben, dass alle Teiler einer Zahl berechnet. Das soweit kein Problem.
    Nur möchte ich es so machen, dass man jedes mal nach der Ausgabe der Teiler, wieder eine neue Zahl eingibt und es wieder berechnet, so lange bis man mal 0 eingibt, dann soll das Programm beendet werden.
    In meinem Programm geht ein Durchlauf gut, dann komm ich wieder zur Eingabe der Zahl, doch dann passiert nichts mehr, keine Berechnung.
    Mfg

    int main ()
    {
    	int b, t, a;
    	b=1;
    	do{
    	cout << "\n Zahl eingeben : ";
    	cin >> a;
    
    	while(b <= a){
    		t= a%b;
    		if(t==0){
    			cout << b << endl;
    		}
    
    		b=b+1;
    	}
    }
    	while (a !=0);
    
    system("PAUSE");
    
    }
    


  • Du vergisst b neu zu setzen. Allgemein würde sich eine for Schleife eher anbieten.



  • Vielen dank, da war ich wohl blind 🙂
    Hab das jetzt mit for-schleife gemacht, ist echt viel Übersichtlicher.
    Danke nochmal


Anmelden zum Antworten