<?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[Eingabe auf 1 und 2 beschränken]]></title><description><![CDATA[<p>Ich habe folgende Schleife damit die Eingabe nur auf ganze Zahlen beschränkt ist.</p>
<pre><code class="language-cpp">while(true)
{
   cin &gt;&gt; zwahl;
   if (cin.peek() == '\n')
   {
      cin.get();
      break;
   }
   else{
        cout &lt;&lt;&quot;Keine gueltige Zahl eingegeben, Eingabe wiederholen! (nur     ganze Zahlen):&quot; &lt;&lt; endl;
        cin.clear();
        while (cin.get() != '\n'){}
       }
}
</code></pre>
<p>Wie müsste man diese Schleife erweitern, dass nur die Zahlen 1 oder 2 akzeptiert werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/300846/eingabe-auf-1-und-2-beschränken</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 15:17:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/300846.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Mar 2012 14:48:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 14:48:03 GMT]]></title><description><![CDATA[<p>Ich habe folgende Schleife damit die Eingabe nur auf ganze Zahlen beschränkt ist.</p>
<pre><code class="language-cpp">while(true)
{
   cin &gt;&gt; zwahl;
   if (cin.peek() == '\n')
   {
      cin.get();
      break;
   }
   else{
        cout &lt;&lt;&quot;Keine gueltige Zahl eingegeben, Eingabe wiederholen! (nur     ganze Zahlen):&quot; &lt;&lt; endl;
        cin.clear();
        while (cin.get() != '\n'){}
       }
}
</code></pre>
<p>Wie müsste man diese Schleife erweitern, dass nur die Zahlen 1 oder 2 akzeptiert werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2190941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2190941</guid><dc:creator><![CDATA[Cyborgeagle]]></dc:creator><pubDate>Mon, 12 Mar 2012 14:48:03 GMT</pubDate></item><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 14:51:08 GMT]]></title><description><![CDATA[<p>Vergleiche doch einfach, ob der eingelesene Wert 1 oder 2 ist. Wenn nicht, lässt du noch mal eingeben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2190942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2190942</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Mon, 12 Mar 2012 14:51:08 GMT</pubDate></item><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 14:54:11 GMT]]></title><description><![CDATA[<p>Formulier doch mal mathematisch, was so eine Zahl auszeichnet. Das formulierst du dann als Funktion und prüfst es.<br />
(edit: Ach, du meinst nur 1 und 2. Ich dachte du meintest, dass nur die Ziffern 1 und 2 vorkommen dürfen. Dann hat sich das obige erledigt)</p>
<p>Dein Codebeispiel macht übrigens vieles, aber er prüft ganz bestimmt nicht zuverlässig, ob eine Eingabe eine Ganzzahl war.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2190943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2190943</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 12 Mar 2012 14:54:11 GMT</pubDate></item><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 14:59:16 GMT]]></title><description><![CDATA[<p>Also ich hatte verschiedene Sachen wie Buchstaben, Sonderzeichen, Kommazahlen zum Testen eingegeben und die Schleife gab mir dann immer die Fehlermeldung zurück. Also für mich macht sie scheinbar das, was ich brauche.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2190946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2190946</guid><dc:creator><![CDATA[Cyborgeagle]]></dc:creator><pubDate>Mon, 12 Mar 2012 14:59:16 GMT</pubDate></item><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 15:04:58 GMT]]></title><description><![CDATA[<p>Also sowas wie <code>cin.DearPcPleaseLetEmOnlyEnterOneOrTwo()</code> gibt's leider nicht, daher vergleiche doch mal den eingelesenen Wert und überprüfe ihn auf einen von dir gewünschten Bereich (oder auf ein paar einzelne Werte).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2190948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2190948</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Mon, 12 Mar 2012 15:04:58 GMT</pubDate></item><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 15:08:34 GMT]]></title><description><![CDATA[<p>Ok du hast wohl recht damit, dass die Schleife diesen Zweck nicht zuverlässig erfüllt.</p>
<p>Wie müsste ich die Eingabe gestalten, dass wirklich nur 1 oder 2 akzepiert werden und bei allen anderen Eingabe eine Fehlermeldung ausgegeben wird? Natürlich soll die Eingabe solange wiederholt bis eine gültige Eingabe getätigt wurde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2190950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2190950</guid><dc:creator><![CDATA[Cyborgeagle]]></dc:creator><pubDate>Mon, 12 Mar 2012 15:08:34 GMT</pubDate></item><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 15:28:31 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()
{
char zahl=0;

for(;zahl&lt;'1'||zahl&gt;'2';)
{
    std::cin &gt;&gt; zahl;
    if(zahl&lt;'1'||zahl&gt;'2') std::cout &lt;&lt; &quot;Ungueltige Eingabe!\n&quot;;
}

return 0;
}
</code></pre>
<p>Edit: Ja mal wieder Unsinn produziert...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2190954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2190954</guid><dc:creator><![CDATA[Thuruk]]></dc:creator><pubDate>Mon, 12 Mar 2012 15:28:31 GMT</pubDate></item><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 15:26:01 GMT]]></title><description><![CDATA[<p>Bist du nicht in der Lage, den eingelesenen Wert zu vergleichen? Der Operator deines Vertrauens ist <code>==</code> oder <code>!=</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2190955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2190955</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Mon, 12 Mar 2012 15:26:01 GMT</pubDate></item><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 17:33:59 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Bist du nicht in der Lage, den eingelesenen Wert zu vergleichen? Der Operator deines Vertrauens ist <code>==</code> oder <code>!=</code> .</p>
</blockquote>
<p>Doch bin ich, aber ich hatte mit integer Variablen gearbeitet und damit keinen korrekt funktionierenden Algorithmus basteln können.<br />
Ich werd jetzt erstmal noch ein wenig probieren und bei Misserfolg mich nochmals melden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2190990</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2190990</guid><dc:creator><![CDATA[Cyborgeagle]]></dc:creator><pubDate>Mon, 12 Mar 2012 17:33:59 GMT</pubDate></item><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 18:10:10 GMT]]></title><description><![CDATA[<p>Thuruk schrieb:</p>
<blockquote>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()
{
char zahl=0;

for(;zahl&lt;'1'||zahl&gt;'2';)
{
    std::cin &gt;&gt; zahl;
    if(zahl&lt;'1'||zahl&gt;'2') std::cout &lt;&lt; &quot;Ungueltige Eingabe!\n&quot;;
}

return 0;
}
</code></pre>
<p>Edit: Ja mal wieder Unsinn produziert...</p>
</blockquote>
<p>Wieso musst du hier unbedingt eine for-Schleife zweckentfremden? Weil es cool ist? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2190995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2190995</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Mon, 12 Mar 2012 18:10:10 GMT</pubDate></item><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 18:17:09 GMT]]></title><description><![CDATA[<p>Hier mal eine einfache Loesung deines Problems,<br />
aber guck dir die Funktion erstmal genau an bevor du sie benutzt...:</p>
<pre><code class="language-cpp">void vertausche(long&amp; x, long&amp; y) {
  long ablage = x;
  x = y;
  y = ablage;
}

long erfasse_long(long min, long max) {
  if (max &lt; min)
    vertausche(min, max);
  long eingabe = 0;
  bool eingabe_ok = false;
  cin.clear();
  cin.unsetf(cin.skipws);
  do {
    cin &gt;&gt; eingabe;
    eingabe_ok = cin.good() &amp;&amp; min &lt;= eingabe &amp;&amp; eingabe &lt;= max;
    cin.clear();
    cin.ignore(static_cast&lt;streamsize&gt;(LONG_MAX), '\n');
    if (!eingabe_ok) {
      cout &lt;&lt; &quot;Bitte eine ganze Zahl eingeben [&quot;;
      cout &lt;&lt; min &lt;&lt; &quot; - &quot; &lt;&lt; max &lt;&lt; &quot;]: &quot;;
    }
  } while (!eingabe_ok);
  cin.setf(cin.skipws);
  return eingabe;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2190997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2190997</guid><dc:creator><![CDATA[realKoala]]></dc:creator><pubDate>Mon, 12 Mar 2012 18:17:09 GMT</pubDate></item><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 18:40:52 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Thuruk schrieb:</p>
<blockquote>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()
{
char zahl=0;

for(;zahl&lt;'1'||zahl&gt;'2';)
{
    std::cin &gt;&gt; zahl;
    if(zahl&lt;'1'||zahl&gt;'2') std::cout &lt;&lt; &quot;Ungueltige Eingabe!\n&quot;;
}

return 0;
}
</code></pre>
<p>Edit: Ja mal wieder Unsinn produziert...</p>
</blockquote>
<p>Wieso musst du hier unbedingt eine for-Schleife zweckentfremden? Weil es cool ist? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Nein, eigentlich einfach ne schlechte Angewohnheit. Man kann ja alles damit machen.^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191002</guid><dc:creator><![CDATA[Thuruk]]></dc:creator><pubDate>Mon, 12 Mar 2012 18:40:52 GMT</pubDate></item><item><title><![CDATA[Reply to Eingabe auf 1 und 2 beschränken on Mon, 12 Mar 2012 18:58:12 GMT]]></title><description><![CDATA[<p>Schlechte Angewohnheiten kannst du gerne zuhause praktizieren, aber sie an Anfänger weiterzugeben, ist sicher nicht der richtige Weg. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191006</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Mon, 12 Mar 2012 18:58:12 GMT</pubDate></item></channel></rss>