DO-WHILE-Fehler



  • Und die Einrückung, die Du hattest, war schon ein wenig komisch. Unter Profis wäre die sogar unhöflich gewesen.

    Ab besten immer mal wieder und anfangs immer vor dem Posten kurz von der IDE richten lassen. Bei Code::Blocks der Menupunkt "Format using AStyle".

    Werde ich beim nächsten Mal beachten, danke !!



  • Skym0sh0 schrieb:

    Gewöhn dich an einen solchen Ton in Programmiererforen. Da gehts rabiater zu als bei Mama aufem Schoß 😉

    Wie du deinen Code einrückst oder nicht, das hat keinen semantischen Unterschied. Dem Compiler ist Schönheit und Übersichtlichkeit egal, dafür ists ein Programm.

    Aber ein Mensch hat's weit schwerer. Fremde, die deinen Code noch nicht gesehen haben, finden langsamer und schlechter hinein. Oder werden sogar ganz abgeschreckt und schauen erst gar nicht rein.

    Und irgendwann kommst auch du an den Punkt, wo du dich mal eben verliest und vertust, und dann setzt du eine Klammer falsch. Und das wird nicht immer einen Compilerfehler geben. Und dann wirst du merken: "Oh schaise, wo ist mein Fehler? ich hab doch alles richtig gemacht."

    Da hast du Recht was den Code und das Einlesen betrifft! Mit der Mama muss ich dir vll widersprechen ! hehe 😉 LG



  • Ich hab mal einen hilfreichen Plan hochgeladen, damit man sieht, welche Klammern zu welchen gehören.
    http://www.youscreen.de/mrhofmez31.jpg



  • MikeTheT schrieb:

    Ihr könnt ihr gerne sagen was ich besser machen soll, ihr kennt euch sicher besser aus als ich ! Aber wie, ist mir sehr wichtig... LG und bitte um weitere Hilfestellungen

    Habe ich ja gemacht. Sogar mit Begründung.

    Dein eigentliches Problem ist aber ein anderes.
    Wie sieht es damit aus.



  • DirkB schrieb:

    Dein eigentliches Problem ist aber ein anderes.
    Wie sieht es damit aus.

    DirkB schrieb:

    Dein eigentliches Problem ist aber ein anderes.
    Wie sieht es damit aus.

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

    Hallo Dirk, schau bitte in die IF-Schleife..ich bilde mir ein, dass ich hier ComputerLetters[i] auf NULL setze..bin mir aber nicht sicher ob es so funktioniert... auch ob der Ausdruck in der while schleife so funktioniert/richtig ist... das problem und wie es sich zeigt hab ich ganz am anfang schon erklärt.. LG Michi ..so jetzt müsste es auch deutlich besser zu lesen sein LG



  • Schau dir doch mal die while-Bedingung ganz genau an.



  • um es noch genauer zu machen. Was ist der Unterschied zwischen ComputerLetters und ComputerLetters[i]?



  • Hallo, ich glaube der Fehler liegt schon davor irgendwo.. lasse ich mir in der While mittels :

    cout << TargetLetter[i] << ComputerLetters[i] << endl << TargetNumber[i] << ComputerNumbers[i] << endl;
    

    Die Werte anzeigen, zeigt er mir für ComputerLetters[i] gar nichts an und für ComputerNumbers[i] 224 die ganze zeit..obwohl es eine Zahl zwischen 0 und 13 sein sollte LG

    Ich habe vermutet das wenn ich CumputerLetters != Null setze, das ganze Array damit interpretiert wird, und ich nicht jedes einzelne per Adresse angeben muss.. LG Mike



  • Nochmal.
    Welchen Typ hat ComputerLetters
    und welchen ComputerLetters[i]



  • Braunstein schrieb:

    Nochmal.
    Welchen Typ hat ComputerLetters
    und welchen ComputerLetters[i]

    Hallo einen Fehler hab ich schon...es gibt natürlich kein i in der do-while-schleife..wodurch er irgendwelche Werte hat ist eh klar...

    Das eine ist ein Typ Char das andere ein Typ Char-Array falls du darauf hinaus willst. LG


Anmelden zum Antworten