Wie programmiere ich mehrere Runden in C++?

5 Antworten

Du könntest eine for-Schleife verwenden ... diese lässt einen Abschnitt des Quellcodes so oft wiederholen, bis eine bestimmte Bedingung zutrifft:

for (int i = 1; i++; i > 12)
{
   // Dies wird 12-mal wiederholt.
}

Den Kommentar könntest du jetzt durch deinen Code vom ersten bis zum letzten cout ersetzen.

Auch könntest du die Anzahl der Wiederholungen variabel machen. Dafür bietet sich aber eher eine do-while-Konstruktion an:

string antwort;
do
{
   // Dies wird mindestens einmal aufgerufen.
   cout << "Revanche?";
   cin >> antwort;
} while (cin == "Ja")

Lies dir auch gern noch mal diesen Artikel zur for-Schleife auf MSDN [https://msdn.microsoft.com/de-de/library/b80153d8.aspx], diesen zur do-while-Schleife [https://msdn.microsoft.com/de-de/library/b0kk5few.aspx] durch oder schau dir einige dieser Abbildungen an: https://www.google.de/search?q=for+loop&tbm=isch Zumindest mir erscheinen die alle gut :)

Ich hoffe, ich konnte dir helfen. :-)
Frag auch gern noch mal nach :)

Mit freundlichen Grüßen,
KnorxThieus (♂)

33

i < 12 soll das heißen. Die Bedingung muss wahr sein damit die Schleife durchlaufen wird.

1
do
{ ...
cout << "Nochmal (j/n)?"; cin >> nochmal;
}while( nochmal == "j" );

Warum hast du die für C++ für den Anfang entschieden? Magst es direkt schwer haben? 

Zu deiner Frage: mach eine endlosscheife um alles. Unten fragst du dann ab ( benutzereingabe) ob man weiterspielen will und brichst aus wenn man nicht will.

Übrigens sind funktionen praktisch. Probier sie mal aus.

1

Danke, habs jetzt geschafft. Der grund warum ich c++ genommen habe ist weil ich öfters gehört habe das dies die mächtigste Sprache sei und wenn ich diese Sprache kann der umstieg auf eine andre Sprache viel leichter wäre. Nach c++ würde ich noch gerne Java programmieren.

0
37
@Laserpeter

Mächtig, aber viel zu groß um es als anfangsprache komplett zu beherrschen. Deswegen gibt man Kindern auch keinen wissenschaftlich grafischen Taschenrechner mit wenn sie das 1x1 üben. Lerne lieber mit einer einfachen Sprache wie Python oder Ruby und arbeiter dich hoch. Java ist auch sehr populär, aber auch da wäre es toll wenn du schon etwas erfahrung in anderen Sprachen hast. 

0
1
@FooBar1

Python hat mir persönlich nicht so gefallen. Deshalb werde ich java ausprobieren und schauen wie es mir so gefällt.

0
37
@Laserpeter

Jupp mach das. Ein Blick auf Ruby schadet aber auch nicht. Ist eine Scriptsprache wie Python, aber die einrückung spielt keine Rolle. Scriptsprachen sind erstmal einfacher auszuführen und einfacher zu debuggen, benötigen aber meistens nicht eine komplette Entwicklungsumgebung wie etwa java oder c# (wenn du auf windows unterwegs bist auch eine gute alternative)

0

Wie kann man dieses Würfelspiel mithilfe von Wahrscheinlichkeitsrechnung lösen?

Hallo,

Ich soll eine Aufgabe lösen:

Man hat einen Würfel mit Primzahl Seiten (mindestens 7 Seiten).

Das Spiel wird abgebrochen wenn:

-23 mal keine Primzahl geworfen wurde

-Eine Primzahl gewürfelt wird welche kleiner ist als Würfelseite/2, und danach eine Primzahl welche größer ist als Würfelseite/2

--Eine Primzahl gewürfelt wird welche größer ist als Würfelseite/2, und danach eine Primzahl welche kleiner ist als Würfelseite/2

Ziel des Spiels ist es so häufig wie möglich zu Würfeln. Nun ist die Frage welcher Würfel der Beste ist. Dies kann auch mit einem Programm gelöst werden, jedoch wäre eine Mathematische Rechnung besser für mich.

Mein Ergebnis Ansatz ist: Je größer der Würfel desto besser. Wenn das stimmt, warum ist das denn so?


Habe bereits ein Programm geschrieben:

Dort berechne ich Primzahlen in einen bestimmten Bereich(z.B. bis 1000).

Dannach spiele ich für jeden Würfel x mal. (z.B. 10000 mal) bilde den Mittelwert und schau bei welcher Primzahl am häufigstens gewürfelt wurde.

Ergebnisse:

Im Bereich 0-100: ab 500 Durchläufen pro Würfel, Ergebnis stabil bei 97

Im Bereich 0 -1000: ab 200 000 stabil, Ergebnis bei 347

Warum sind diese Zahlen am Besten aus mathematischer Sicht?

Vielen Vielen Dank für eure Antwort

