<?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[Integercheck]]></title><description><![CDATA[<p>Hallo,</p>
<p>nehmen wir an wir haben folgendes einfaches Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;

int a=0;

void main()
{
cout &lt;&lt; &quot;Bitte geben Sie eine ganze Zahl ein: &quot;;
cin &gt;&gt; a;

if(cin.fail())
{
cin.clear();
a=0;
cout &lt;&lt; &quot;Keine ganze Zahl eingegeben!&quot;;
} else {
cout &lt;&lt; &quot;OK!&quot;;
}
}
</code></pre>
<p>Die Lösung über cin.fail() und cin.clear() funktioniert gut, wenn statt einer Int irgendwelche Buchstaben, Klammern oder sonstiges eingegeben wird!</p>
<p><strong>Problem:</strong> Wenn ich allerdings ein Kommazahl eingebe, z.B. &quot;1.5&quot;, spricht cin.fail() nicht an, sondern setzt a = 1;<br />
Es dürfen aber NUR ganze Zahlen eingegeben werden. Wie kann ich das realisieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/228228/integercheck</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 16:18:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/228228.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 25 Nov 2008 17:29:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Integercheck on Tue, 25 Nov 2008 17:29:28 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>nehmen wir an wir haben folgendes einfaches Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;

int a=0;

void main()
{
cout &lt;&lt; &quot;Bitte geben Sie eine ganze Zahl ein: &quot;;
cin &gt;&gt; a;

if(cin.fail())
{
cin.clear();
a=0;
cout &lt;&lt; &quot;Keine ganze Zahl eingegeben!&quot;;
} else {
cout &lt;&lt; &quot;OK!&quot;;
}
}
</code></pre>
<p>Die Lösung über cin.fail() und cin.clear() funktioniert gut, wenn statt einer Int irgendwelche Buchstaben, Klammern oder sonstiges eingegeben wird!</p>
<p><strong>Problem:</strong> Wenn ich allerdings ein Kommazahl eingebe, z.B. &quot;1.5&quot;, spricht cin.fail() nicht an, sondern setzt a = 1;<br />
Es dürfen aber NUR ganze Zahlen eingegeben werden. Wie kann ich das realisieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1620635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1620635</guid><dc:creator><![CDATA[MrBlub]]></dc:creator><pubDate>Tue, 25 Nov 2008 17:29:28 GMT</pubDate></item><item><title><![CDATA[Reply to Integercheck on Tue, 25 Nov 2008 18:25:39 GMT]]></title><description><![CDATA[<p>Das einzige was mir aktuell einfallen würde, ist die Sache über einen zweiten Schritt zu prüfen.</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;sstream&gt;
#include &lt;iostream&gt;

int main()
{
	int a;
	std::string line;

	// Ganze Zeile einlesen, damit wir auch alles haben.
	std::getline(std::cin, line);

	// Auslesen
	std::istringstream iss(line);
	iss &gt;&gt; a;

	// Prüfen, ob wir das Ende des Streams erreicht haben.
	// Dies muss der Fall sein, wenn wir alles verwendet haben.
	if(iss.eof())
	{ std::cout &lt;&lt; &quot;Good!&quot; &lt;&lt; std::endl; }
	else
	{ std::cout &lt;&lt; &quot;Bad!&quot; &lt;&lt; std::endl; }

	return 0;
}
</code></pre>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1620674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1620674</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 25 Nov 2008 18:25:39 GMT</pubDate></item><item><title><![CDATA[Reply to Integercheck on Tue, 25 Nov 2008 19:51:46 GMT]]></title><description><![CDATA[<p>Zudem: Folgende Dinge in deinem Code sind nicht C++:</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;
</code></pre>
<p>Header der C++-Standardbibliothek haben keine Endungen. Du solltest also <code>&lt;iostream&gt;</code> inkludieren. Beachte dazu, dass sich die Dinge dann im Namensraum <code>std</code> befinden.</p>
<pre><code class="language-cpp">void main()
</code></pre>
<p>Das war auch nie Standard-C++! Die <code>main()</code> -Funktion hat immer den Rückgabetyp <code>int</code> .</p>
<p>Einrückung wäre übrigens auch nicht das Schlechteste. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1620737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1620737</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 25 Nov 2008 19:51:46 GMT</pubDate></item><item><title><![CDATA[Reply to Integercheck on Tue, 25 Nov 2008 20:49:29 GMT]]></title><description><![CDATA[<p>Danke @ Dravere für die Lösung! Eine einfachere Lösung bietet C++ nicht? Bin enttäuscht *g*</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12954">@Nexus</a>: Danke für den Hinweis, wieder was gelernt! Das mit dem Einrücken hingegen hätte ich normalerweise schon gemacht, hätte ich zuvor gewusst, dass diese erweiterte phpBB Version diese Einrückungen auch so schön darstellt <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/1620772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1620772</guid><dc:creator><![CDATA[MrBlub]]></dc:creator><pubDate>Tue, 25 Nov 2008 20:49:29 GMT</pubDate></item><item><title><![CDATA[Reply to Integercheck on Wed, 26 Nov 2008 16:19:40 GMT]]></title><description><![CDATA[<p>@ Nexus: Header der C++-Standardbibliothek haben keine Endungen.<br />
Wer sagt denn sowas?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1621242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1621242</guid><dc:creator><![CDATA[daddeldu]]></dc:creator><pubDate>Wed, 26 Nov 2008 16:19:40 GMT</pubDate></item><item><title><![CDATA[Reply to Integercheck on Wed, 26 Nov 2008 16:27:43 GMT]]></title><description><![CDATA[<p>daddeldu schrieb:</p>
<blockquote>
<p>@ Nexus: Header der C++-Standardbibliothek haben keine Endungen.<br />
Wer sagt denn sowas?</p>
</blockquote>
<p>Der ISO C++ Standard sagt dies.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1621247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1621247</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 26 Nov 2008 16:27:43 GMT</pubDate></item></channel></rss>