<?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[&amp;quot;Wer wird Millionär&amp;quot; esle if-Problem]]></title><description><![CDATA[<p>Also das &quot;Programm&quot; an sich ist sehr simpel und dient nur zu Übungszwecken, da programmieren totales Neuland für mich ist.</p>
<p>Wenn man die richtige Antwort gibt soll mit der if-verzweigung einfach ausgegeben werden das die Antwort richtig ist. Das klappt auch.<br />
Das Problem ist bei &quot;else&quot;. Else sollte eigentlcih dazu dienen alle &quot;ungültigen&quot; Eingaben, also alles ausser &quot;a,b,c,d&quot; (die möglichen Antworten) mit der Ausgabe &quot;ungültige eingabe&quot; zu beantworten. Aber anstatt dies zu tun kommt weiterhin die Ausgabe von der &quot;else if&quot;-verzweigung (&quot;Die Antwort ist leider falsch!&quot;).<br />
Wieso? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Ich konnte das Problem slebst schon umgehen, indem cih einfach mit einer switch-verzweigung gearbeitet habe, dennoch würde ich gern wissen, wieso es nciht mit der &quot;if, else if und else-&quot; verzweigung funktioniert.</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &quot;iostream&quot;
#include &quot;windows.h&quot;

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

	int nPunktestand = 0;
	int nPunkte;
	char chAntwort;

	cout&lt;&lt;&quot;Wer wird Millionaer?\n\n&quot;;

	cout&lt;&lt;&quot;1) Peter Kreuder komponierte 1936 den Schlager &quot;&quot;Ich wollt' ich wär' ein ...&quot;&quot;?\n&quot;

		&lt;&lt;&quot;a) Hund				b) Huhn\n&quot;
		&lt;&lt;&quot;c) Hummer			d) Huflattich\n&quot;;
		cin&gt;&gt;chAntwort;
		getchar();

if (chAntwort == 'b')
	{
		cout&lt;&lt;&quot;Das ist korrekt!&quot;
			&lt;&lt;&quot;Sie haben &quot; &lt;&lt;nPunktestand+50 &lt;&lt;&quot; Euro gewonnen!&quot; &lt;&lt;endl;
	}

	else if (chAntwort == 'a' || 'c' || 'd')
	{
		cout&lt;&lt;&quot;Die Antwort ist leider falsch! &quot;
			&lt;&lt;&quot;Sie fallen auf 0 Euro zurueck.&quot; &lt;&lt;endl;
	}

	else
	{
		cout&lt;&lt;&quot;Ungueltige Eingabe&quot;;
	}

getchar();
return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/287039/quot-wer-wird-millionär-quot-esle-if-problem</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 15:27:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/287039.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 May 2011 20:25:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;Wer wird Millionär&amp;quot; esle if-Problem on Fri, 20 May 2011 20:25:27 GMT]]></title><description><![CDATA[<p>Also das &quot;Programm&quot; an sich ist sehr simpel und dient nur zu Übungszwecken, da programmieren totales Neuland für mich ist.</p>
<p>Wenn man die richtige Antwort gibt soll mit der if-verzweigung einfach ausgegeben werden das die Antwort richtig ist. Das klappt auch.<br />
Das Problem ist bei &quot;else&quot;. Else sollte eigentlcih dazu dienen alle &quot;ungültigen&quot; Eingaben, also alles ausser &quot;a,b,c,d&quot; (die möglichen Antworten) mit der Ausgabe &quot;ungültige eingabe&quot; zu beantworten. Aber anstatt dies zu tun kommt weiterhin die Ausgabe von der &quot;else if&quot;-verzweigung (&quot;Die Antwort ist leider falsch!&quot;).<br />
Wieso? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Ich konnte das Problem slebst schon umgehen, indem cih einfach mit einer switch-verzweigung gearbeitet habe, dennoch würde ich gern wissen, wieso es nciht mit der &quot;if, else if und else-&quot; verzweigung funktioniert.</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &quot;iostream&quot;
#include &quot;windows.h&quot;

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

	int nPunktestand = 0;
	int nPunkte;
	char chAntwort;

	cout&lt;&lt;&quot;Wer wird Millionaer?\n\n&quot;;

	cout&lt;&lt;&quot;1) Peter Kreuder komponierte 1936 den Schlager &quot;&quot;Ich wollt' ich wär' ein ...&quot;&quot;?\n&quot;

		&lt;&lt;&quot;a) Hund				b) Huhn\n&quot;
		&lt;&lt;&quot;c) Hummer			d) Huflattich\n&quot;;
		cin&gt;&gt;chAntwort;
		getchar();

if (chAntwort == 'b')
	{
		cout&lt;&lt;&quot;Das ist korrekt!&quot;
			&lt;&lt;&quot;Sie haben &quot; &lt;&lt;nPunktestand+50 &lt;&lt;&quot; Euro gewonnen!&quot; &lt;&lt;endl;
	}

	else if (chAntwort == 'a' || 'c' || 'd')
	{
		cout&lt;&lt;&quot;Die Antwort ist leider falsch! &quot;
			&lt;&lt;&quot;Sie fallen auf 0 Euro zurueck.&quot; &lt;&lt;endl;
	}

	else
	{
		cout&lt;&lt;&quot;Ungueltige Eingabe&quot;;
	}

