<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Problem bei Zahlenrate Programm]]></title><description><![CDATA[<p>Hallo Liebe C++ Gemeinde.</p>
<p>Ich habe vor ca 2 Monaten angefangen mich in die C++ Welt einzuarbeiten und folge gerade dem Buch von Heiko Kalista &quot;C++ Für SpieleProgrammierer&quot;.</p>
<p>Da gibt es ein Beispiel Programm wo ein Zahleraten Spiel erstellt wird. Habe das nun Komplett abgetippt und versteh auch die Funktionsweise dieses Programms voll und ganz. jedoch bekomme ich es nicht zum laufen. Linker beschwert sich über&quot; [Linker error] undefined reference to `timeGetTime@0' &quot;</p>
<p>ch hab das besipiel jetzt echt schon 10 mal auseinander genommen und bin grade bischen ratlos. würde mich wahnsinnig freuen wenn mir jemand erklären könnte warum das programm nicht laufen will.</p>
<pre><code class="language-cpp">// Autor: Sebbo
// Datum: 2.2.07
// Title: Zahlenraten
// version: 1.0

#include &lt;iostream&gt;
#include &lt;windows.h&gt;

using namespace std;

#pragma comment (lib, &quot;winmm.lib&quot;)

// Funktionsprototypen
//
int Spielen (int Level);
int WaehleLevel (int Level);
int TesteHighscore (int Punkte, int Highscore);
void ZeigeInfos();

// Hauptprogramm
//
int main()
{
    // Variablen
    //
    char Auswahl;           // Gewählter Menüpunkt
    int Level = 5;          // Aktueller Level
    int Highscore = 100;    // Aktueller Highscore

    // Zufallszahlengenerator initialisieren
    srand (timeGetTime ());

    //Verarbeitung des Menüs
    do
    {
        // Menü ausgeben
        //
        cout &lt;&lt; &quot;Zahlenraten - Menue &quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;--------------------&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(N)eues spiel starten&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(L)evel waehlen&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(H)ighscore anzeigen&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(I)nfo&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(B)eenden\n\n&quot;;

        // Eingabe abfragen
        cout &lt;&lt; &quot;Auswahl: &quot;;
        cin &gt;&gt; Auswahl;

        // je nach eingabe verzweigen
        switch (Auswahl)
        {
            //Neues Spiel Starten
            case ('n'):
            case ('N'):
            {
                // Spielen
                int Punkte;
                Punkte = Spielen (Level);

                Highscore = TesteHighscore (Punkte,Highscore);
            }break;

            //Level Wählen?

            case ('l'):
            case ('L'):
            {
                Level = WaehleLevel (Level);
            }break;

            //Highscore anzeigen?
            case ('h'):
            case ('H'):
            {
                cout &lt;&lt; &quot;Der Aktuelle Highscore liegt ebi: &quot;;
                cout &lt;&lt; &quot;Highscore &quot; &lt;&lt; &quot;Punkte \n\n&quot;;
            }break;

            //Informationen anzeigen
            case ('i'):
            case ('I'):
            {
                ZeigeInfos ();
            }break;

            // Spiel beenden?
            case ('b'):
            case ('B'):
            {
                cout &lt;&lt; &quot;Spiel beendet.&quot; &lt;&lt; endl;

            }break;

            // Falsche eingabe ?
            default:
            {
                cout &lt;&lt; &quot;Falsche Eingabe!\n\n&quot;;

            }
        }
    }while (Auswahl != 'b' &amp;&amp; Auswahl != 'B'); // Spiel beenden?

    cout &lt;&lt; &quot;Bis zum naechsten mal&quot; &lt;&lt; endl;

    return 0;
} // main

//Zeige Infos
//
// Aufgabe: Informationenj zum spiel zeigen
//
void ZeigeInfos ()
{
    cout &lt;&lt; &quot;Zahlenraten V1.0&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Uebungsspiel zur C++ Programmierung&quot; &lt;&lt; endl &lt;&lt; endl;
} // Zeige infos

// Waehle level
//
// Aufgabe: Neuen Level waehlen
//
int WaehleLevel (int Level)
{
    int NeuerLevel;

    do
    {
        // Neuen Level Waehlen
        cout &lt;&lt; &quot;Aktueller Level &quot; &lt;&lt; Level &lt;&lt; endl;
        cout &lt;&lt; &quot;Neuer Level: &quot;;
        cin &gt;&gt; NeuerLevel;

        // Ungueltige eingabe
        if (NeuerLevel &lt;1 || NeuerLevel &gt;10)
        {
            // Fehlermeldung
            cout &lt;&lt; &quot;Ungueltige Eingabe. 1-10&quot; &lt;&lt; endl;
        }
    }while (NeuerLevel &lt; 1 || NeuerLevel &gt; 10);

    // Gewählten Level zurück geben
    return NeuerLevel;
} // Waehle Level

// Spielen
//
// Aufgabe Das eigendliche Spiel
//
int Spielen (int Level)
{
    int Zufallszahl;            // Zufallszahl die erraten werden muss
    int GerateneZahl = 0;       // Zahl die der spieler eingibt
    int Bereich = Level * 10;   // Bereich der Zufalls Zahl
    int Versuche =0;            // Anzahl der bisherigen versuche
    int Punkte = 0;             // Punktestand

    // Zufallszahl ermitteln
    Zufallszahl = (rand()%Bereich)+1;

    // Bereich ausgeben, in dem erraten wird

    cout &lt;&lt; &quot;Die gesuchte Zahl liegt zwischen 1 und &quot;;
    cout &lt;&lt; Bereich &lt;&lt; endl;

    // Solange raten bis die zahl gefunden wurde
    while (GerateneZahl != Zufallszahl)
    {
        cout &lt;&lt; &quot;Dein Tipp: &quot;;
        cin &gt;&gt; GerateneZahl;

        Versuche++;

        // Zahl hat nicht gestimmt, also hinweis ausgeben
        if (GerateneZahl &lt; Zufallszahl)
        cout &lt;&lt; &quot;Die gesuchte Zahl ist groesser&quot; &lt;&lt; endl;
        if (GerateneZahl &gt; Zufallszahl)
        cout &lt;&lt; &quot;Die geratene Zahl ist kleiner&quot; &lt;&lt; endl;

    }
    // Die zahl wurde eraten!
    cout &lt;&lt; &quot;\nGeschafft! &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Du hast die Zahl nach &quot;&lt;&lt; Versuche;
    cout &lt;&lt; &quot; Versuchen erraten!\n\n&quot;;

    // Punkte berechnen
    // Desto weniger versuche und je höher das level
    // umso mehr Punkte bekommt man
    //
    Punkte = Bereich - Versuche +1;
    Punkte *= Level;

    // Wenn mehr versuche benötigt wurden, als es Zahlen gibt,
    // Kann das ergebnis negativ sein.
    //
    if (Punkte &lt; 0)
        Punkte = 0;

    // Punkte ausgeben
    cout &lt;&lt; &quot;Punkte : &quot; &lt;&lt; Punkte  &lt;&lt; endl;

    // Punkte zurück geben
    return Punkte;
} // Spielen

// TesteHighscore
//
// Aufgabe: Prüfen ob der Hioghscroe geknackt wurde
//
int TesteHighscore( int Punkte, int Highscore)
{
    // Prüfen ob der highsore geknackt wurde
    if (Punkte &gt; Highscore)
    {
        cout &lt;&lt; &quot;Glueckwunsch. Neuer Highscore!\n\n&quot;;
        Highscore = Punkte;
    }
    else
    {
        cout &lt;&lt; &quot;Leider kein neuer Highscore\n\n&quot;;
    }

    //Highscore zurückgeben
    return Highscore;
}//TesteHighscore
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/177648/problem-bei-zahlenrate-programm</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 16:04:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/177648.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Apr 2007 14:25:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Mon, 02 Apr 2007 14:25:39 GMT]]></title><description><![CDATA[<p>Hallo Liebe C++ Gemeinde.</p>
<p>Ich habe vor ca 2 Monaten angefangen mich in die C++ Welt einzuarbeiten und folge gerade dem Buch von Heiko Kalista &quot;C++ Für SpieleProgrammierer&quot;.</p>
<p>Da gibt es ein Beispiel Programm wo ein Zahleraten Spiel erstellt wird. Habe das nun Komplett abgetippt und versteh auch die Funktionsweise dieses Programms voll und ganz. jedoch bekomme ich es nicht zum laufen. Linker beschwert sich über&quot; [Linker error] undefined reference to `timeGetTime@0' &quot;</p>
<p>ch hab das besipiel jetzt echt schon 10 mal auseinander genommen und bin grade bischen ratlos. würde mich wahnsinnig freuen wenn mir jemand erklären könnte warum das programm nicht laufen will.</p>
<pre><code class="language-cpp">// Autor: Sebbo
// Datum: 2.2.07
// Title: Zahlenraten
// version: 1.0

#include &lt;iostream&gt;
#include &lt;windows.h&gt;

using namespace std;

#pragma comment (lib, &quot;winmm.lib&quot;)

// Funktionsprototypen
//
int Spielen (int Level);
int WaehleLevel (int Level);
int TesteHighscore (int Punkte, int Highscore);
void ZeigeInfos();

// Hauptprogramm
//
int main()
{
    // Variablen
    //
    char Auswahl;           // Gewählter Menüpunkt
    int Level = 5;          // Aktueller Level
    int Highscore = 100;    // Aktueller Highscore

    // Zufallszahlengenerator initialisieren
    srand (timeGetTime ());

    //Verarbeitung des Menüs
    do
    {
        // Menü ausgeben
        //
        cout &lt;&lt; &quot;Zahlenraten - Menue &quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;--------------------&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(N)eues spiel starten&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(L)evel waehlen&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(H)ighscore anzeigen&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(I)nfo&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(B)eenden\n\n&quot;;

        // Eingabe abfragen
        cout &lt;&lt; &quot;Auswahl: &quot;;
        cin &gt;&gt; Auswahl;

        // je nach eingabe verzweigen
        switch (Auswahl)
        {
            //Neues Spiel Starten
            case ('n'):
            case ('N'):
            {
                // Spielen
                int Punkte;
                Punkte = Spielen (Level);

                Highscore = TesteHighscore (Punkte,Highscore);
            }break;

            //Level Wählen?

            case ('l'):
            case ('L'):
            {
                Level = WaehleLevel (Level);
            }break;

            //Highscore anzeigen?
            case ('h'):
            case ('H'):
            {
                cout &lt;&lt; &quot;Der Aktuelle Highscore liegt ebi: &quot;;
                cout &lt;&lt; &quot;Highscore &quot; &lt;&lt; &quot;Punkte \n\n&quot;;
            }break;

            //Informationen anzeigen
            case ('i'):
            case ('I'):
            {
                ZeigeInfos ();
            }break;

            // Spiel beenden?
            case ('b'):
            case ('B'):
            {
                cout &lt;&lt; &quot;Spiel beendet.&quot; &lt;&lt; endl;

            }break;

            // Falsche eingabe ?
            default:
            {
                cout &lt;&lt; &quot;Falsche Eingabe!\n\n&quot;;

            }
        }
    }while (Auswahl != 'b' &amp;&amp; Auswahl != 'B'); // Spiel beenden?

    cout &lt;&lt; &quot;Bis zum naechsten mal&quot; &lt;&lt; endl;

    return 0;
} // main

//Zeige Infos
//
// Aufgabe: Informationenj zum spiel zeigen
//
void ZeigeInfos ()
{
    cout &lt;&lt; &quot;Zahlenraten V1.0&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Uebungsspiel zur C++ Programmierung&quot; &lt;&lt; endl &lt;&lt; endl;
} // Zeige infos

// Waehle level
//
// Aufgabe: Neuen Level waehlen
//
int WaehleLevel (int Level)
{
    int NeuerLevel;

    do
    {
        // Neuen Level Waehlen
        cout &lt;&lt; &quot;Aktueller Level &quot; &lt;&lt; Level &lt;&lt; endl;
        cout &lt;&lt; &quot;Neuer Level: &quot;;
        cin &gt;&gt; NeuerLevel;

        // Ungueltige eingabe
        if (NeuerLevel &lt;1 || NeuerLevel &gt;10)
        {
            // Fehlermeldung
            cout &lt;&lt; &quot;Ungueltige Eingabe. 1-10&quot; &lt;&lt; endl;
        }
    }while (NeuerLevel &lt; 1 || NeuerLevel &gt; 10);

    // Gewählten Level zurück geben
    return NeuerLevel;
} // Waehle Level

// Spielen
//
// Aufgabe Das eigendliche Spiel
//
int Spielen (int Level)
{
    int Zufallszahl;            // Zufallszahl die erraten werden muss
    int GerateneZahl = 0;       // Zahl die der spieler eingibt
    int Bereich = Level * 10;   // Bereich der Zufalls Zahl
    int Versuche =0;            // Anzahl der bisherigen versuche
    int Punkte = 0;             // Punktestand

    // Zufallszahl ermitteln
    Zufallszahl = (rand()%Bereich)+1;

    // Bereich ausgeben, in dem erraten wird

    cout &lt;&lt; &quot;Die gesuchte Zahl liegt zwischen 1 und &quot;;
    cout &lt;&lt; Bereich &lt;&lt; endl;

    // Solange raten bis die zahl gefunden wurde
    while (GerateneZahl != Zufallszahl)
    {
        cout &lt;&lt; &quot;Dein Tipp: &quot;;
        cin &gt;&gt; GerateneZahl;

        Versuche++;

        // Zahl hat nicht gestimmt, also hinweis ausgeben
        if (GerateneZahl &lt; Zufallszahl)
        cout &lt;&lt; &quot;Die gesuchte Zahl ist groesser&quot; &lt;&lt; endl;
        if (GerateneZahl &gt; Zufallszahl)
        cout &lt;&lt; &quot;Die geratene Zahl ist kleiner&quot; &lt;&lt; endl;

    }
    // Die zahl wurde eraten!
    cout &lt;&lt; &quot;\nGeschafft! &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Du hast die Zahl nach &quot;&lt;&lt; Versuche;
    cout &lt;&lt; &quot; Versuchen erraten!\n\n&quot;;

    // Punkte berechnen
    // Desto weniger versuche und je höher das level
    // umso mehr Punkte bekommt man
    //
    Punkte = Bereich - Versuche +1;
    Punkte *= Level;

    // Wenn mehr versuche benötigt wurden, als es Zahlen gibt,
    // Kann das ergebnis negativ sein.
    //
    if (Punkte &lt; 0)
        Punkte = 0;

    // Punkte ausgeben
    cout &lt;&lt; &quot;Punkte : &quot; &lt;&lt; Punkte  &lt;&lt; endl;

    // Punkte zurück geben
    return Punkte;
} // Spielen

// TesteHighscore
//
// Aufgabe: Prüfen ob der Hioghscroe geknackt wurde
//
int TesteHighscore( int Punkte, int Highscore)
{
    // Prüfen ob der highsore geknackt wurde
    if (Punkte &gt; Highscore)
    {
        cout &lt;&lt; &quot;Glueckwunsch. Neuer Highscore!\n\n&quot;;
        Highscore = Punkte;
    }
    else
    {
        cout &lt;&lt; &quot;Leider kein neuer Highscore\n\n&quot;;
    }

    //Highscore zurückgeben
    return Highscore;
}//TesteHighscore
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1258026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258026</guid><dc:creator><![CDATA[Sebbo]]></dc:creator><pubDate>Mon, 02 Apr 2007 14:25:39 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Mon, 02 Apr 2007 14:33:46 GMT]]></title><description><![CDATA[<p>hmm ...<br />
hab den kompletten txt kopiert und bei mir in meinem Programm eingefügt ...</p>
<p>bei mir meckert er wie folgt:</p>
<p>Unerwartetes Dateiende waerend der Suche nach der Direktive fuer die vorkompilierte Header-Datei</p>
<p>bist du dir sicher dass du das komplette programm gepostet hast ??</p>
<p>mfg jhonny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1258034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258034</guid><dc:creator><![CDATA[JhonnyTown]]></dc:creator><pubDate>Mon, 02 Apr 2007 14:33:46 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Mon, 02 Apr 2007 14:34:51 GMT]]></title><description><![CDATA[<p>und zwar meckert er ganz am ende ....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1258036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258036</guid><dc:creator><![CDATA[JhonnyTown]]></dc:creator><pubDate>Mon, 02 Apr 2007 14:34:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Mon, 02 Apr 2007 14:59:57 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>eigentlich sollte das gehen...<br />
Da du die winmm.lib eh nur brauchst um srand zu initialisieren, was eh quatsch ist,<br />
würde ich das weglassen und mit time initialisieren.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/15155">@JhonnyTown</a>: Das liegt an deinen Projekteinstellungen bzgl der pch's.</p>
<p>Jockel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1258044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258044</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Mon, 02 Apr 2007 14:59:57 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Mon, 02 Apr 2007 15:18:51 GMT]]></title><description><![CDATA[<p>ah ... ok danke ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1258057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258057</guid><dc:creator><![CDATA[JhonnyTown]]></dc:creator><pubDate>Mon, 02 Apr 2007 15:18:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Mon, 02 Apr 2007 17:46:54 GMT]]></title><description><![CDATA[<p>Ich hab das komplette Programm eins zu eins abgetippt und ständig geschaut wo der fehler ist. Ich benutze auch die selbe IDE wie im Buch empfohlen. Wäre ziemlich geschockt wenn er da ein nicht lauffähiges programm ins lehrbuch packt.</p>
<p>Und da ich noch ein extrem Anfänger bin kann ich mit dem timeGetTime noch garnix anfangen ich weis nur das dies für die zufallszahl gebraucht wird.</p>
<p>Hab das wie du oben beschrieben hast mal auskommentiert und es lief. bin aber n neugieriges kerlchen und mich interesiert warum das nich klappt (wenn ers doch im buch so stehn hat)</p>
<p>danke schonmal für die super antworten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1258130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258130</guid><dc:creator><![CDATA[Sebbo]]></dc:creator><pubDate>Mon, 02 Apr 2007 17:46:54 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Mon, 02 Apr 2007 21:55:31 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;windows.h&gt; 
#include &lt;mmsystem.h&gt; //&lt;&lt; Diesen Header noch einbinden, dann wird auch timeGetTime () erkannt und mit eingebunden!
</code></pre>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1258224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258224</guid><dc:creator><![CDATA[balduin]]></dc:creator><pubDate>Mon, 02 Apr 2007 21:55:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Tue, 03 Apr 2007 12:22:10 GMT]]></title><description><![CDATA[<p>Hallo, hab das probiert was du mir vorgeschlagen hast aber ich bekomme immernoch den selben fehler.</p>
<p>[Linker error] undefined reference to `timeGetTime@0'<br />
ld returned 1 exit status<br />
C:\Dev-Cpp\Projekts\Zahlenraten2\Makefile.win [Build Error] [Projekt1.exe] Error 1</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1258561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258561</guid><dc:creator><![CDATA[Sebbo]]></dc:creator><pubDate>Tue, 03 Apr 2007 12:22:10 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Tue, 03 Apr 2007 12:27:29 GMT]]></title><description><![CDATA[<p>@Balduin: Linker-Fehler wirst du kaum durch zusätzliche Includes beheben können <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/15372">@Sebbo</a>: Geh mal in die Projekteinstellungen und trag dort die &quot;winmm.lib&quot; bei den Linker-Optionen ein. Oder denk nochmal über Jockelx' Aussage nach und ändere das &quot;srand(timeGetTime());&quot; in &quot;srand(time(NULL));&quot; (dafür brauchst du noch die &lt;ctime&gt;) - mit Standard-Funktionen bist du idR besser beraten als mit systemspezifischen Lösungen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1258569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258569</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 03 Apr 2007 12:27:29 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Tue, 03 Apr 2007 16:06:43 GMT]]></title><description><![CDATA[<p>also ich hab das ganze nochma überarbeitet und habs jetzt soweit laufen.</p>
<p>habe das srand auf NULL gesetzt. Dabei is mir aufgefallen das es auch ohne das includieren der &lt;ctime&gt; funktioniert.</p>
<p>Bin auf jedenfall ziemlich beeindruckt wie Komplex C++ im vergleich zu Visual Basic ist. Werde mich da voll reinknien!<br />
Und auch sehr krass was für ein Maß an wissen hier in diesem Forum steht!!!</p>
<p>Danke für eure antworten. falls jemand noch verbesserungsvorschläge hat bitte Posten.</p>
<p>hier nochmal das aktuelle listing</p>
<pre><code class="language-cpp">// Autor: Sebbo
// Datum: 2.2.07
// Title: Zahlenraten
// version: 1.0

#include &lt;iostream&gt;
#include &lt;windows.h&gt;

using namespace std;

#pragma comment (lib, &quot;winmm.lib&quot;)

// Funktionsprototypen
//
int Spielen (int Level);
int WaehleLevel (int Level);
int TesteHighscore (int Punkte, int Highscore);
void ZeigeInfos();

// Hauptprogramm
//
int main()
{
    // Variablen
    //
    char Auswahl;           // Gewählter Menüpunkt
    int Level = 5;          // Aktueller Level
    int Highscore = 100;    // Aktueller Highscore

    // Zufallszahlengenerator initialisieren
    //srand (timeGetTime());
    srand(time(NULL));
    //Verarbeitung des Menüs
    do
    {
        // Menü ausgeben
        //
        cout &lt;&lt; &quot;Zahlenraten - Menue &quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;--------------------&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(N)eues spiel starten&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(L)evel waehlen&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(H)ighscore anzeigen&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(I)nfo&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(B)eenden\n\n&quot;;

        // Eingabe abfragen
        cout &lt;&lt; &quot;Auswahl: &quot;;
        cin &gt;&gt; Auswahl;

        // je nach eingabe verzweigen
        switch (Auswahl)
        {
            //Neues Spiel Starten
            case ('n'):
            case ('N'):
            {
                // Spielen
                int Punkte;
                Punkte = Spielen (Level);

                Highscore = TesteHighscore (Punkte,Highscore);
            }break;

            //Level Wählen?

            case ('l'):
            case ('L'):
            {
                Level = WaehleLevel (Level);
            }break;

            //Highscore anzeigen?
            case ('h'):
            case ('H'):
            {
                cout &lt;&lt; &quot;Der Aktuelle Highscore liegt ebi: &quot;;
                cout &lt;&lt; &quot;Highscore &quot; &lt;&lt; &quot;Punkte \n\n&quot;;
            }break;

            //Informationen anzeigen
            case ('i'):
            case ('I'):
            {
                ZeigeInfos ();
            }break;

            // Spiel beenden?
            case ('b'):
            case ('B'):
            {
                cout &lt;&lt; &quot;Spiel beendet.&quot; &lt;&lt; endl;

            }break;

            // Falsche eingabe ?
            default:
            {
                cout &lt;&lt; &quot;Falsche Eingabe!\n\n&quot;;

            }
        }
    }while (Auswahl != 'b' &amp;&amp; Auswahl != 'B'); // Spiel beenden?

    cout &lt;&lt; &quot;Bis zum naechsten mal&quot; &lt;&lt; endl;

    return 0;
} // main

//Zeige Infos
//
// Aufgabe: Informationenj zum spiel zeigen
//
void ZeigeInfos ()
{
    cout &lt;&lt; &quot;Zahlenraten V1.0&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Uebungsspiel zur C++ Programmierung&quot; &lt;&lt; endl &lt;&lt; endl;
} // Zeige infos

// Waehle level
//
// Aufgabe: Neuen Level waehlen
//
int WaehleLevel (int Level)
{
    int NeuerLevel;

    do
    {
        // Neuen Level Waehlen
        cout &lt;&lt; &quot;Aktueller Level &quot; &lt;&lt; Level &lt;&lt; endl;
        cout &lt;&lt; &quot;Neuer Level: &quot;;
        cin &gt;&gt; NeuerLevel;

        // Ungueltige eingabe
        if (NeuerLevel &lt;1 || NeuerLevel &gt;10)
        {
            // Fehlermeldung
            cout &lt;&lt; &quot;Ungueltige Eingabe. 1-10&quot; &lt;&lt; endl;
        }
    }while (NeuerLevel &lt; 1 || NeuerLevel &gt; 10);

    // Gewählten Level zurück geben
    return NeuerLevel;
} // Waehle Level

// Spielen
//
// Aufgabe Das eigendliche Spiel
//
int Spielen (int Level)
{
    int Zufallszahl;            // Zufallszahl die erraten werden muss
    int GerateneZahl = 0;       // Zahl die der spieler eingibt
    int Bereich = Level * 10;   // Bereich der Zufalls Zahl
    int Versuche =0;            // Anzahl der bisherigen versuche
    int Punkte = 0;             // Punktestand

    // Zufallszahl ermitteln
    Zufallszahl = (rand()%Bereich)+1;

    // Bereich ausgeben, in dem erraten wird

    cout &lt;&lt; &quot;Die gesuchte Zahl liegt zwischen 1 und &quot;;
    cout &lt;&lt; Bereich &lt;&lt; endl;

    // Solange raten bis die zahl gefunden wurde
    while (GerateneZahl != Zufallszahl)
    {
        cout &lt;&lt; &quot;Dein Tipp: &quot;;
        cin &gt;&gt; GerateneZahl;

        Versuche++;

        // Zahl hat nicht gestimmt, also hinweis ausgeben
        if (GerateneZahl &lt; Zufallszahl)
        cout &lt;&lt; &quot;Die gesuchte Zahl ist groesser&quot; &lt;&lt; endl;
        if (GerateneZahl &gt; Zufallszahl)
        cout &lt;&lt; &quot;Die gesuchte Zahl ist kleiner&quot; &lt;&lt; endl;

    }
    // Die zahl wurde eraten!
    cout &lt;&lt; &quot;\nGeschafft! &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Du hast die Zahl nach &quot;&lt;&lt; Versuche;
    cout &lt;&lt; &quot; Versuchen erraten!\n\n&quot;;

    // Punkte berechnen
    // Desto weniger versuche und je höher das level
    // umso mehr Punkte bekommt man
    //
    Punkte = Bereich - Versuche +1;
    Punkte *= Level;

    // Wenn mehr versuche benötigt wurden, als es Zahlen gibt,
    // Kann das ergebnis negativ sein.
    //
    if (Punkte &lt; 0)
        Punkte = 0;

    // Punkte ausgeben
    cout &lt;&lt; &quot;Punkte : &quot; &lt;&lt; Punkte  &lt;&lt; endl;

    // Punkte zurück geben
    return Punkte;
} // Spielen

// TesteHighscore
//
// Aufgabe: Prüfen ob der Hioghscroe geknackt wurde
//
int TesteHighscore( int Punkte, int Highscore)
{
    // Prüfen ob der highsore geknackt wurde
    if (Punkte &gt; Highscore)
    {
        cout &lt;&lt; &quot;Glueckwunsch. Neuer Highscore!\n\n&quot;;
        Highscore = Punkte;
    }
    else
    {
        cout &lt;&lt; &quot;Leider kein neuer Highscore\n\n&quot;;
    }

    //Highscore zurückgeben
    return Highscore;
}//TesteHighscore
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1258709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258709</guid><dc:creator><![CDATA[Sebbo]]></dc:creator><pubDate>Tue, 03 Apr 2007 16:06:43 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Tue, 03 Apr 2007 16:17:24 GMT]]></title><description><![CDATA[<p>Sebbo schrieb:</p>
<blockquote>
<p>habe das srand auf NULL gesetzt. Dabei is mir aufgefallen das es auch ohne das includieren der &lt;ctime&gt; funktioniert.</p>
</blockquote>
<p>Verbesserungsvorschlag:<br />
Includiere ctime. Wenn irgendjemand anderes (windows.h) für dich ctime oder time.h inkludierst, hast Du allerhöchstens Glück. Ist aber keinerlei Beleg für &quot;es auch ohne das includieren der &lt;ctime&gt; funktioniert.&quot; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>EDIT: Weiteres<br />
- Du könntest auf toupper(Auswahl) (aus &lt;cctype&gt;) switchen, dann bräuchtest Du nur die Großbuchstaben prüfen<br />
- Die Klammern um die chars in den case-Labels ist unnötig (sieht komisch aus)<br />
- dito für die Schleife - while (toupper(Auswahl) != 'B')</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1258714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258714</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 03 Apr 2007 16:17:24 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Wed, 04 Apr 2007 10:05:41 GMT]]></title><description><![CDATA[<p>ok cool danke für deine verebsserungs vorschläge.</p>
<p>Das die klammern für die chars unötig sidn erklärt Heiko Kalista in seinem Buch, gibt aber den rat es zwecks lesbarkeit zu machen.</p>
<p>Würde da gern wissen ob das sich nun echt anzugewöhnen lohnt oder nicht?</p>
<blockquote>
<p>Du könntest auf toupper(Auswahl) (aus &lt;cctype&gt;) switchen, dann bräuchtest Du nur die Großbuchstaben prüfen</p>
</blockquote>
<p>mit meinem derzeitigen wissen kann ich das leider noch nicht umsetzen werde mir das aber im hinterkopf bewahren und in angriff nehmen bzw zumindest mal ausprobieren wenn ich soweit bin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259111</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259111</guid><dc:creator><![CDATA[Sebbo]]></dc:creator><pubDate>Wed, 04 Apr 2007 10:05:41 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Wed, 04 Apr 2007 10:08:01 GMT]]></title><description><![CDATA[<p>Sebbo schrieb:</p>
<blockquote>
<p>Das die klammern für die chars unötig sidn erklärt Heiko Kalista in seinem Buch, gibt aber den rat es zwecks lesbarkeit zu machen.</p>
<p>Würde da gern wissen ob das sich nun echt anzugewöhnen lohnt oder nicht?</p>
</blockquote>
<p>Ich kenne das Buch nicht, stelle nur selbst fest dass ich diese Schreibweise noch in keinem Programm gesehen habe. Deshalb sagte ich &quot;sieht komisch aus&quot;.</p>
<p>Deine Entscheidung, die case-Labels mit oder ohne Klammern zu notieren, ist ein Schritt dahin Dir Deinen eigenen Stil anzueignen - mach was Du am lesbarsten findest <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259112</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 04 Apr 2007 10:08:01 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Sat, 07 Apr 2007 17:58:27 GMT]]></title><description><![CDATA[<p>So da bin ich wieder. neuer tag neues problem *g*</p>
<p>Bei dem Zahlenraten hat mich noch bischen gestört das der bildschirm bzw die console so unordentlich ausah usw. hab dann also nach ner lösung gesucht wie ich das bischen ordentlicher hinbekomme und kam dann auf system(&quot;CLS&quot;)</p>
<p>desweiteren störte mich das z.b bei der Levelwahl funktion das programm in eine endlosschleife rutscht wenn man ein buchstabe eingibt. das wollte ich mit einer if abfrage abfangen. wenn ein buchstabe eingegeben wurde sollte die funktion den alten Level wert einfach mit return zurück geben so das die funktion abgebrochen wird und der user eine entsprechende meldung bekommt.</p>
<p>So nun ist es aber so das es hier zu einem erneuten bug kommt den ich mir nicht erklären kann und ich unbedingt hilfe brauche. allein schon um das zu verstehn!</p>
<p>ich poste hier nochmal den gesamten überarbeiteten Code</p>
<p>------<br />
Der BUG: Wenn man sich ein Level wählt und statt ner zahl ein buchstabe tippt rutscht das programm in eine art endlosschleife.<br />
------</p>
<pre><code class="language-cpp">// Autor: Sebbo
// Datum: 6.4.07
// Title: Zahlenraten
// version: 1.0

#include &lt;iostream&gt;
#include &lt;windows.h&gt;
#include &lt;ctime&gt;

using namespace std;

#pragma comment (lib, &quot;winmm.lib&quot;)

// Funktionsprototypen
//
int Spielen (int Level);
int WaehleLevel (int Level);
int TesteHighscore (int Punkte, int Highscore);
void ZeigeInfos();

// Hauptprogramm
//
int main()
{
    // Variablen
    //
    char Auswahl;           // Gewählter Menüpunkt
    int Level = 5;          // Aktueller Level
    int Highscore = 100;    // Aktueller Highscore

    // Zufallszahlengenerator initialisieren
    //srand (timeGetTime());
    srand(time(NULL));
    //Verarbeitung des Menüs
    do
    {
        system(&quot;CLS&quot;);
        // Menü ausgeben
        //
        cout &lt;&lt; &quot;Zahlenraten - Menue &quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;--------------------&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(N)eues spiel starten&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(L)evel waehlen&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(H)ighscore anzeigen&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(I)nfo&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;(B)eenden\n\n&quot;;

        // Eingabe abfragen
        cout &lt;&lt; &quot;Auswahl: &quot;;
        cin &gt;&gt; Auswahl;

        // je nach eingabe verzweigen
        switch (Auswahl)
        {
            //Neues Spiel Starten
            case ('n'):
            case ('N'):
            {
                // Spielen
                system(&quot;CLS&quot;);
                int Punkte;
                Punkte = Spielen (Level);

                Highscore = TesteHighscore (Punkte,Highscore);
                system(&quot;PAUSE&quot;);
            }break;

            //Level Wählen?

            case ('l'):
            case ('L'):
            {
                system(&quot;CLS&quot;);
                Level = WaehleLevel (Level);
                //system(&quot;PAUSE&quot;);
            }break;

            //Highscore anzeigen?
            case ('h'):
            case ('H'):
            {
                system(&quot;CLS&quot;);
                cout &lt;&lt; &quot;### Highscore ###\n&quot;;
                cout &lt;&lt; &quot;Der Aktuelle Highscore liegt bei: &quot;;
                cout &lt;&lt; Highscore &lt;&lt; &quot; Punkte \n\n&quot;;
                system(&quot;PAUSE&quot;);
            }break;

            //Informationen anzeigen
            case ('i'):
            case ('I'):
            {
                system(&quot;CLS&quot;);
                ZeigeInfos ();
                system(&quot;PAUSE&quot;);
            }break;

            // Spiel beenden?
            case ('b'):
            case ('B'):
            {
                system(&quot;CLS&quot;);
                cout &lt;&lt; &quot;### Spiel Beenden ###\n\n&quot;;
                cout &lt;&lt; &quot;Danke fuers Spielen!\n&quot;;
                cout &lt;&lt; &quot;Spiel beendet.&quot; &lt;&lt; endl;

            }break;

            // Falsche eingabe ?
            default:
            {
                cout &lt;&lt; &quot;Falsche Eingabe!\n\n&quot;;

            }
        }
    }while (Auswahl != 'b' &amp;&amp; Auswahl != 'B'); // Spiel beenden?

    cout &lt;&lt; &quot;Bis zum naechsten mal&quot; &lt;&lt; endl;

    return 0;
} // main

//Zeige Infos
//
// Aufgabe: Informationenj zum spiel zeigen
//
void ZeigeInfos ()
{
    cout &lt;&lt; &quot;### Informationen ###\n&quot;;
    cout &lt;&lt; &quot;Zahlenraten V1.0&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Uebungsspiel zur C++ Programmierung&quot; &lt;&lt; endl &lt;&lt; endl;
} // Zeige infos

// Waehle level
//
// Aufgabe: Neuen Level waehlen
//
int WaehleLevel (int Level)
{
    int NeuerLevel;

    do
    {
        // Neuen Level Waehlen
        cout &lt;&lt; &quot;### Levelauswahl ###\n&quot;;
        cout &lt;&lt; &quot;Waehlen sie einen Level (1 bis 10)\n\n&quot;;
        cout &lt;&lt; &quot;Aktueller Level &quot; &lt;&lt; Level &lt;&lt; endl;
        cout &lt;&lt; &quot;Neuer Level: &quot;;
        cin &gt;&gt; NeuerLevel;

        // Ungueltige eingabe
        if (NeuerLevel &lt;1 || NeuerLevel &gt;10)
        {
            // Fehlermeldung
            cout &lt;&lt; &quot;Ungueltige Eingabe. 1-10&quot; &lt;&lt; endl;
        }
        if(NeuerLevel != 1 &amp;&amp; NeuerLevel != 2 &amp;&amp;
           NeuerLevel != 3 &amp;&amp; NeuerLevel != 4 &amp;&amp;
           NeuerLevel != 5 &amp;&amp; NeuerLevel != 6 &amp;&amp;
           NeuerLevel != 7 &amp;&amp; NeuerLevel != 8 &amp;&amp;
           NeuerLevel != 9 &amp;&amp; NeuerLevel != 10)
        {
            // Fehlermeldung
            // Bei ungueltiger eingabe durch buchstaben z.b soll der Level
            // Unverändert wieder zurück gegeben werden
            cout &lt;&lt; &quot;Level nicht geaendert&quot; &lt;&lt; endl;
            NeuerLevel = Level;
            return NeuerLevel;
        }

        cout &lt;&lt; endl &lt;&lt; endl;
    }while (NeuerLevel &lt; 1 || NeuerLevel &gt; 10);

    // Gewählten Level zurück geben
    return NeuerLevel;
} // Waehle Level

// Spielen
//
// Aufgabe Das eigendliche Spiel
//
int Spielen (int Level)
{
    int Zufallszahl;            // Zufallszahl die erraten werden muss
    int GerateneZahl = 0;       // Zahl die der spieler eingibt
    int Bereich = Level * 10;   // Bereich der Zufalls Zahl
    int Versuche =0;            // Anzahl der bisherigen versuche
    int Punkte = 0;             // Punktestand

    // Zufallszahl ermitteln
    Zufallszahl = (rand()%Bereich)+1;

    // Bereich ausgeben, in dem erraten wird

    cout &lt;&lt; &quot;### Neues Spiel begonnen ###\n\n&quot;;
    cout &lt;&lt; &quot;Die gesuchte Zahl liegt zwischen 1 und &quot;;
    cout &lt;&lt; Bereich &lt;&lt; endl;

    // Solange raten bis die zahl gefunden wurde
    while (GerateneZahl != Zufallszahl)
    {
        cout &lt;&lt; &quot;Dein Tipp: &quot;;
        cin &gt;&gt; GerateneZahl;

        Versuche++;

        // Zahl hat nicht gestimmt, also hinweis ausgeben
        if (GerateneZahl &lt; Zufallszahl)
        cout &lt;&lt; &quot;Die gesuchte Zahl ist groesser&quot; &lt;&lt; endl;
        if (GerateneZahl &gt; Zufallszahl)
        cout &lt;&lt; &quot;Die gesuchte Zahl ist kleiner&quot; &lt;&lt; endl;

    }
    // Die zahl wurde eraten!
    cout &lt;&lt; &quot;\nGeschafft! \a&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Du hast die Zahl nach &quot;&lt;&lt; Versuche;
    cout &lt;&lt; &quot; Versuchen erraten!\n\n&quot;;

    // Punkte berechnen
    // Desto weniger versuche und je höher das level
    // umso mehr Punkte bekommt man
    //
    Punkte = Bereich - Versuche +1;
    Punkte *= Level;

    // Wenn mehr versuche benötigt wurden, als es Zahlen gibt,
    // Kann das ergebnis negativ sein.
    //
    if (Punkte &lt; 0)
        Punkte = 0;

    // Punkte ausgeben
    cout &lt;&lt; &quot;Punkte : &quot; &lt;&lt; Punkte  &lt;&lt; endl;

    // Punkte zurück geben
    return Punkte;
} // Spielen

// TesteHighscore
//
// Aufgabe: Prüfen ob der Hioghscroe geknackt wurde
//
int TesteHighscore( int Punkte, int Highscore)
{
    // Prüfen ob der highsore geknackt wurde
    if (Punkte &gt; Highscore)
    {
        cout &lt;&lt; &quot;Glueckwunsch. Neuer Highscore!\n\n&quot;;
        Highscore = Punkte;
    }
    else
    {
        cout &lt;&lt; &quot;Leider kein neuer Highscore\n\n&quot;;
    }

    //Highscore zurückgeben
    return Highscore;
}//TesteHighscore
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1260526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1260526</guid><dc:creator><![CDATA[Sebbo]]></dc:creator><pubDate>Sat, 07 Apr 2007 17:58:27 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Sat, 07 Apr 2007 17:56:47 GMT]]></title><description><![CDATA[<p>Hey lasst mich nich hängen ich verzweifel. kann sich den code bitte jemand mal ansehn und mir erklärung geben wo der fehler liegt? Ich hab probiert und probiert ich werd aus der sache nicht schlau <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich glaube das die eingaben von cin irgendwie weiterhin bestehen und das deswegen diese art von endlosschleife auftritt.<br />
Frage mich dann aber warum das passiert da ich ja nach der If abfrage eingedlich genauso die funktion mit nem legalen wert verlasse wie am eigendlichen ende...</p>
<p>bitte schaut sich das ma einer an</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1261297</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1261297</guid><dc:creator><![CDATA[Sebbo]]></dc:creator><pubDate>Sat, 07 Apr 2007 17:56:47 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Sat, 07 Apr 2007 18:25:17 GMT]]></title><description><![CDATA[<p>aus cin &gt;&gt; neuerlevel machste das:</p>
<pre><code class="language-cpp">cin &gt;&gt; neuerlevel;
while(cin.fail()) {
    cin.ignore(std::numeric_limits&lt;int&gt;::max)); // ohne meine tolle ide kann ich das net auswendig
    cin.clear();
    cout &lt;&lt; &quot;Du Depp, du musst eine Zahl eingeben! Nochmal: &quot;;
    cin &gt;&gt; neuerlevel;
}
</code></pre>
<p>Kannst dir das ja in eine Funktion packen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1261311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1261311</guid><dc:creator><![CDATA[Entenwickler]]></dc:creator><pubDate>Sat, 07 Apr 2007 18:25:17 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Sat, 07 Apr 2007 19:39:46 GMT]]></title><description><![CDATA[<p>oah bombe !!! Ich danke dir ich hab da heute bestimmt 4 stunden rumgebastelt und den fehler gesucht und durch die ausgaben bin ich dann darauf gekommen das er die cin eingabe nich löscht.</p>
<p>Habe dein codeteil angepasst und eingebaut, ergab aber leider ne menge fehler. eventuell hab ich die richtige header file nich eingebunden(Bin noch Noobie *g*)</p>
<p>auf jedenfall hab ich jetzt ne lösung und zwar setz ich vor jede cin aufforderung ein cin.clear()</p>
<p>ich weis nich ob das ne gute lösung is aber ich weis mir bisher nich weiter zu helfen.</p>
<p>Nochwas: habe mir heute überlegt ob man nich den eingabe wert als String aufnimmt und den dann irgendwie umwandelt in ne Int. das müsste die sache ja auch einfacher machen oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1261350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1261350</guid><dc:creator><![CDATA[Sebbo]]></dc:creator><pubDate>Sat, 07 Apr 2007 19:39:46 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Zahlenrate Programm on Sun, 08 Apr 2007 10:40:23 GMT]]></title><description><![CDATA[<p>Sollte das eine Frage sein nach der Umwandlung von string nach int sieh dich mal in der FAQ um. &quot;Einmal Zahl nach String und zurück&quot; oder so ähnlich heiszt der Thread.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1261561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1261561</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Sun, 08 Apr 2007 10:40:23 GMT</pubDate></item></channel></rss>