<?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[Es wird immer eine 0 zurückgeliefert]]></title><description><![CDATA[<p>Hallo,</p>
<p>wir sollten einen kleinen Taschenrechner bauen und mit goto, switch-case usw. rumspielen. Ich hab dabei folgenden Code:</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

int main(){

	cout &lt;&lt; &quot;\nWillkommen. Ich bin ein Taschenrechner.&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;Ich beherrsche die vier Grundrechenarten.&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;Sie können auswaehlen: &quot; &lt;&lt; endl;

	//Variablen
	restart:
	char eingabe;
	int funktion;

	cout &lt;&lt; &quot;\t1) 'a' fuer Addition&quot; &lt;&lt;endl;
	cout &lt;&lt; &quot;\t2) 's' fuer Subtraktion&quot; &lt;&lt;endl;
	cout &lt;&lt; &quot;\t3) 'm' fuer Multiplikation&quot; &lt;&lt;endl;
	cout &lt;&lt; &quot;\t4) 'd' fuer Division&quot; &lt;&lt;endl;
	cout &lt;&lt; &quot;\n\tIhre Wahl: &quot;;
	cin &gt;&gt; eingabe;

	switch(eingabe){
		case 'a' : funktion = 1; break;
		case 's' : funktion = 2; break;
		case 'm' : funktion = 3; break;
		case 'd' : funktion = 4; break;
		default :  cout &lt;&lt; &quot;\nSie haben eine falsche Eingabe gemacht.&quot;&lt;&lt;endl; goto restart; break;
	}

	int x;
	int y;
	int result;

	cout &lt;&lt; &quot;\nGeben Sie die erste Zahl ein: &quot; ;
	cin &gt;&gt; x;
	cout &lt;&lt; &quot;Geben Sie die zweite Zahl ein: &quot;;
	cin &gt;&gt; y;

	if(funktion == 1) result = x+y;
	if(funktion == 2) result = x-y;
	if(funktion == 3) result = x*y;
	if(funktion == 4 &amp;&amp; (y == 0)){
		cout &lt;&lt; &quot;\nEine Division ist nicht moeglich. Bitte geben Sie die zweite Zahl erneut ein: &quot;;
		cin &gt;&gt; y;	
		result = x/y;
	} else result = x/y;

	bool weiter;
	char c;
	cout &lt;&lt; &quot;\nDas Ergebnis ist: &quot; &lt;&lt; result &lt;&lt;&quot;. Wollen sie erneut rechnen (j/n)?&quot; &lt;&lt; endl;
	cin &gt;&gt; c;
	if(c == 'j') weiter = true;
	else weiter = false;

	if(weiter) goto restart;
	return 0;
}
</code></pre>
<p>Komischerweise liefert er z.B., wenn ich Addition drücke und dann z.B. x=3 und y=4 mache, als result immer 0...auch in einigen anderen Fällen ist das so. Warum? Ich sehe nirgends einen logischen Fehler...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/251556/es-wird-immer-eine-0-zurückgeliefert</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 10:08:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/251556.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Oct 2009 21:40:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Tue, 06 Oct 2009 21:40:35 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wir sollten einen kleinen Taschenrechner bauen und mit goto, switch-case usw. rumspielen. Ich hab dabei folgenden Code:</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

