<?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[Wie verhindert man, daß cin Buchstaben akzeptiert, wenn eine Zahl erwartet wird?]]></title><description><![CDATA[<p>Folgender Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()
{
  int i;
  std::cin &gt;&gt; i;
  std::cout &lt;&lt; i &lt;&lt; std::endl;
  return 0;
}
</code></pre>
<p>Wenn man nun das Programm compiliert und startet,<br />
dann gibt er bei der Eingabe einer Zahl zwar eine Zahl wieder aus und beendet das Programm, aber wenn man anstatt einer Zahl oder Ziffer ein paar Buchstaben eingibt, dann akzeptiert cin das Return und gibt für i eine 0 aus und beendet anschließend das Programm.</p>
<p>Wie bestimmt man nun, daß nur Ziffern eingegeben werden können und erst dann das Programm beendet wird?<br />
Dabei sollte es auch möglich sein, auch wieder nur eine 0 einzugeben, so daß das Programm auch dann beendet werden kann, wenn i immer noch = 0 ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/288461/wie-verhindert-man-daß-cin-buchstaben-akzeptiert-wenn-eine-zahl-erwartet-wird</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 01:27:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/288461.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Jun 2011 07:29:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie verhindert man, daß cin Buchstaben akzeptiert, wenn eine Zahl erwartet wird? on Fri, 17 Jun 2011 07:29:06 GMT]]></title><description><![CDATA[<p>Folgender Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()
{
  int i;
  std::cin &gt;&gt; i;
  std::cout &lt;&lt; i &lt;&lt; std::endl;
  return 0;
}
</code></pre>
<p>Wenn man nun das Programm compiliert und startet,<br />
dann gibt er bei der Eingabe einer Zahl zwar eine Zahl wieder aus und beendet das Programm, aber wenn man anstatt einer Zahl oder Ziffer ein paar Buchstaben eingibt, dann akzeptiert cin das Return und gibt für i eine 0 aus und beendet anschließend das Programm.</p>
<p>Wie bestimmt man nun, daß nur Ziffern eingegeben werden können und erst dann das Programm beendet wird?<br />
Dabei sollte es auch möglich sein, auch wieder nur eine 0 einzugeben, so daß das Programm auch dann beendet werden kann, wenn i immer noch = 0 ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2079592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2079592</guid><dc:creator><![CDATA[Frage mit cin]]></dc:creator><pubDate>Fri, 17 Jun 2011 07:29:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wie verhindert man, daß cin Buchstaben akzeptiert, wenn eine Zahl erwartet wird? on Fri, 17 Jun 2011 07:33:53 GMT]]></title><description><![CDATA[<p>Gar nicht, oftmals erhalten Programme ihren Input ja gar nicht durch User-Eingabe sondern bspw. aus Files oder aus dem Output anderer Programme:</p>
<pre><code>$ ls | grep test
</code></pre>
<p>Nun kann man in grep nicht verhindern, dass beliebiger Input von ls durchgereicht wird. Dementsprechend funktioniert das mit Standardmitteln so auch nicht.</p>
<p>a) Du kannst solange einlesen und im Fehlerfall wiederholen bis die richtigen Daten da sind.</p>
<p>b) Du nutzt Betriebssystemmittel - welches OS nutzt du?</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2079597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2079597</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Fri, 17 Jun 2011 07:33:53 GMT</pubDate></item><item><title><![CDATA[Reply to Wie verhindert man, daß cin Buchstaben akzeptiert, wenn eine Zahl erwartet wird? on Fri, 17 Jun 2011 08:02:01 GMT]]></title><description><![CDATA[<p>Windows und Linux.</p>
<p>Also müßte ich für so etwas wieder C Mittel wie get(i) benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2079610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2079610</guid><dc:creator><![CDATA[Frage min cin]]></dc:creator><pubDate>Fri, 17 Jun 2011 08:02:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wie verhindert man, daß cin Buchstaben akzeptiert, wenn eine Zahl erwartet wird? on Fri, 17 Jun 2011 08:48:54 GMT]]></title><description><![CDATA[<p>Frage min cin schrieb:</p>
<blockquote>
<p>Windows und Linux.</p>
<p>Also müßte ich für so etwas wieder C Mittel wie get(i) benutzen.</p>
</blockquote>
<p>Nein, das geht überhaupt gar nicht mit Standardmitteln, auch nicht mit denen von C. Und plattformunabhängig schon gar nicht, du musst eigenen Code für Linux und Windows schreiben.</p>
<p><strong>Aber</strong>: Wie wäre es einfach mit ein bisschen Fehlerprüfung?</p>
<pre><code class="language-cpp">int main()
{
  int i;
  while (!std::cin &gt;&gt; i)
  {
    std::cout &lt;&lt; &quot;Das war keine Zahl, versuch's noch einmal!\n&quot;;
    std::cin.clear();
    std::cin.ignore(1);
  }
  std::cout &lt;&lt; i &lt;&lt; std::endl;
  return 0;
}
</code></pre>
<p>edit: Ach, das hat mein Vorantworter auch schon gesagt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2079640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2079640</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 17 Jun 2011 08:48:54 GMT</pubDate></item><item><title><![CDATA[Reply to Wie verhindert man, daß cin Buchstaben akzeptiert, wenn eine Zahl erwartet wird? on Fri, 17 Jun 2011 09:23:10 GMT]]></title><description><![CDATA[<p>Was ist mit kbhit() aus alten C-Zeiten?<br />
Welche Anwendungen programmierst du Konsole oder Windows?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2079655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2079655</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Fri, 17 Jun 2011 09:23:10 GMT</pubDate></item><item><title><![CDATA[Reply to Wie verhindert man, daß cin Buchstaben akzeptiert, wenn eine Zahl erwartet wird? on Fri, 17 Jun 2011 10:02:09 GMT]]></title><description><![CDATA[<p>berniebutt schrieb:</p>
<blockquote>
<p>Was ist mit kbhit() aus alten C-Zeiten?</p>
</blockquote>
<p>Das ist kein C, sondern conio.h</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2079676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2079676</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 17 Jun 2011 10:02:09 GMT</pubDate></item><item><title><![CDATA[Reply to Wie verhindert man, daß cin Buchstaben akzeptiert, wenn eine Zahl erwartet wird? on Fri, 17 Jun 2011 11:39:59 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>berniebutt schrieb:</p>
<blockquote>
<p>Was ist mit kbhit() aus alten C-Zeiten?</p>
</blockquote>
<p>Das ist kein C, sondern conio.h</p>
</blockquote>
<p>und bräuchte noch _getch() ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2079724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2079724</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Fri, 17 Jun 2011 11:39:59 GMT</pubDate></item></channel></rss>