<?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[Frage zu einer Eingabe]]></title><description><![CDATA[<p>Morgen wenn ich bei diesem Programm z.b. einen Buchstaben anstatt einer Zahll eingebe dann wird die ganze Zeit nur error ausgeben und ich kann keine neue Eingabe machen.</p>
<p>Wie kann ich den Fehler mit einer exception oder so abfangen?</p>
<pre><code class="language-cpp">int var;

while(1)
{
cin&gt;&gt;var;

 if(var==1){
  cout&lt;&lt;&quot;ok&quot;;
 }
 else{
  cout&lt;&lt;&quot;error&quot;;
 }

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/300387/frage-zu-einer-eingabe</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 21:13:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/300387.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Mar 2012 09:27:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu einer Eingabe on Fri, 02 Mar 2012 09:27:47 GMT]]></title><description><![CDATA[<p>Morgen wenn ich bei diesem Programm z.b. einen Buchstaben anstatt einer Zahll eingebe dann wird die ganze Zeit nur error ausgeben und ich kann keine neue Eingabe machen.</p>
<p>Wie kann ich den Fehler mit einer exception oder so abfangen?</p>
<pre><code class="language-cpp">int var;

while(1)
{
cin&gt;&gt;var;

 if(var==1){
  cout&lt;&lt;&quot;ok&quot;;
 }
 else{
  cout&lt;&lt;&quot;error&quot;;
 }

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2187639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187639</guid><dc:creator><![CDATA[Skaselbat]]></dc:creator><pubDate>Fri, 02 Mar 2012 09:27:47 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu einer Eingabe on Fri, 02 Mar 2012 09:53:37 GMT]]></title><description><![CDATA[<p>Verwende einen char zur Eingabe.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()
{
	for(;;)
		{
			char eingabe;
			std::cin &gt;&gt; eingabe;
			if(eingabe==1+'0') std::cout &lt;&lt; &quot;OK.\n&quot;;
			else std::cout &lt;&lt; &quot;Falsche Eingabe.\n&quot;;
		}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2187647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187647</guid><dc:creator><![CDATA[Thuruk]]></dc:creator><pubDate>Fri, 02 Mar 2012 09:53:37 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu einer Eingabe on Fri, 02 Mar 2012 10:09:24 GMT]]></title><description><![CDATA[<p>Skaselbat schrieb:</p>
<blockquote>
<p>Wie kann ich den Fehler mit einer exception oder so abfangen?</p>
</blockquote>
<p>Ja, du kannst mittels des <a href="http://www.cplusplus.com/reference/iostream/ios/exceptions/" rel="nofollow">Exceptionfeldes</a> die Streams auch veranlassen, Exceptions zu werfen, anstatt &quot;nur&quot; in den Fehlerstatus zu schalten. Die Frage ist, wie du auf so eine Exception reagieren würdest? Deine Frage lässt nämlich darauf schließen, dass du über das beobachtete Verhalten überrascht bist. Der Stream cin wir hier nach gescheiterter Eingabeoperation (Zahl erwartet, Buchstaben bekommen) in einen Fehlerzustand gesetzt. Solange dieser nicht bereinigt wird, schlagen alle weiteren Aktionen auf dem Stream auch fehl und dein var ändert sich nie mehr. Anleitung wie das mit den Streams in C++ richtig und robust geht, findest du hier in so ziemlich jedem zweiten Thread, insbesondere jenen, in denen unser Streamexperte Werner Salomon etwas schreibt. Anscheinend gibt es da draußen sehr viele schlechte Tutorials und Bücher, die das Thema nie richtig behandeln, so dass dazu so viele Fragen kommen, die von mangelndem Grundverständnis zeugen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187656</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 02 Mar 2012 10:09:24 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu einer Eingabe on Fri, 02 Mar 2012 10:20:15 GMT]]></title><description><![CDATA[<blockquote>
<p>Morgen wenn ich bei diesem Programm z.b. einen Buchstaben anstatt einer Zahll eingebe dann wird die ganze Zeit nur error ausgeben und ich kann keine neue Eingabe machen.</p>
</blockquote>
<p>Das Problem ist, das cin wie SeppJ nach einer falschen Eingabe in einen Fehlerzustand übergeht. Das kann man mit cin.fail() prüfen. Den Fehler setzt man mit cin.clear() zurück, danach muss man wohl noch den Eingabepuffer mit cin.ignore löschen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187660</guid><dc:creator><![CDATA[Sup]]></dc:creator><pubDate>Fri, 02 Mar 2012 10:20:15 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu einer Eingabe on Fri, 02 Mar 2012 10:28:57 GMT]]></title><description><![CDATA[<p>Sup schrieb:</p>
<blockquote>
<p>Das Problem ist, das cin wie SeppJ nach einer falschen Eingabe in einen Fehlerzustand übergeht.</p>
</blockquote>
<p>Bist Du wirklich sicher, dass SeppJ nach einer falschen Eingabe in einen Fehlerzustand übergeht?</p>
<p>SCNR</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187665</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Fri, 02 Mar 2012 10:28:57 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu einer Eingabe on Fri, 02 Mar 2012 11:08:39 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<p>Sup schrieb:</p>
<blockquote>
<p>Das Problem ist, das cin wie SeppJ nach einer falschen Eingabe in einen Fehlerzustand übergeht.</p>
</blockquote>
<p>Bist Du wirklich sicher, dass SeppJ nach einer falschen Eingabe in einen Fehlerzustand übergeht?</p>
<p>SCNR</p>
</blockquote>
<p><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="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187675</guid><dc:creator><![CDATA[Thuruk]]></dc:creator><pubDate>Fri, 02 Mar 2012 11:08:39 GMT</pubDate></item></channel></rss>