<?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[Cin Eingabe im falschen Dateiformat lässt Programm im Kreis drehen]]></title><description><![CDATA[<p>Hallo Community,</p>
<p>ich habe ein Problem und denke hier bin ich richtig. Das Problem ist wohl ganz trivial, dennoch finde ich keine Lösung. Ich habe eine Eingabe (float) die nur Zahlen zulassen soll. Wenn ich allerdings &quot;muell&quot; oder der gleichen Eingebe, kann ich keine Eingaben mehr machen da als Eingabe immer &quot;muell&quot; vorherrscht oder besser eine zahl die weit im negativen Bereich liegt.<br />
Ich würde aber gerne beim Datentyp float bleiben und nur wieder die Möglichkeit haben eine neue Eingabe vor zu nehmen.</p>
<p>Danke schon mal im vor raus <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>
<pre><code>float CBankTerminal::Betrageingben(void)
{
float Eingabe;  

cout &lt;&lt; &quot;Bitte Betrag eingeben&quot; &lt;&lt; &quot;\n&quot;; 
if (cin &gt;&gt; Eingabe &amp;&amp; Eingabe &gt;0)
{
	return Eingabe;
}
else 
{
	cout &lt;&lt; &quot;Fehlerhafte Eingabe&quot;&lt;&lt; endl;
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/318008/cin-eingabe-im-falschen-dateiformat-lässt-programm-im-kreis-drehen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 21:39:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/318008.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Jun 2013 19:21:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Cin Eingabe im falschen Dateiformat lässt Programm im Kreis drehen on Thu, 27 Jun 2013 19:21:17 GMT]]></title><description><![CDATA[<p>Hallo Community,</p>
<p>ich habe ein Problem und denke hier bin ich richtig. Das Problem ist wohl ganz trivial, dennoch finde ich keine Lösung. Ich habe eine Eingabe (float) die nur Zahlen zulassen soll. Wenn ich allerdings &quot;muell&quot; oder der gleichen Eingebe, kann ich keine Eingaben mehr machen da als Eingabe immer &quot;muell&quot; vorherrscht oder besser eine zahl die weit im negativen Bereich liegt.<br />
Ich würde aber gerne beim Datentyp float bleiben und nur wieder die Möglichkeit haben eine neue Eingabe vor zu nehmen.</p>
<p>Danke schon mal im vor raus <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>
<pre><code>float CBankTerminal::Betrageingben(void)
{
float Eingabe;  

cout &lt;&lt; &quot;Bitte Betrag eingeben&quot; &lt;&lt; &quot;\n&quot;; 
if (cin &gt;&gt; Eingabe &amp;&amp; Eingabe &gt;0)
{
	return Eingabe;
}
else 
{
	cout &lt;&lt; &quot;Fehlerhafte Eingabe&quot;&lt;&lt; endl;
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2334858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334858</guid><dc:creator><![CDATA[braidjan]]></dc:creator><pubDate>Thu, 27 Jun 2013 19:21:17 GMT</pubDate></item><item><title><![CDATA[Reply to Cin Eingabe im falschen Dateiformat lässt Programm im Kreis drehen on Thu, 27 Jun 2013 19:25:44 GMT]]></title><description><![CDATA[<p>Du musst zwei Dinge tun:<br />
1. cin's Fehlerbits zurücksetzen, das machst du mit cin.clear().<br />
2. &quot;muell&quot; aus dem Puffer löschen, das machst du mit cin.ignore().<br />
ignore() löscht maximal <em>arg1</em> Zeichen, hört aber auf wenn das Zeichen <em>arg2</em> gefunden wurde. Wir wollen alles bis zum nächsten Newline löschen, als <em>arg1</em> wählen wir den maximal möglichen Wert des Types von <em>arg1</em>. Der Typ von <em>arg1</em> ist std::streamsize. Den maximal möglichen Wert von arithmetischen Typen erhalten wir via std::numeric_limits&lt;<em>typ</em>&gt;::max() (Header &lt;limits&gt; erforderlich!). Also sieht der Aufruf so aus:</p>
<pre><code>std::cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(), '\n');
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2334860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334860</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Thu, 27 Jun 2013 19:25:44 GMT</pubDate></item><item><title><![CDATA[Reply to Cin Eingabe im falschen Dateiformat lässt Programm im Kreis drehen on Thu, 27 Jun 2013 20:04:57 GMT]]></title><description><![CDATA[<p>Super, genau das habe ich gesucht und funktionier einwandfrei.<br />
Einen schönen Abend noch <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/2334868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334868</guid><dc:creator><![CDATA[braidjan]]></dc:creator><pubDate>Thu, 27 Jun 2013 20:04:57 GMT</pubDate></item><item><title><![CDATA[Reply to Cin Eingabe im falschen Dateiformat lässt Programm im Kreis drehen on Sat, 29 Jun 2013 12:49:09 GMT]]></title><description><![CDATA[<p>Oder ?</p>
<pre><code>if (std::cin.fail ())
{
    std::cin.clear ();
    std::cin.sync ();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2335234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2335234</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 29 Jun 2013 12:49:09 GMT</pubDate></item><item><title><![CDATA[Reply to Cin Eingabe im falschen Dateiformat lässt Programm im Kreis drehen on Sat, 29 Jun 2013 13:25:30 GMT]]></title><description><![CDATA[<p>Es ist implementation defined, was std::istream::sync macht. Es könnte auch einfach nichts tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2335250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2335250</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sat, 29 Jun 2013 13:25:30 GMT</pubDate></item><item><title><![CDATA[Reply to Cin Eingabe im falschen Dateiformat lässt Programm im Kreis drehen on Sat, 29 Jun 2013 13:25:39 GMT]]></title><description><![CDATA[<p>b4nan1 schrieb:</p>
<blockquote>
<p>Oder ?</p>
<pre><code>if (std::cin.fail ())
{
    std::cin.clear ();
    std::cin.sync ();
}
</code></pre>
</blockquote>
<p>Ne. <code>cin.clear()</code> ist gut. <code>cin.sync()</code> ist schlecht. Bei cin.sync() kann es durchaus sein, dass einfach nichts passiert. Darum nimmt man hierfür <code>ignore(std::limits&lt;std::streamsize&gt;::max(), '\n')</code> , weil das sicher funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2335251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2335251</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 29 Jun 2013 13:25:39 GMT</pubDate></item><item><title><![CDATA[Reply to Cin Eingabe im falschen Dateiformat lässt Programm im Kreis drehen on Sat, 29 Jun 2013 15:20:34 GMT]]></title><description><![CDATA[<p>ahh okay <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/2335274</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2335274</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 29 Jun 2013 15:20:34 GMT</pubDate></item></channel></rss>