Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Problem bei einer Schleife! Hilfe

Empfohlene Antworten

Hi, hab mal veruscht ein Programm zu schreiben, was demn Programm Mastermind ähneln soll, hier ein kleiner ausschnitt:

/ Die Zähl-Schleifen sind dafür zuständig, die 16 Versuche des Users zu ermöglichen.

   do{


     for (y=1;y<=16;y++)

     {


     //Counter für Versuchszähler

     z=z++;



     for (x=0;x<=3;x++)

     {



      // Hier wird der User aufgefordert seine Ratezahlen einzugeben.


      do 

         {


            //Ausgabe Versuche zählen

            cout<<"Sie sind beim "<<z<<". Versuch \n"<<endl;


            cout<<"Gib die "<<x+1<<". Zahl ein"<<endl;

            cin>>feld[x][y];




       //Falls die Zahlen groesser als 6, oder kleiner als 1 sind, erscheint eine Fehlermeldung 

        if ((feld[x][y] < 1) || (feld[x][y] > 6))

          {

           cout<< "Sorry, aber es sind nur Zahlen zwischen 1 und 6 zulaessig!\n";

           system("Pause");

          }

          system("CLS");


       }while((feld[x][y] < 1) || (feld[x][y] > 6));  


     // Hier werden die Ratezahlen mit der Zufallszahl verglichen und die 

     // dementsprechenden Hilfszahlen (0,1,2) ins Hilfsfeld geschrieben


     if (feld[x][y]==feld[0][0]||feld[x][y]==feld[1][0]||feld[x][y]==feld[2][0]||feld[x][y]==feld[3][0]) 

     { 

     feldhilf[x][y]=1; cout<<feldhilf[x][y]<<endl; 

     }



     if (feld[x][y]==feld[x][0]) 

     { 

      feldhilf[x][y]=2; cout<<feldhilf[x][y]<<endl; 

     }   




       if((feldhilf[0][y]&&feldhilf[1][y]&&feldhilf[2][y]&&feldhilf[3][y]==2))

       {

         cout<<"Super, Sie haben den Mastermind Code geknackt!!!\n\n\n\n";

         system("PAUSE");

         system("CLS");

         break;

         }






        if(z==16)

       {

        cout<<"Wenn Sie es jetzt nicht schaffen, den Code zu knacken,\n";

        cout<<"kann Ich ihnen auch nicht mehr helfen!\n\n";

       }





      cout<<feld[0][y]<<feld[1][y]<<feld[2][y]<<feld[3][y]<<   

    " <<<Eingabefeld     Hilfsfeld>>> "

           <<feldhilf[0][y]<<feldhilf[1][y]<<feldhilf[2][y]<<feldhilf[3][y]<<endl; 






      } 


     }


    }while((feldhilf[0][y]&&feldhilf[1][y]&&feldhilf[2][y]&&feldhilf[3][y]==2));  


So und hier hab ich das problem, das wenn ein user den code beim 4. Verusch zum beispiel die meldung das er den code gecknackthat, jedoch wird nicht aus der for schleife rausgegangen und man muss dann noch die restlichen verushcen durchgegehn(bis 16 )

Wenn der user die messsage bekommt, dass er den code geknackt hat, so soll er auch aus der schleife raus und zurück ins hauptmenue gelangen, klappt aber nit!!!!

danke schon mal für eure Hilfe!!!!!

Sorry für die vielen grammatikfehler, bin irgendwie noch n bissl voll:)

Ohne mir den Code durchgelesen zu haben (ja ich gebs ja zu :floet:):

Mach dir ne Triggervariable. Die setzt du auf True, wenn der Code geknackt ist. Ist die Triggervariable dann auf True setzte den Zähler am Ende der for Schleife auf 16 und aus die Maus :D

Watn n triggervaribale ??

Original geschrieben von Mani

Watn n triggervaribale ??

Nee boolsche Variable die du benutzt um bestimmte Ereignisse zu überwachen oder auszulösen .. zu triggern halt ;)

Die brauchste aber gar nicht merk ich grad :floet:

Also du überprüfst am Ende der for Schleife die die 16 Versuche zählt, ob der Code geknackt wurde. (if abfrage)

Wurde er geknackt setzt du den Schleifenzähler auf 16 (=Endwert) und die Schleife läuft nich nochma.

Wenn nicht dann läuft die Schleife halt nochmal ...

Big thx!!

bin glaubich echt noch zu voll um wat auf die beine zu stellen!:beagolisc

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.