<?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[in cin&amp;gt;&amp;gt; nur Zahlen zulassen]]></title><description><![CDATA[<p>Hi Ich (C++ Noob) habe mal ein kleines Zahlenratenprogramm geschrieben.<br />
Es wird eine Zahl von 1 bis 1000 generiert (Zeitabhängig) und dann immer gesagt ob die eingegebene Zahl größer oder kleiner ist.</p>
<p>Klappt auch alles wunderbar nur wenn man einen Buchstaben anstatt einer Zahl eingibt startet anscheinend eine Endlosschleife in der &quot;zu klein&quot; ausgegeben wird.</p>
<p>Kann man es mit if Abfragen so regeln das die Variable eingzahl nur Zahleneingaben zulässt? Hier ist der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include&lt;stdlib.h&gt;
using namespace std;

int main()
{
    int versuche=0;
    int geszahl;
    int eingzahl;
    bool fehler;
    time_t t;
    srand(time(&amp;t));
    geszahl=rand()%1000+1;
    cout&lt;&lt;&quot;ErratenSie die Zahl (1-1000)&quot;&lt;&lt;endl&lt;&lt;endl;

    while(eingzahl!=geszahl)
    {

      cin&gt;&gt;eingzahl;

     if (eingzahl&gt;geszahl)
     {
         cout&lt;&lt;&quot;Zu groß &quot;&lt;&lt;endl&lt;&lt;endl;
         versuche++;
     } 
     else if (eingzahl&lt;geszahl)
     {
         cout&lt;&lt;&quot;Zu klein&quot;&lt;&lt;endl&lt;&lt;endl;
         versuche++;
     } 
    else{break;}

}
    if(eingzahl==geszahl)
    { 
    cout&lt;&lt;endl&lt;&lt;&quot;Richtig die Zahl lautet &quot;&lt;&lt;geszahl&lt;&lt;endl;
    cout&lt;&lt;&quot;Sie haben &quot;&lt;&lt;versuche&lt;&lt;&quot; Versuche benoetigt&quot;&lt;&lt;endl;
    system(&quot;PAUSE&quot;);
    }

}
</code></pre>
<p>Vielen dank schonmal im vorraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Mfg Dede</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/134812/in-cin-gt-gt-nur-zahlen-zulassen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 19:19:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/134812.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 28 Jan 2006 20:46:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to in cin&amp;gt;&amp;gt; nur Zahlen zulassen on Sat, 28 Jan 2006 20:46:36 GMT]]></title><description><![CDATA[<p>Hi Ich (C++ Noob) habe mal ein kleines Zahlenratenprogramm geschrieben.<br />
Es wird eine Zahl von 1 bis 1000 generiert (Zeitabhängig) und dann immer gesagt ob die eingegebene Zahl größer oder kleiner ist.</p>
<p>Klappt auch alles wunderbar nur wenn man einen Buchstaben anstatt einer Zahl eingibt startet anscheinend eine Endlosschleife in der &quot;zu klein&quot; ausgegeben wird.</p>
<p>Kann man es mit if Abfragen so regeln das die Variable eingzahl nur Zahleneingaben zulässt? Hier ist der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include&lt;stdlib.h&gt;
using namespace std;

int main()
{
    int versuche=0;
    int geszahl;
    int eingzahl;
    bool fehler;
    time_t t;
    srand(time(&amp;t));
    geszahl=rand()%1000+1;
    cout&lt;&lt;&quot;ErratenSie die Zahl (1-1000)&quot;&lt;&lt;endl&lt;&lt;endl;

    while(eingzahl!=geszahl)
    {

      cin&gt;&gt;eingzahl;

     if (eingzahl&gt;geszahl)
     {
         cout&lt;&lt;&quot;Zu groß &quot;&lt;&lt;endl&lt;&lt;endl;
         versuche++;
     } 
     else if (eingzahl&lt;geszahl)
     {
         cout&lt;&lt;&quot;Zu klein&quot;&lt;&lt;endl&lt;&lt;endl;
         versuche++;
     } 
    else{break;}

}
    if(eingzahl==geszahl)
    { 
    cout&lt;&lt;endl&lt;&lt;&quot;Richtig die Zahl lautet &quot;&lt;&lt;geszahl&lt;&lt;endl;
    cout&lt;&lt;&quot;Sie haben &quot;&lt;&lt;versuche&lt;&lt;&quot; Versuche benoetigt&quot;&lt;&lt;endl;
    system(&quot;PAUSE&quot;);
    }

}
</code></pre>
<p>Vielen dank schonmal im vorraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Mfg Dede</p>
]]></description><link>https://www.c-plusplus.net/forum/post/979283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/979283</guid><dc:creator><![CDATA[Dede16]]></dc:creator><pubDate>Sat, 28 Jan 2006 20:46:36 GMT</pubDate></item><item><title><![CDATA[Reply to in cin&amp;gt;&amp;gt; nur Zahlen zulassen on Sat, 28 Jan 2006 20:49:35 GMT]]></title><description><![CDATA[<p>Nein, aber du kannst danach überprüfen ob es eine Zahl war:</p>
<pre><code class="language-cpp">if(cin.fail() || cin.bad()) {
    cin.clear();
    cout &lt;&lt; &quot;Du Hirsch bist zu dumm die Tastatur zu bedienen!&quot;;
    exit(-1); // net schön
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/979287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/979287</guid><dc:creator><![CDATA[Kluger Mensch]]></dc:creator><pubDate>Sat, 28 Jan 2006 20:49:35 GMT</pubDate></item><item><title><![CDATA[Reply to in cin&amp;gt;&amp;gt; nur Zahlen zulassen on Sat, 28 Jan 2006 20:59:12 GMT]]></title><description><![CDATA[<p>Hmm. ja das klappt aber ich will nicht die schleife verlassen sondern wieder zum anfang der Schleife damit ich erneut die Möglichkeit habe einzugeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/979292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/979292</guid><dc:creator><![CDATA[Dede16]]></dc:creator><pubDate>Sat, 28 Jan 2006 20:59:12 GMT</pubDate></item><item><title><![CDATA[Reply to in cin&amp;gt;&amp;gt; nur Zahlen zulassen on Sat, 28 Jan 2006 21:14:25 GMT]]></title><description><![CDATA[<p>Dede16 schrieb:</p>
<blockquote>
<p>Hmm. ja das klappt aber ich will nicht die schleife verlassen sondern wieder zum anfang der Schleife damit ich erneut die Möglichkeit habe einzugeben.</p>
</blockquote>
<p>Statt dem Aufruf von exit() schreibst du &quot;continue;&quot;.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/979301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/979301</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Sat, 28 Jan 2006 21:14:25 GMT</pubDate></item><item><title><![CDATA[Reply to in cin&amp;gt;&amp;gt; nur Zahlen zulassen on Sun, 29 Jan 2006 09:22:40 GMT]]></title><description><![CDATA[<p>Guten Morgen.</p>
<p>Leider klappt es noch immer nicht.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include&lt;stdlib.h&gt;
using namespace std;

int main()
{

    int geszahl;
    int eingzahl=0;
    int versuch=0;
    time_t t;
    srand(time(&amp;t));
    geszahl=rand()%1000+1;
    cout&lt;&lt;&quot;ErratenSie die Zahl (1-1000)&quot;&lt;&lt;endl&lt;&lt;endl;

  do
  {
    :arrow_right:  cin&gt;&gt;eingzahl;
    if(cin.fail() || cin.bad()) 
    {
       cin.clear();
       cout &lt;&lt; &quot;Gebe eine Zahl ein!&quot;;
       :arrow_right:  continue; 
    } 

    else if(eingzahl&lt;geszahl)
    {
         cout&lt;&lt;&quot;Zu klein&quot;&lt;&lt;endl&lt;&lt;endl;
         versuch++;
    }

    else if (eingzahl&gt;geszahl)
    {
         cout&lt;&lt;&quot;Zu groß&quot;&lt;&lt;endl&lt;&lt;endl;
         versuch++;
    }

   else{}

  }
  while(eingzahl!=geszahl);

  }
</code></pre>
<p>Nach dem continue sollte eigentlich die schleife durchlaufen sein und wieder bei</p>
<pre><code class="language-cpp">cin&gt;&gt;eingzahl;
</code></pre>
<p>anfangen.<br />
Doch es ensteht eine endlosschleife in der immer weiter &quot;Gebe eine Zahl ein!&quot; steht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/979577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/979577</guid><dc:creator><![CDATA[Dede16]]></dc:creator><pubDate>Sun, 29 Jan 2006 09:22:40 GMT</pubDate></item></channel></rss>