<?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[IF und Else problem]]></title><description><![CDATA[<p>Hi Leute, ich habe ein Problem. Das wird anhand des Codes (wenn man es so nennen kann^^) deutlich:</p>
<p>#include &lt;cstdlib&gt;<br />
#include &lt;iostream&gt;<br />
using namespace std;</p>
<p>int main(int argc, char *argv[])</p>
<p>{<br />
int Zahl1;<br />
int Zahl2;<br />
int Zahl3;<br />
int Ergebnis;<br />
int Resultat;<br />
string Frage;<br />
string Richtig;<br />
string Falsch;</p>
<p>Zahl1 = 5;<br />
Zahl2 = 8;<br />
Zahl3 = 19;<br />
Resultat = 32;<br />
Frage = &quot;Wie lautet das Ergebnis&quot;;<br />
Richtig = &quot;Das stimmt&quot;;<br />
Falsch = &quot;Das stimmt leider nicht&quot;;</p>
<p>cout &lt;&lt; &quot;&quot; &lt;&lt; Frage &lt;&lt; endl;<br />
cout &lt;&lt; &quot;&quot; &lt;&lt; Zahl1 &lt;&lt; &quot;+&quot; &lt;&lt; Zahl2 &lt;&lt; &quot;+&quot; &lt;&lt; &quot;&quot; &lt;&lt; Zahl3 &lt;&lt; endl;<br />
cin &gt;&gt; Ergebnis;<br />
cin.get();</p>
<p>if (Ergebnis == Resultat)<br />
{<br />
cout &lt;&lt; &quot;&quot; &lt;&lt; Richtig;<br />
}</p>
<p>else (Ergebnis != Resultat) /*Wenn ich hier ein Semikolon setze, kann es kompiliert werden.<br />
Die Funktion wird auch ausgeführt. Nur wenn das Ergebnis richtig ist, wird automatisch<br />
der String &quot;Falsch&quot; mit ausgegeben. */</p>
<p>{<br />
cout &lt;&lt; &quot;&quot; &lt;&lt; Falsch &lt;&lt;;<br />
}</p>
<p>cin.get();<br />
return 0;<br />
}</p>
<p>So, hoffentlich werde ich jetzt nicht wegen entwaige umständliche Wege fertig gemacht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Aber kann mir da jemand helfen? Ich wollte einen kleinen Taschenrechner coden. Leider ist mir bald klar geworden, dass ich es nichtmal mit nur einer addition auf die Reihe bekomme.<br />
Ok, es hat schon einmal geklappt. Aber der COmpiler der will nichtmehr^^</p>
<p>Thx im vorraus <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/200929/if-und-else-problem</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 06:05:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200929.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Dec 2007 14:54:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to IF und Else problem on Fri, 21 Dec 2007 14:54:53 GMT]]></title><description><![CDATA[<p>Hi Leute, ich habe ein Problem. Das wird anhand des Codes (wenn man es so nennen kann^^) deutlich:</p>
<p>#include &lt;cstdlib&gt;<br />
#include &lt;iostream&gt;<br />
using namespace std;</p>
<p>int main(int argc, char *argv[])</p>
<p>{<br />
int Zahl1;<br />
int Zahl2;<br />
int Zahl3;<br />
int Ergebnis;<br />
int Resultat;<br />
string Frage;<br />
string Richtig;<br />
string Falsch;</p>
<p>Zahl1 = 5;<br />
Zahl2 = 8;<br />
Zahl3 = 19;<br />
Resultat = 32;<br />
Frage = &quot;Wie lautet das Ergebnis&quot;;<br />
Richtig = &quot;Das stimmt&quot;;<br />
Falsch = &quot;Das stimmt leider nicht&quot;;</p>
<p>cout &lt;&lt; &quot;&quot; &lt;&lt; Frage &lt;&lt; endl;<br />
cout &lt;&lt; &quot;&quot; &lt;&lt; Zahl1 &lt;&lt; &quot;+&quot; &lt;&lt; Zahl2 &lt;&lt; &quot;+&quot; &lt;&lt; &quot;&quot; &lt;&lt; Zahl3 &lt;&lt; endl;<br />
cin &gt;&gt; Ergebnis;<br />
cin.get();</p>
<p>if (Ergebnis == Resultat)<br />
{<br />
cout &lt;&lt; &quot;&quot; &lt;&lt; Richtig;<br />
}</p>
<p>else (Ergebnis != Resultat) /*Wenn ich hier ein Semikolon setze, kann es kompiliert werden.<br />
Die Funktion wird auch ausgeführt. Nur wenn das Ergebnis richtig ist, wird automatisch<br />
der String &quot;Falsch&quot; mit ausgegeben. */</p>
<p>{<br />
cout &lt;&lt; &quot;&quot; &lt;&lt; Falsch &lt;&lt;;<br />
}</p>
<p>cin.get();<br />
return 0;<br />
}</p>
<p>So, hoffentlich werde ich jetzt nicht wegen entwaige umständliche Wege fertig gemacht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Aber kann mir da jemand helfen? Ich wollte einen kleinen Taschenrechner coden. Leider ist mir bald klar geworden, dass ich es nichtmal mit nur einer addition auf die Reihe bekomme.<br />
Ok, es hat schon einmal geklappt. Aber der COmpiler der will nichtmehr^^</p>
<p>Thx im vorraus <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/1424490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424490</guid><dc:creator><![CDATA[Noob^^]]></dc:creator><pubDate>Fri, 21 Dec 2007 14:54:53 GMT</pubDate></item><item><title><![CDATA[Reply to IF und Else problem on Fri, 21 Dec 2007 15:01:05 GMT]]></title><description><![CDATA[<p>1. Falsches Forum: C++ wäre besser.<br />
2. Das if Statement sieht so aus:</p>
<pre><code class="language-cpp">if (Ergebnis == Resultat)
{
   // Ausgabe...
}
else
{
   // Andere Ausgabe...
}
</code></pre>
<p>Im else- Fall ist implizit gegeben, dass es die negierte Kondition des if- Falls ist. Ist ev. kompliziert erklärt... jedefalls brauchts &quot;else (Ergebnis != Resultat&quot; nicht, sondern nur else.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424493</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Fri, 21 Dec 2007 15:01:05 GMT</pubDate></item><item><title><![CDATA[Reply to IF und Else problem on Fri, 21 Dec 2007 15:07:46 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-18363.html" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-58.html" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424498</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Fri, 21 Dec 2007 15:07:46 GMT</pubDate></item><item><title><![CDATA[Reply to IF und Else problem on Fri, 21 Dec 2007 15:49:44 GMT]]></title><description><![CDATA[<p>Außer du willst es extra nochmal überprüfen dann aber else if! Bei zu vielen<br />
Überprüfungen ist dann aber switch wieder zu bevorzugen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424518</guid><dc:creator><![CDATA[*D*]]></dc:creator><pubDate>Fri, 21 Dec 2007 15:49:44 GMT</pubDate></item><item><title><![CDATA[Reply to IF und Else problem on Fri, 21 Dec 2007 16:49:47 GMT]]></title><description><![CDATA[<p>Einmal zu deiner Stelle:</p>
<pre><code class="language-cpp">if (Ergebnis == Resultat)
{
cout &lt;&lt; &quot;&quot; &lt;&lt; Richtig;
}

else (Ergebnis != Resultat) /*Wenn ich hier ein Semikolon setze, kann es kompiliert werden.
Die Funktion wird auch ausgeführt. Nur wenn das Ergebnis richtig ist, wird automatisch
der String &quot;Falsch&quot; mit ausgegeben. */

{
cout &lt;&lt; &quot;&quot; &lt;&lt; Falsch &lt;&lt;;
}
</code></pre>
<p>=&gt; Wenn du ein Semikolon da setzt, schließt du den Scope, den du durch das else öffnest direkt (es gilt für EINE Anweisung danach, solange du den Scope nicht mit Klammern öffnest).</p>
<pre><code class="language-cpp">if (Ergebnis != Resutat)
    int var = 10;
</code></pre>
<p>var kann danach nicht mehr genutzt werden. Ein</p>
<pre><code class="language-cpp">if (Ergebnis != Resultat);
</code></pre>
<p>macht also im Endeffekt garnicht, bisauf, dass die Anweisungen in der if-Abfrage ausgeführt werden, wobei die boolischen Gesetze zum tragen kommen (and bindet stärker als or usw.)<br />
d.h. bei</p>
<pre><code class="language-cpp">bool foo() { return (std::cout &lt;&lt; &quot;Test&quot; &lt;&lt; std::endl); }

if (foo() != false);
</code></pre>
<p>wirst du die Ausgabe &quot;Test&quot; sehen.</p>
<p>Wenn du nun eine if-else-Konstruktion hast, dann sieht das so aus:</p>
<pre><code class="language-cpp">if (a == true)
    // ...
else /* a != true */
    // ...
</code></pre>
<p>D.h. wenn a nicht gleich true ist, ist else (&quot;an sonsten&quot;) a == false, da eine Bedingung nur richtig oder falsch sein kann. Wenn du nun z.B. aber gucken willst ob a == true ist, und wenn das nicht der fall ist gucken willst ob b denn == true ist und an sonsten einfach irgendwas anderes machen willst, nimmst du if-else if-else</p>
<pre><code class="language-cpp">if (a == true)
    // ...
else if (b == true) 
    // ...
else
    // ...
</code></pre>
<p>...</p>
<p>Achja, einmal optimierterre Version</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()
{
	const int a(5), b(8), c(19);
	std::cout	&lt;&lt; &quot;Wie lautet das Ergebnis von folgender Gleichung?\n&quot;
				&lt;&lt; a &lt;&lt; &quot; + &quot; &lt;&lt; b &lt;&lt; &quot; + &quot; &lt;&lt; c &lt;&lt; &quot; = &quot;;
	int user_result(0);
	std::cin &gt;&gt; user_result;
	std::cout &lt;&lt; (user_result == (a + b + c) ? &quot;Richtig!&quot; : &quot;Falsch!&quot;) &lt;&lt; std::endl;
	std::cin.get();
}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424531</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 21 Dec 2007 16:49:47 GMT</pubDate></item></channel></rss>