getchar();
return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2066570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066570</guid><dc:creator><![CDATA[gabbas1]]></dc:creator><pubDate>Fri, 20 May 2011 20:25:27 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Wer wird Millionär&amp;quot; esle if-Problem on Fri, 20 May 2011 20:32:34 GMT]]></title><description><![CDATA[<p>Du kannst nicht mehrere Werte in einen Vergleich reinpacken - das geht zwar syntaktisch, bringt aber nur Müll. Du mußt schon jeden Wert einzeln vergleichen:</p>
<pre><code class="language-cpp">else if (chAntwort == 'a' || chAntwort == 'c' || chAntwort == 'd')
    {
        cout&lt;&lt;&quot;Die Antwort ist leider falsch! &quot;
            &lt;&lt;&quot;Sie fallen auf 0 Euro zurueck.&quot; &lt;&lt;endl;
    }

//oder anders :D
else if( strchr(&quot;acd&quot;,chAntwort) )
  ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2066574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066574</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 20 May 2011 20:32:34 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Wer wird Millionär&amp;quot; esle if-Problem on Fri, 20 May 2011 20:40:05 GMT]]></title><description><![CDATA[<p>Aha.<br />
Okay naja dann ist es ja gar nicht so ein schwerwiegender Fehler.</p>
<p>Danke dir! <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>
<p>Mal nebenbei gefragt:<br />
Ist es sinnvoller hier die if-else verzweigung zu wählen oder ist switch besser?<br />
oder etwas ganz anderes?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066577</guid><dc:creator><![CDATA[gabbas1]]></dc:creator><pubDate>Fri, 20 May 2011 20:40:05 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Wer wird Millionär&amp;quot; esle if-Problem on Fri, 20 May 2011 20:43:39 GMT]]></title><description><![CDATA[<p>Da kann man nicht so pauschal beantworten, weil es von zu vielen Bedingungen abhängt. In deinem einfachen Beispiel wäre ein switch sicher kompakter, aber schon bei der nächsten Stufe des Programms (die Fragen- und Antworten-Kombinationen flexibler anpssen zu können) kommst du mit switch nicht mehr weiter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066578</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 20 May 2011 20:43:39 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Wer wird Millionär&amp;quot; esle if-Problem on Fri, 20 May 2011 20:56:49 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Da kann man nicht so pauschal beantworten, weil es von zu vielen Bedingungen abhängt. In deinem einfachen Beispiel wäre ein switch sicher kompakter, aber schon bei der nächsten Stufe des Programms (die Fragen- und Antworten-Kombinationen flexibler anpssen zu können) kommst du mit switch nicht mehr weiter.</p>
</blockquote>
<p>Okay und wie sieht es aus mit switch und if kombinieren?<br />
Ist sowas üblcih oder macht man entweder eins oder das Andere?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066582</guid><dc:creator><![CDATA[gabbas1]]></dc:creator><pubDate>Fri, 20 May 2011 20:56:49 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Wer wird Millionär&amp;quot; esle if-Problem on Sat, 21 May 2011 07:26:07 GMT]]></title><description><![CDATA[<p>gabbas1 schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>Da kann man nicht so pauschal beantworten, weil es von zu vielen Bedingungen abhängt. In deinem einfachen Beispiel wäre ein switch sicher kompakter, aber schon bei der nächsten Stufe des Programms (die Fragen- und Antworten-Kombinationen flexibler anpssen zu können) kommst du mit switch nicht mehr weiter.</p>
</blockquote>
<p>Okay und wie sieht es aus mit switch und if kombinieren?<br />
Ist sowas üblcih oder macht man entweder eins oder das Andere?</p>
</blockquote>
<p>Auch das kann man nicht pauschal beantworten <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="😉"
    /> Es kommt einfach auf die Menge drauf an und was du überhaupt vorhast. Prinzipiell sind alle möglichen Kombinationen möglich, aber wie gesagt pauschal kann man das nicht beantworten.</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066635</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Sat, 21 May 2011 07:26:07 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Wer wird Millionär&amp;quot; esle if-Problem on Sat, 21 May 2011 07:35:08 GMT]]></title><description><![CDATA[<p>Also ich habe durchaus schon if und switch miteinander verschachtelt, z.B. in der Form:</p>
<pre><code class="language-cpp">switch(taste)
{
  case F2:
    ...
  case F3:
    ...
  ...
  case F12:
    if(daten_ok())
      gehe_weiter();
    break;
  default:
    ...
}
</code></pre>
<p>(stark vereinfacht und übersetzt in C++ Syntax)</p>
<p>An welche Art von Kombination hast du denn gedacht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066638</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 21 May 2011 07:35:08 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Wer wird Millionär&amp;quot; esle if-Problem on Sat, 21 May 2011 17:13:44 GMT]]></title><description><![CDATA[<p>Vielen Dank für eure Antworten!</p>
<p>Also bei meinem &quot;wer wird Millionär Billigabklatsch&quot; werd ich so eine Verbindung von if und switch nciht brauchen und auch nicht nehemen. Ich wollte eher nur mal allgemein wissen, ob das so machbar und/oder üblich ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066854</guid><dc:creator><![CDATA[gabbas1]]></dc:creator><pubDate>Sat, 21 May 2011 17:13:44 GMT</pubDate></item></channel></rss>