<?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[unpassender Typ, cin wird übersprungen]]></title><description><![CDATA[<p>Hallo,</p>
<p>versuche mir gerade die Grundlagen von C++ beizubringen und bin dabei auf ein komisches Verhalten gestoßen, welches ich mir nicht erklären kann.<br />
Hier ein Minimalbeispiel:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;

using namespace std;

int main()
{
int count;
cin &gt;&gt; count;
cout &lt;&lt; count &lt;&lt; &quot; ausgabe nummer\n&quot;;
string name;
cin &gt;&gt; name;
cout &lt;&lt; name &lt;&lt; &quot; ausgabe string&quot;;
return 0;
}
</code></pre>
<p>Wenn ich nun bei der Ausführung zuerst eine Ganzzahl und dann einen String eingebe funktioniert es wie erwartet.<br />
Wird aber zuerst ein Buchstabe an der Stelle 'cin &gt;&gt; count;' übergeben, dann findet die Abfrage 'cin &gt;&gt; name;' nicht mehr statt. Ausgegeben wird dann für den Inhalt von count, je nach Compiler, 0 oder -1 (ist nachvollziehbar da der falsche Typ übergeben wurde) und 'name' bleibt leer.<br />
Kann mir jemand erklären warum die Zeile 12 im Code nicht mehr ausgeführt wird?</p>
<p>Ich hoffe jemand kann mir helfen, danke schon mal im voraus <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/topic/290194/unpassender-typ-cin-wird-übersprungen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Apr 2026 05:43:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/290194.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 21 Jul 2011 07:43:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to unpassender Typ, cin wird übersprungen on Thu, 21 Jul 2011 07:43:53 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>versuche mir gerade die Grundlagen von C++ beizubringen und bin dabei auf ein komisches Verhalten gestoßen, welches ich mir nicht erklären kann.<br />
Hier ein Minimalbeispiel:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;

using namespace std;

int main()
{
int count;
cin &gt;&gt; count;
cout &lt;&lt; count &lt;&lt; &quot; ausgabe nummer\n&quot;;
string name;
cin &gt;&gt; name;
cout &lt;&lt; name &lt;&lt; &quot; ausgabe string&quot;;
return 0;
}
</code></pre>
<p>Wenn ich nun bei der Ausführung zuerst eine Ganzzahl und dann einen String eingebe funktioniert es wie erwartet.<br />
Wird aber zuerst ein Buchstabe an der Stelle 'cin &gt;&gt; count;' übergeben, dann findet die Abfrage 'cin &gt;&gt; name;' nicht mehr statt. Ausgegeben wird dann für den Inhalt von count, je nach Compiler, 0 oder -1 (ist nachvollziehbar da der falsche Typ übergeben wurde) und 'name' bleibt leer.<br />
Kann mir jemand erklären warum die Zeile 12 im Code nicht mehr ausgeführt wird?</p>
<p>Ich hoffe jemand kann mir helfen, danke schon mal im voraus <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/2095859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095859</guid><dc:creator><![CDATA[Stefan89]]></dc:creator><pubDate>Thu, 21 Jul 2011 07:43:53 GMT</pubDate></item><item><title><![CDATA[Reply to unpassender Typ, cin wird übersprungen on Thu, 21 Jul 2011 07:51:28 GMT]]></title><description><![CDATA[<p>Der Stream setzt bei einem Fehlschlag das sog. &quot;failbit&quot;, das bedeutet, dass irgendwann mal das Einlesen fehlgeschlagen ist. Genau das passiert, da du einen Buchstaben eingegeben hast. Du kannst das failbit wie folgt aufheben:</p>
<pre><code class="language-cpp">std::cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max());
std::cin.clear();
</code></pre>
<p>Hierfür must du noch den Header &lt;limits&gt; includen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2095862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095862</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Thu, 21 Jul 2011 07:51:28 GMT</pubDate></item><item><title><![CDATA[Reply to unpassender Typ, cin wird übersprungen on Thu, 21 Jul 2011 08:08:54 GMT]]></title><description><![CDATA[<p>Ahja, das ist nachvollziehbar <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="🙂"
    /><br />
Danke für die Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2095868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095868</guid><dc:creator><![CDATA[Stefan89]]></dc:creator><pubDate>Thu, 21 Jul 2011 08:08:54 GMT</pubDate></item></channel></rss>