<?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[Integereingabe und Return bzw. Leereingabe]]></title><description><![CDATA[<p>Hi.</p>
<p>Strings kann man ja mit getline() einlesen damit Leerzeichen nicht übersprungen werden. Leider finde ich nicht heraus wie man das mit Zahlen machen kann.</p>
<pre><code class="language-cpp">while((std::cout &lt;&lt; &quot;Zahl zwischen 10 und 2500 eingeben: &quot;) &amp;&amp; (!(std::cin &gt;&gt; zahl) || zahl &lt; 10 || zahl &gt; 2500)) {
	std::cout &lt;&lt; &quot; Falscher Wert&quot;;
	std::cin.clear();
std::cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(), '\n');

// FooBar
}
</code></pre>
<p>Bei einer Zahl die nicht zwischen 10 und 2500 liegt kann ich die Falsch Eingabe abfangen. Gebe ich aber nichts ein, also nur Return oder meinetwegen ein Leerzeichen und dann Return, dann reagiert die Eingabe nicht (Cursor macht einen Zeilensprung).<br />
Auf &quot;&quot; oder &quot;\n&quot; zu prüfen ist nicht erlaubt da der Datentyp ein Integer ist.</p>
<p>Gibt es eine Möglichkeit so etwas abzufangen. Ist ein einfaches Konsolenprogramm.</p>
<p>Compiler: GCC<br />
System: Linux</p>
<p>Sollte aber wenn möglich Standard sein und somit Plattformunabhängig.</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186000/integereingabe-und-return-bzw-leereingabe</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 06:16:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186000.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Jul 2007 21:28:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Integereingabe und Return bzw. Leereingabe on Tue, 03 Jul 2007 21:28:41 GMT]]></title><description><![CDATA[<p>Hi.</p>
<p>Strings kann man ja mit getline() einlesen damit Leerzeichen nicht übersprungen werden. Leider finde ich nicht heraus wie man das mit Zahlen machen kann.</p>
<pre><code class="language-cpp">while((std::cout &lt;&lt; &quot;Zahl zwischen 10 und 2500 eingeben: &quot;) &amp;&amp; (!(std::cin &gt;&gt; zahl) || zahl &lt; 10 || zahl &gt; 2500)) {
	std::cout &lt;&lt; &quot; Falscher Wert&quot;;
	std::cin.clear();
std::cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(), '\n');

// FooBar
}
</code></pre>
<p>Bei einer Zahl die nicht zwischen 10 und 2500 liegt kann ich die Falsch Eingabe abfangen. Gebe ich aber nichts ein, also nur Return oder meinetwegen ein Leerzeichen und dann Return, dann reagiert die Eingabe nicht (Cursor macht einen Zeilensprung).<br />
Auf &quot;&quot; oder &quot;\n&quot; zu prüfen ist nicht erlaubt da der Datentyp ein Integer ist.</p>
<p>Gibt es eine Möglichkeit so etwas abzufangen. Ist ein einfaches Konsolenprogramm.</p>
<p>Compiler: GCC<br />
System: Linux</p>
<p>Sollte aber wenn möglich Standard sein und somit Plattformunabhängig.</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317788</guid><dc:creator><![CDATA[GetInt]]></dc:creator><pubDate>Tue, 03 Jul 2007 21:28:41 GMT</pubDate></item><item><title><![CDATA[Reply to Integereingabe und Return bzw. Leereingabe on Tue, 03 Jul 2007 21:45:53 GMT]]></title><description><![CDATA[<p>GetInt schrieb:</p>
<blockquote>
<p>Gebe ich aber nichts ein, also nur Return oder meinetwegen ein Leerzeichen und dann Return, dann reagiert die Eingabe nicht (Cursor macht einen Zeilensprung).</p>
</blockquote>
<p>Leerzeichen und Return sind sogenannte Whitespace Zeichen. Diese werden normalerweise bei der Eingabe eines Integers oder eines Strings (Wort) übersprungen.</p>
<p>Dies lässt sich normalerweise mit noskipws abschalten. Ob das bei der Konsoleneingabe (cin) funktioniert muss man ausprobieren. Es kann sein, dass eine leere Eingabe (nur Return) als keine Eingabe zählt.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317793</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 03 Jul 2007 21:45:53 GMT</pubDate></item><item><title><![CDATA[Reply to Integereingabe und Return bzw. Leereingabe on Tue, 03 Jul 2007 22:04:18 GMT]]></title><description><![CDATA[<p>Wow, vielen Dank!<br />
Das kannte ich nicht. Ist sogar in &lt;iostream&gt; vorhanden und funktioniert genau so wie ich es will.</p>
<pre><code class="language-cpp">while((std::cout &lt;&lt; &quot;Zahl zwischen 10 und 2500 eingeben: &quot;) &amp;&amp; (!(std::cin &gt;&gt; std::noskipws &gt;&gt; zahl) || zahl &lt; 10 || zahl &gt; 2500)) {
    std::cout &lt;&lt; &quot; Falscher Wert&quot;;
    std::cin.clear();
std::cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(), '\n');

// FooBar
}
</code></pre>
<p>Gruß.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317801</guid><dc:creator><![CDATA[GetInt]]></dc:creator><pubDate>Tue, 03 Jul 2007 22:04:18 GMT</pubDate></item><item><title><![CDATA[Reply to Integereingabe und Return bzw. Leereingabe on Tue, 03 Jul 2007 22:06:17 GMT]]></title><description><![CDATA[<p>Nachtrag:<br />
<a href="http://www.cplusplus.com/reference/iostream/manipulators/noskipws.html" rel="nofollow">http://www.cplusplus.com/reference/iostream/manipulators/noskipws.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317803</guid><dc:creator><![CDATA[GetInt]]></dc:creator><pubDate>Tue, 03 Jul 2007 22:06:17 GMT</pubDate></item></channel></rss>