int main(){

	cout &lt;&lt; &quot;\nWillkommen. Ich bin ein Taschenrechner.&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;Ich beherrsche die vier Grundrechenarten.&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;Sie können auswaehlen: &quot; &lt;&lt; endl;

	//Variablen
	restart:
	char eingabe;
	int funktion;

	cout &lt;&lt; &quot;\t1) 'a' fuer Addition&quot; &lt;&lt;endl;
	cout &lt;&lt; &quot;\t2) 's' fuer Subtraktion&quot; &lt;&lt;endl;
	cout &lt;&lt; &quot;\t3) 'm' fuer Multiplikation&quot; &lt;&lt;endl;
	cout &lt;&lt; &quot;\t4) 'd' fuer Division&quot; &lt;&lt;endl;
	cout &lt;&lt; &quot;\n\tIhre Wahl: &quot;;
	cin &gt;&gt; eingabe;

	switch(eingabe){
		case 'a' : funktion = 1; break;
		case 's' : funktion = 2; break;
		case 'm' : funktion = 3; break;
		case 'd' : funktion = 4; break;
		default :  cout &lt;&lt; &quot;\nSie haben eine falsche Eingabe gemacht.&quot;&lt;&lt;endl; goto restart; break;
	}

	int x;
	int y;
	int result;

	cout &lt;&lt; &quot;\nGeben Sie die erste Zahl ein: &quot; ;
	cin &gt;&gt; x;
	cout &lt;&lt; &quot;Geben Sie die zweite Zahl ein: &quot;;
	cin &gt;&gt; y;

	if(funktion == 1) result = x+y;
	if(funktion == 2) result = x-y;
	if(funktion == 3) result = x*y;
	if(funktion == 4 &amp;&amp; (y == 0)){
		cout &lt;&lt; &quot;\nEine Division ist nicht moeglich. Bitte geben Sie die zweite Zahl erneut ein: &quot;;
		cin &gt;&gt; y;	
		result = x/y;
	} else result = x/y;

	bool weiter;
	char c;
	cout &lt;&lt; &quot;\nDas Ergebnis ist: &quot; &lt;&lt; result &lt;&lt;&quot;. Wollen sie erneut rechnen (j/n)?&quot; &lt;&lt; endl;
	cin &gt;&gt; c;
	if(c == 'j') weiter = true;
	else weiter = false;

	if(weiter) goto restart;
	return 0;
}
</code></pre>
<p>Komischerweise liefert er z.B., wenn ich Addition drücke und dann z.B. x=3 und y=4 mache, als result immer 0...auch in einigen anderen Fällen ist das so. Warum? Ich sehe nirgends einen logischen Fehler...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1788945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788945</guid><dc:creator><![CDATA[lil_pingu]]></dc:creator><pubDate>Tue, 06 Oct 2009 21:40:35 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Tue, 06 Oct 2009 21:45:50 GMT]]></title><description><![CDATA[<p>Schau mal genau, was passiert bei den if's. Was wird ausgeführt, was nicht?</p>
<p>Geh da mal mit dem Debugger durch, dann findest du den Logik Fehler.</p>
<p>Kleiner Tipp:<br />
else if ist manchmal sehr nützlich. <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/1788947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788947</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 06 Oct 2009 21:45:50 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Tue, 06 Oct 2009 22:05:00 GMT]]></title><description><![CDATA[<p>ok, habs gelöst =). else if ist wirklich gut <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1788951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788951</guid><dc:creator><![CDATA[lil_pingu]]></dc:creator><pubDate>Tue, 06 Oct 2009 22:05:00 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Wed, 07 Oct 2009 07:03:04 GMT]]></title><description><![CDATA[<p>und tu die verdammten gotos weg... das brauch keine Sau, insbesondere nicht in deinem Anwendungsfall <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/1789005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789005</guid><dc:creator><![CDATA[It0101]]></dc:creator><pubDate>Wed, 07 Oct 2009 07:03:04 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Wed, 07 Oct 2009 07:32:48 GMT]]></title><description><![CDATA[<p>ich weiß ich weiß, die gotos sind hässlich und ich mag sie auch nicht, aber unser prof wollte, dass wir das auch einbauen...er meinte, wir sollen versuchen, alle konzepte einzubauen, die wir an dem tag gelernt haben(ist ein blockkurs c++) und da haben wir halt goto, switch, if, while usw. gelernt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1789014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789014</guid><dc:creator><![CDATA[lil_pingu]]></dc:creator><pubDate>Wed, 07 Oct 2009 07:32:48 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Wed, 07 Oct 2009 07:47:51 GMT]]></title><description><![CDATA[<p>lil_pingu schrieb:</p>
<blockquote>
<p>ich weiß ich weiß, die gotos sind hässlich und ich mag sie auch nicht, aber unser prof wollte, dass wir das auch einbauen...er meinte, wir sollen versuchen, alle konzepte einzubauen, die wir an dem tag gelernt haben(ist ein blockkurs c++) und da haben wir halt goto, switch, if, while usw. gelernt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>wenn du while gelernt hast, wirst du auch do-while gelernt haben: also nimm die schleife... sonst hast du die nämlich auch nicht verwendet - und goto braucht man in C++ einfach so gut wie nie - brauchst also auch nicht lernen, wie man es verwendet...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1789028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789028</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Wed, 07 Oct 2009 07:47:51 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Wed, 07 Oct 2009 17:32:51 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>brauchst also auch nicht lernen, wie man es verwendet...</p>
</blockquote>
<p>Och.. das würde ich so nicht sagen. Ich finde es lohnt sich durchaus das Konzept zu kennen und zu wissen, warum man es nicht übermässig einsetzen sollte. Und es ist ja nicht gerade viel Aufwand das zu &quot;lernen&quot; und wenn man es mal wirklich braucht, dann weiss man wenigstens, dass es auch noch goto gibt.</p>
<p>Wenn ich goto wirklich brauche (was in der Tat nicht oft ist), dann ist es doch ein ganz nütztliches Sprachfeature.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1789343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789343</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 07 Oct 2009 17:32:51 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Wed, 07 Oct 2009 17:46:50 GMT]]></title><description><![CDATA[<p>Wenn ich allerdings von meinem Lehrer höre, dass ich das, was wir in der letzten Stunde gelernt haben, nutze (und wir hatten auch schleifen), kann ich mir kaum vorstellen, dass er die Lösung mit label/goto toller findet als die mit do/while...</p>
<p>Ich hab bisher nur einmal goto gesehen, wo ich fand, dass es ne Erleichterung war und so - hatte volkard glaub mal in irgend ner Fkt genommen, die mit irgendwelchen C-APIs arbeitet...</p>
<pre><code class="language-cpp">{
  R1 a = get_funky_stuff();
  if(a == R1_ERROR_CODE)
    goto end;

  R2 b = get_very_funky_stuff(a);
  if(b == R2_ERROR_CODE)
    goto free_funky;

  R3 c = get_incredible_stuff(b);
  if(c == R3_ERROR_CODE)
    goto free_very_funky;

  /*...*/

  free_incredible_stuff(c);
 very_free_funky:
  free_very_funky_stuff(b);
 free_funky:
  free_funky_stuff(a);
 end:
}
</code></pre>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1789353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789353</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Wed, 07 Oct 2009 17:46:50 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Wed, 07 Oct 2009 17:51:51 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>Wenn ich allerdings von meinem Lehrer höre, dass ich das, was wir in der letzten Stunde gelernt haben, nutze (und wir hatten auch schleifen), kann ich mir kaum vorstellen, dass er die Lösung mit label/goto toller findet als die mit do/while...</p>
</blockquote>
<p>Habe ich jetzt rein grammatisch nicht ganz verstanden, aber ich wollte nur sagen, dass man sich die 5 Minuten, die es braucht goto zu begreifen ruhig nehmen sollte, weil es durchaus Sinn machen kann und dann ist man froh. Aber man sollte sich dann auch die 20 Minuten nehmen und darüber nachdenken, warum in den meisten Fällen ein goto eben Fehl am Platze ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1789356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789356</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 07 Oct 2009 17:51:51 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Wed, 07 Oct 2009 18:38:40 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>Wenn ich allerdings von meinem Lehrer höre, dass ich das, was wir in der letzten Stunde gelernt haben, nutze<strong>n sollen</strong> (und wir hatten auch schleifen), kann ich mir kaum vorstellen, dass er [der lehrer] die Lösung mit label/goto toller findet als die mit do/while...</p>
</blockquote>
<p>&quot;Habe ich jetzt rein grammatisch nicht ganz verstanden&quot;<br />
jopp, sry - da fehlten 2 wörter <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="😃"
    /> naja, das mit dem nachdenken ist manchmal... komisch <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=";D"
      alt="😉"
    /></p>
<p>drakon schrieb:</p>
<blockquote>
<p>[...]aber ich wollte nur sagen, dass man sich die 5 Minuten, die es braucht goto zu begreifen ruhig nehmen sollte, weil es durchaus Sinn machen kann und dann ist man froh. Aber man sollte sich dann auch die 20 Minuten nehmen und darüber nachdenken, warum in den meisten Fällen ein goto eben Fehl am Platze ist.</p>
</blockquote>
<p>ok - da kann ich mitgehen</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1789369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789369</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Wed, 07 Oct 2009 18:38:40 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Wed, 07 Oct 2009 18:52:59 GMT]]></title><description><![CDATA[<p>Ahh.. so macht das natürlich mehr Sinn. <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/1789375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789375</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 07 Oct 2009 18:52:59 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Wed, 07 Oct 2009 18:58:32 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Ahh.. so macht das natürlich mehr Sinn. <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>
</blockquote>
<p>mir war doch so <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=";D"
      alt="😉"
    /><br />
gn8^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1789378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789378</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Wed, 07 Oct 2009 18:58:32 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Thu, 08 Oct 2009 14:05:35 GMT]]></title><description><![CDATA[<p>deshalb nutze ich bei so einem if gefrickel auch immer gerne trotzdem noch die Klammern, ich weiß ich finde das übersichtlicher. und die 4. if-klausel ist etwas<br />
&quot;zu eng&quot;.<br />
gehört zur Übersichtlichkeit genauso wie goto, auch wenn goto noch Fehler hervorrufen kann. Bla Bla goto, darüber wurde SOOOOOOO oft diskutiert und das resultat IMMER: NEIN also keine Begründungen bla bla, ist einfach mist (Punkt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1789716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789716</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Thu, 08 Oct 2009 14:05:35 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Thu, 08 Oct 2009 14:54:06 GMT]]></title><description><![CDATA[<p>Ich programmiere in Scheme, it is the ultimate goto <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="🙂"
    /> <a href="http://library.readscheme.org/page1.html" rel="nofollow">LAMBDA: The Ultimate GOTO</a> Dort wird das Konzept kritisiert, aber nicht das Sprachkonstrukt. Aber es gibt meist auch bessere Alternativen in Hochsprachen als goto.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1789741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789741</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Thu, 08 Oct 2009 14:54:06 GMT</pubDate></item><item><title><![CDATA[Reply to Es wird immer eine 0 zurückgeliefert on Thu, 08 Oct 2009 14:51:54 GMT]]></title><description><![CDATA[<p>Du solltest auch die Variablentypen, mit denen du rechnest, auf double umstellen, damit die Division vernünftig funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1789748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789748</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Thu, 08 Oct 2009 14:51:54 GMT</pubDate></item></channel></rss>