Verzweigungen, Schleifen und Felder in C++



  • @wob sagte in Verzweigungen, Schleifen und Felder in C++:

    Naja, "totaler Mist" ist was anderes. Sieht halt wie ein Anfängerprogramm aus

    Das hast du wohl völlig falsch verstanden (bzw. offenbar nicht gelesen): ich habe gesagt, was idR als Eigenleistung ausreichend ist, um hier gute Hilfe zu bekommen. Dieses stumpf kopierte Lösungsprogramm habe ich mir weder angeschaut noch irgendwie bewertet.



  • @Jockelx

    Das hast du wohl völlig falsch verstanden

    Ah, ok. Dann volle Zustimmung. Ich dachte nur, dass meine ersten Programme genauso ausgesehen haben (nur in Pascal). Also viel zu wenig in Funktionen ausgelagert, magische Werte im Programm (was hier - sehr zu meinem Horror - in der Aufgabenstellung vorgeschlagen wird!) usw.

    @Ana448 sagte in Verzweigungen, Schleifen und Felder in C++:

    Ich habe überhaupt keine Ahnung, wie das aussehen soll.

    Worauf beziehst du dich jetzt? Das "Geben Sie eine ganze Zahl zwischen 4 und 12 ein: "; hast du doch schon erledigt?! (wenn auch nur mit Wiederholung der Bedingung (a < 4 || a > 12) - versuch mal, diese Bedingung nur 1x schreiben zu müssen)

    Ich dachte, es geht dir nur noch darum, ausschließlich gerade Zahlen auszugeben?

    So können Sie C++ überprüfen lassen, ob eine Zahl gerade oder ungerade ist: 13%2 liefert den Wert 1.

    Dann kannst du dir überlegen, ob du das bei jeder Ausgabe in einer Loop über alle ganzen Zahlen im Bereich prüfst oder ob du in der Loop einfach immer 2 weiter gehst und nur einmalig den Anfangswert anpasst (Dazu steht ja in der Aufgabe auch drin, wie man den Wert einer Variablen um 2 erhöht).



  • @wob
    int main()

    {
    cout << "Geben Sie eine ganze Zahl zwischen 4 und 12 ein: ";
    if(a < 4 || a > 12) cout << i <<" ";
    return 0;
    }
    

    Bei mir geht es nicht, was mache ich verkehrt?
    Ich weiß es nicht, wie es weiter geht..



  • Es geht so weiter, das du den Fehler identifizierst und ihn behebst. "geht nicht" ist keine Fehlerbeschreibung.



  • Das ist der Anfang des Programms. Ist es richtig?

    int a, b;
    cout << "Geben Sie eine Zahl zwischen 4 und 12 ein: ";

    do {
    		 cin >> a;
    		 if(a < 4 || a > 12)
    	    cout<< "Versuchen Sie es erneut, die Zahl muss zwischen 4 und 12 liegen: ";
    	}
    
    while(a < 4 || a > 12);
    	    cout << "Wählen Sie zwischen vorwärts (Zahl 1) und rückwärts: ";
    
             cin >> b;


  • Wenn das der Anfang des Programms ist, dann ist das nicht richtig.



  • @Ana448 warum denn jetzt rückwärts?
    Es soll doch ein Zahl eingegeben werden, die um mindestens 3 größer ist als a

    Das funktioniert auch nicht anders als bei a

    cout << "Geben Sie eine Zahl..... ein: ";   // Text für den Benutzer
    
    do {
        cin >> b;  // Eingabe 
        if(   Testausdruck )  // Test für die Fehlermeldung
            cout<< "Versuchen Sie es erneut, die Zahl ... : ";  // Fehlermeldung
     
    }
    while( Testausdruck );  // Test, ob Eingabe erfolgreich war und somit die Schleife zuende ist
    


  • @DirkB
    Danke!

    So weit bin ich jetzt..

    cout << "Geben Sie eine Zahl zwischen 4 und 12 ein: ";

    do {
    		 cin >> b;
    		 if(a < 4 || a > 12)
    	    cout<< "Versuchen Sie es erneut, die Zahl muss zwischen 4 und 12 liegen: ";
    	}
    
    while(a < 4 || a > 12);


  • @Ana448 Welche Bedingungen muss b erfüllen?

    Ich hatte extra ... in die Texte und Testausdruck geschrieben, weil es nichts mit 4 und 12 zu tun hat.



  • @DirkB
    Ich habe keine Ahnung davon, und dachte, dass ich hier eine Hilfe bekommen kann.
    Leider ist es nur Zeitverschwendung.


  • Mod

    @Ana448 sagte in Verzweigungen, Schleifen und Felder in C++:

    Leider ist es nur Zeitverschwendung.

    Das hast du richtig erkannt. Closed.


Anmelden zum Antworten