...zur Frage

Wie gewinnt Patrick Jane immer bei Schere, Stein, Papier?

In Folge 2 der 1. Staffel von "The Mentalist" spielt Jane gegen einen Polizisten Schere, Stein, Papier und gewinnt jedes Mal. Hat jemand eine Ahnung wie er das macht?

...zur Frage

Grafische spiele mit c++ programmieren?

Ich hätte mal eine frage alle sagen zu mir man kann mit c++ auch grfische spiele programmieren stimmt das *?*

...zur Frage

c++ lineare Suche?

ich muss eine klasse ergänzen um die Methode seqsuch(..) fur die sequentielle suche nach einer ganzen Zahl im Feld Die Methode erhält die gesuchte Zahl als parameter wir die Zahl gefunden wird der Index der gefundenen Zahl zurückgeliefert oder -1 wenn die Zahl nicht gefunden wird. kann jemand mir helfen es geht nicht ?

#include <iostream>

#include <cstdlib>

#include <conio.h>

#include <ctime>

using namespace std;

class CZahlen{

private:

  int maxZuf;

  int groesse;

  int anzahl;

  int feld[5000];

public:

  void start()

  {

    anzahl = 0;

    groesse = 5000;

    maxZuf = 100000;

    for(int i= groesse; i>0; i--) feld[i]=0;

  }

  void zufallszahlen(int gz){

    if(gz>groesse)

    {

      cout << "Fehler das Array ist nicht groß genug!" << endl;

      getch();

    }

    else{

      for(int i=0; i<gz;i++){

        feld[i]=rand()%(maxZuf+1);

        anzahl = i;

      }

    }

  }

  void ausgeben()

  {

    if(anzahl==0)

      cout << "Das Array ist leer!" << endl;

    for(int i=0; i<anzahl; i++)

      cout << feld[i] << ", ";

  }

  int seqSuch(int x)

  {

    int pos=0;

    bool gefunden=false;

    do

    {

      if(feld[pos]==x)

      {

        gefunden=true;

      }

    }while (gefunden=false && pos<anzahl);

    if(gefunden=true)

    {

      return pos;

    }

    else

    {

      return -1;

    }

  }

};

int main()

{

  srand(time(NULL));

  CZahlen z1,test;

  z1.start();

  z1.zufallszahlen(10);

  z1.ausgeben();

  cout<<endl;

  z1.zufallszahlen(20);

  z1.ausgeben();

  cout<<endl;

  

  cout<<z1.seqSuch(8);

  cout<< "-- Ende --" <<endl;

}

...zur Frage

Wiso funktioniert das bluej schnick schnack schnuck programm nicht

habe diesen quellcode erstellt:

import java.util.Random; public class STEIN { private int schere; private int stein; private int papier; private int j; private int i; private int S1; private int S2;

public STEIN()
{

    i=0;
    j=0;
    schere=1;
    papier=2;
    stein=3;
}


public void SPIEl()
{
  Random zufall= new Random();

  while (S1==S2)
  {
   int S1= zufall.nextInt(3);
     int S2= zufall.nextInt(3);
  }


  while ( S1!=S2||i<3 ||j<3)
   {
     int S1= zufall.nextInt(3);
     int S2= zufall.nextInt(3);


     if(S1==2)
      {
          if(S2==3)
        {i=i+1;
        }
        else 
        {j=j+1;
        }
    }
        if(S1==3)
        {if (S2==2)
            {j=j+1;
            }
            else 
            { i=i+1;
            }
        }
     else 
     {if (S2==2)
         {i=i+1;
            }
     else 
     j=j+1;
    }

    }
    if (i==3)
     {System.out.println("Spieler 1 gewinnt");
     }
    else if (j==3)
    {System.out.println("Spieler 2 gewinnt");
    }

    } 
}
...zur Frage

notenauswertung in c++? :S

Aufgabenstellung: Notendurchschnitt angeben anzahl der jeweiligen noten angeben(notenspiegel) kann mir einer von euch helfen? //--------------------------------------------------------------------------- int main(int argc, char* argv[])

{

    char note;

    int anzahl = 0;

    clrscr();
    cout<<"Notenauswertung -Klasse - Autor - Datum\n";
    cout<<"Die Noten als Zahl 1..6 eingeben: \n";


    //---------------------Wiederholschleife------------------------------
    do
    {
            note = getche();
            if (note == '1')   cout<<"-sehr gut             \n";
            if (note == '2')   cout<<"-gut                  \n";
            if (note == '3')   cout<<"-befriedigend        \n";
            if (note == '4')   cout<<"-ausreichend         \n";
            if (note == '5')   cout<<"-mangelhaft          \n";
            if (note == '6')   cout<<"-ungenuegend         \n";
            if ((note<'1')||(note>'6')) cout<<"-Falsche eingabe"<<endl;
    }
   while (note != 27);

    //--------------Noten durchschnitt berechnen---------------------------

    {

    }

    // getch();
    return 0;

}

...zur Frage

Was möchtest Du wissen?