DO-WHILE Fehler immernoch



  • do
        {
                                    cout << "Geben Sie ihr Schussziel an: " << endl;
                                    cin >> TargetLetter >> TargetNumber;
                                    cin.clear(); 
                                    cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
                                    for(i=0;i<AmountOfShips;i++)
                                    {
                                                                if((TargetLetter == ComputerLetters[i]) && (TargetNumber == ComputerNumbers[i]))
                                                                {                    
                                                                cout << "Treffer!!"<<endl;
                                                                ComputerNumbers[i] = 0;
                                                                }
                                    }
    
        }while(ComputerNumbers[0] != 0 && ComputerNumbers[1] != 0 && ComputerNumbers[2] != 0);
    

    Hallo Leute, irgendwo in meiner Bedingung ist ein Fehler..ich finde ihn einfach nicht... Treffe ich einen Wert, das bedeutet wird zB ComputerNumber[0] auf 0 gesetzt, springt er automatisch aus der Schleife.. bitte um Hilfe.. ComputerNumbers ist ein Array vom Typ Int mit 3 "Plätzen", indem einen Random generierte Zahl zwischen 0 und 13 steht.. LG Mike



  • Noch schaue ich nicht in den Code, zu ugly.



  • Du hast jetzt nicht beschrieben, was eigentlich das Problem ist ... aber vielleicht willst du in der Schleifenbedingung den || statt dem && Operator verwenden.



  • Bashar schrieb:

    Du hast jetzt nicht beschrieben, was eigentlich das Problem ist ... aber vielleicht willst du in der Schleifenbedingung den || statt dem && Operator verwenden.

    Hallo, du hast recht... so banal mit || funktionierts.. ist ja eh klar..weil ich ja nach != die Bedingung setze und nicht == 0... Danke !


Anmelden zum Antworten