2 Probleme für meine Projekt arbeit



  • Maisinator schrieb:

    Hier bietet sich eig. die Verwendung von switch an

    Kann man machen, wird aber ganz schön länglich. Eigentlich reicht hier auch ein Array oder bei der Multiplikator kann man sogar eine Formel (10^ring3) nehmen.



  • ja, das hast Du richtig verstanden. bin zwar nicht mehr zum versuchen gekommen, aber heute nachmittag gehts.

    ich verstehe auch nicht wie ich beim Ring 3 die Abfrage hinbekomme, dass man nur zwischen zahl 0-6 und 10 und 11 wählen kann. Habe jetzt fast alles durchprobiert aber begreife es nicht. Obwohl ich eigentlich dieses Fach nicht wirklich mag,(hauptsächlich weil ich es nicht verstehe) finde ich, steckt eine grosses Potential dahinter um sich mehr damit zu beschäftigen. Es lässt mich manchmal gar nicht mehr los 🙂

    Also ich werde am Nachmittag noch mal alles durchprobieren und melde mich wieder.

    Hier ist noch der Code vom RIng 3 der nicht funktionieren will

    do 
    			{
    			cout <<"geben sie die Farbe des 3. Rings ein (0 bis 6 || 10 oder 11): ";
    			cin >> ring3;
    		}while((ring3<0) || (ring3>6) || (ring3==10) || (ring3==11));
    


  • So gehts:

    while((ring3<0 || ring3>6) && ring3!=10 && ring3!=11)
    

    Die Schleife wird solange ausgeführt wie ring3 nicht zwischen 0 und 6 ist, und auch nicht 10, und auch nicht 11 ist. Ich hab mich gerade aber auch ein paarmal vertan bin ich die richtige Bedingung hatte 😉



  • sebi707 schrieb:

    So gehts:

    while((ring3<0 || ring3>6) && ring3!=10 && ring3!=11)
    

    Die Schleife wird solange ausgeführt wie ring3 nicht zwischen 0 und 6 ist, und auch nicht 10, und auch nicht 11 ist. Ich hab mich gerade aber auch ein paarmal vertan bin ich die richtige Bedingung hatte 😉

    Wenigstens war ich schon mal nicht weit daneben. Ich hatte die 2 && auch schon probiert, aber wahrscheinlich die falschen vergleichsoperatoren

    Danke 😃



  • Man kann doch auch gleich den Text 1:1 umsetzen und dann die Abfrage negieren:

    do
    {
        cout <<"geben sie die Farbe des 3. Rings ein (0 bis 6 || 10 oder 11): ";
        cin >> ring3;
    } while(!((ring3>=0 && ring3<=6) || ring3==10 || ring3==11));
    

    Mittels der De Morgansche Gesetze ergibt das dann den von sebi707 beschriebenen Ausdruck.

    PS: Die Klammern um das && habe ich nur zur Verdeutlichung hingeschrieben - auch ohne wäre es richtig, da && stärker bindet als ||.



  • Th69 schrieb:

    Man kann doch auch gleich den Text 1:1 umsetzen und dann die Abfrage negieren:

    do
    {
        cout <<"geben sie die Farbe des 3. Rings ein (0 bis 6 || 10 oder 11): ";
        cin >> ring3;
    } while(!((ring3>=0 && ring3<=6) || ring3==10 || ring3==11));
    

    Mittels der De Morgansche Gesetze ergibt das dann den von sebi707 beschriebenen Ausdruck.

    PS: Die Klammern um das && habe ich nur zur Verdeutlichung hingeschrieben - auch ohne wäre es richtig, da && stärker bindet als ||.

    Danke Dir für den Tip, aber ich glaube das bring ich nicht auf die Reihe.
    Mal schauen. eins nach dem anderen

    EDIT: hab den letzten Beitrag nach mehrmaligem Lesen doch nun auch verstanden. Ist die gleiche Abfrage einfach auf einen anderen Weg.

    Zu der Frage wegen den 4 oder 5 ringen:
    Sehe ich das richtig, das diese Abfrage eine if/else ist und gehe ich da richtig vor das ich beim if einfach die 4 Ringe nach einander ausgebe und bei else dann alle 5.
    Ich habs mal so gemacht, habe aber natürlich jede menge fehler



  • Th69 schrieb:

    Man kann doch auch gleich den Text 1:1 umsetzen und dann die Abfrage negieren:

    do
    {
        cout <<"geben sie die Farbe des 3. Rings ein (0 bis 6 || 10 oder 11): ";
        cin >> ring3;
    } while(!((ring3>=0 && ring3<=6) || ring3==10 || ring3==11));
    

    Mittels der De Morgansche Gesetze ergibt das dann den von sebi707 beschriebenen Ausdruck.

    PS: Die Klammern um das && habe ich nur zur Verdeutlichung hingeschrieben - auch ohne wäre es richtig, da && stärker bindet als ||.

    Also dieser Code will bei mir so nicht funktionieren,mit oder ohne klammern.



  • Bei mir schon. Sicher das du alles richtig mit kopiert hast? Auch die Negation (Ausrufezeichen) am Anfang? Oder was funktioniert nicht richtig?



  • ja, brauchte mehrere anläufe, weil du so viele klammer gemacht hast:)
    im besten Fall, hats bei mir eben auch noch die anderen Zahlen die nicht erwünscht sind auch eingelesen, oder dann einfach nicht weitergegangen zu ring4



  • Hallo alle miteinander

    Ich bin jetzt noch auf zwei Probleme gestossen und weiss nicht mehr weiter.
    Das Code hat funktioniert, bis ich die abfrage für die toleranzwerte hinzugefügt habe. bin auch wirklich nicht sicher ob das so korrekt ist.

    wenn jemand noch mal lust hätte drauf zu schauen und mir vielleicht noch paar tipps geben kann, wäre ich sehr dankbar. die berechnung für den zweiten toleranzwert funktioniert auch nicht richtig.

    vielen Dank im voraus

    http://ideone.com/e.js/t8RwjG


Anmelden zum Antworten