<?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[Problem bei Fehlerprüfung]]></title><description><![CDATA[<p>Mein Lehrer möchte, dass wir überall auf Fehler prüfen, um mir das ganze einfacher zu machen, dachte ich mir ich schreib ne Funktion die das für die Ausgaben tut, aber da habe ich ein Problem:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;
using namespace std;

bool prüfungAusgabe(ostream&amp; cout,string&amp; text){
    if(!(cout&lt;&lt;text))
       {
        prüfungAusgabe(cout,&quot;Es ist ein Fehler aufgetreten&quot;);
        return false;
       }
    return true;
}

bool prüfungZahlEingabe(istream&amp; cin,int&amp; zahl){
    if(!(cin&gt;&gt;zahl))
       {
       prüfungAusgabe(cout,&quot;Falsche Eingabe, neu eingeben:&quot;);
       return prüfungZahlEingabe(cin,zahl);
       }
    return true;
}

int main(){
  int zahl;
  prüfungAusgabe(cout,&quot;Bitte eine Zahl eingeben: &quot;);
  prüfungZahlEingabe(cin,zahl);
}
</code></pre>
<p>Das geht so nur wenn ich da keine Zahl eingeben tu, dann stürzt es ab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/140235/problem-bei-fehlerprüfung</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 23:14:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/140235.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 13 Mar 2006 13:07:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem bei Fehlerprüfung on Mon, 13 Mar 2006 13:07:29 GMT]]></title><description><![CDATA[<p>Mein Lehrer möchte, dass wir überall auf Fehler prüfen, um mir das ganze einfacher zu machen, dachte ich mir ich schreib ne Funktion die das für die Ausgaben tut, aber da habe ich ein Problem:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;
using namespace std;

bool prüfungAusgabe(ostream&amp; cout,string&amp; text){
    if(!(cout&lt;&lt;text))
       {
        prüfungAusgabe(cout,&quot;Es ist ein Fehler aufgetreten&quot;);
        return false;
       }
    return true;
}

bool prüfungZahlEingabe(istream&amp; cin,int&amp; zahl){
    if(!(cin&gt;&gt;zahl))
       {
       prüfungAusgabe(cout,&quot;Falsche Eingabe, neu eingeben:&quot;);
       return prüfungZahlEingabe(cin,zahl);
       }
    return true;
}

int main(){
  int zahl;
  prüfungAusgabe(cout,&quot;Bitte eine Zahl eingeben: &quot;);
  prüfungZahlEingabe(cin,zahl);
}
</code></pre>
<p>Das geht so nur wenn ich da keine Zahl eingeben tu, dann stürzt es ab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1015273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1015273</guid><dc:creator><![CDATA[C++-Anfänger]]></dc:creator><pubDate>Mon, 13 Mar 2006 13:07:29 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Fehlerprüfung on Mon, 13 Mar 2006 13:17:26 GMT]]></title><description><![CDATA[<p>Wenn der Fehlerstatus von cin einmal gesetzt ist, mußt du ihn explizit wieder zurücksetzen (per clear()), sonst ignoriert es alle weiteren Eingabe-Anforderungen - und du erhältst eine nette Endlos-Rekursion, die dir früher oder später den Stack zerlegt.</p>
<p>PS: Statt der Rekursion solltest du lieber eine Schleife verwenden.</p>
<p>PPS: Die Rückgabe der prüfung...-Funktionen solltest du auch abfrage, sonst nützen sie überhaupt nichts (btw, wie hast du den Funktionsnamen &quot;prüfungAusgabe&quot; durch den Compiler gebracht?).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1015285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1015285</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 13 Mar 2006 13:17:26 GMT</pubDate></item></channel></rss>