<?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[Taschenrechner Problem]]></title><description><![CDATA[<p>Hey Community,<br />
Ich habe ein Problem mit einem Taschenrechner den ich vorhin geschrieben habe.<br />
Es gibt zwar keine Compiler oder Syntaxfehler, aber trotzdem wird nachdem ich die Nummer der Rechenart eingetippt habe nicht die Funktion aus der Switch-Schleife ausgeführt. Woran liegt das?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int addition(int lhs, int rhs)
{
    return lhs+rhs;
}

int subtraktion(int lhs, int rhs)
{
    return lhs-rhs;
}

int multiplikation(int lhs, int rhs)
{
    return lhs*rhs;
}

int division(int lhs, int rhs)
{
    if(rhs==0) return 0;
    else return lhs/rhs;
}

int main()
{
    int a,b;
    char input;

    cout&lt;&lt;&quot;Geben sie 2 Zahlen ein, mit denen sie rechnen möchten. \n&quot;;
    cin&gt;&gt;a;
    cin&gt;&gt;b;

    cout&lt;&lt;&quot;Geben sie nun ein wie gerechnet werden soll. \n&quot;
        &lt;&lt;&quot;1) Addieren \n&quot;
        &lt;&lt;&quot;2) Subtrahieren \n&quot;
        &lt;&lt;&quot;3) Multiplizieren \n&quot;
        &lt;&lt;&quot;4) Dividieren \n&quot;
        &lt;&lt;&quot;q) Quit \n&quot;;

    cin&gt;&gt;input;
    switch(input)
    {
         case 1:
              cout&lt;&lt;&quot;Das Ergebnis aus &quot;&lt;&lt;a&lt;&lt;&quot; + &quot;&lt;&lt;b&lt;&lt;&quot; ist &quot;&lt;&lt;addition(a,b)&lt;&lt;endl;
         break;
         case 2:
              cout&lt;&lt;&quot;Das Ergebnis aus &quot;&lt;&lt;a&lt;&lt;&quot; - &quot;&lt;&lt;b&lt;&lt;&quot; ist &quot;&lt;&lt;subtraktion(a,b)&lt;&lt;endl;
         break;
         case 3:
              cout&lt;&lt;&quot;Das Ergebnis aus &quot;&lt;&lt;a&lt;&lt;&quot; x &quot;&lt;&lt;b&lt;&lt;&quot; ist &quot;&lt;&lt;multiplikation(a,b)&lt;&lt;endl;
         break;
         case 4:
              cout&lt;&lt;&quot;Das Ergebnis aus &quot;&lt;&lt;a&lt;&lt;&quot; : &quot;&lt;&lt;b&lt;&lt;&quot; ist &quot;&lt;&lt;division(a,b)&lt;&lt;endl;
         break;
         case 'q':
         return EXIT_SUCCESS;
    }
    system(&quot;PAUSE&quot;);
}
</code></pre>
<p>PS: Ich bin ein C++ Anfänger, deswegen bitte die Lösung ein wenig Anfängerfreundlich formulieren. <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/236933/taschenrechner-problem</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 15:35:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/236933.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 21 Mar 2009 23:46:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Taschenrechner Problem on Sat, 21 Mar 2009 23:46:35 GMT]]></title><description><![CDATA[<p>Hey Community,<br />
Ich habe ein Problem mit einem Taschenrechner den ich vorhin geschrieben habe.<br />
Es gibt zwar keine Compiler oder Syntaxfehler, aber trotzdem wird nachdem ich die Nummer der Rechenart eingetippt habe nicht die Funktion aus der Switch-Schleife ausgeführt. Woran liegt das?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int addition(int lhs, int rhs)
{
    return lhs+rhs;
}

int subtraktion(int lhs, int rhs)
{
    return lhs-rhs;
}

int multiplikation(int lhs, int rhs)
{
    return lhs*rhs;
}

int division(int lhs, int rhs)
{
    if(rhs==0) return 0;
    else return lhs/rhs;
}

int main()
{
    int a,b;
    char input;

    cout&lt;&lt;&quot;Geben sie 2 Zahlen ein, mit denen sie rechnen möchten. \n&quot;;
    cin&gt;&gt;a;
    cin&gt;&gt;b;

    cout&lt;&lt;&quot;Geben sie nun ein wie gerechnet werden soll. \n&quot;
        &lt;&lt;&quot;1) Addieren \n&quot;
        &lt;&lt;&quot;2) Subtrahieren \n&quot;
        &lt;&lt;&quot;3) Multiplizieren \n&quot;
        &lt;&lt;&quot;4) Dividieren \n&quot;
        &lt;&lt;&quot;q) Quit \n&quot;;

    cin&gt;&gt;input;
    switch(input)
    {
         case 1:
              cout&lt;&lt;&quot;Das Ergebnis aus &quot;&lt;&lt;a&lt;&lt;&quot; + &quot;&lt;&lt;b&lt;&lt;&quot; ist &quot;&lt;&lt;addition(a,b)&lt;&lt;endl;
         break;
         case 2:
              cout&lt;&lt;&quot;Das Ergebnis aus &quot;&lt;&lt;a&lt;&lt;&quot; - &quot;&lt;&lt;b&lt;&lt;&quot; ist &quot;&lt;&lt;subtraktion(a,b)&lt;&lt;endl;
         break;
         case 3:
              cout&lt;&lt;&quot;Das Ergebnis aus &quot;&lt;&lt;a&lt;&lt;&quot; x &quot;&lt;&lt;b&lt;&lt;&quot; ist &quot;&lt;&lt;multiplikation(a,b)&lt;&lt;endl;
         break;
         case 4:
              cout&lt;&lt;&quot;Das Ergebnis aus &quot;&lt;&lt;a&lt;&lt;&quot; : &quot;&lt;&lt;b&lt;&lt;&quot; ist &quot;&lt;&lt;division(a,b)&lt;&lt;endl;
         break;
         case 'q':
         return EXIT_SUCCESS;
    }
    system(&quot;PAUSE&quot;);
}
</code></pre>
<p>PS: Ich bin ein C++ Anfänger, deswegen bitte die Lösung ein wenig Anfängerfreundlich formulieren. <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/1684106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684106</guid><dc:creator><![CDATA[Xdab4yaX]]></dc:creator><pubDate>Sat, 21 Mar 2009 23:46:35 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner Problem on Sat, 21 Mar 2009 23:50:18 GMT]]></title><description><![CDATA[<p>Du liest einen char ein. Wenn du nun 1 eintippst entspricht das in C++ '1'.<br />
Und '1' ist != 1.</p>
<p>Zwar können char-Werte implizit in Ganzzahlen umgewandelt werden, aber dabei gilt halt '1' != 1 etc.</p>
<p>Du musst entweder den character in eine Ganzzahl umwandeln oder deine Switch anpassen. (1 durch '1' ersetzen, 2 durch '2' etc.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684107</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Sat, 21 Mar 2009 23:50:18 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner Problem on Sat, 21 Mar 2009 23:51:57 GMT]]></title><description><![CDATA[<p>Soweit ich das sehen kann liegt der Fehler darin, dass du faelschlicherweise den ASCII-Code von input pruefst und nicht das 'tatsaechliche' Zeichen.<br />
Hier eine Verbesserung:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int addition(int lhs, int rhs)
{
    return lhs+rhs;
}

int subtraktion(int lhs, int rhs)
{
    return lhs-rhs;
}

int multiplikation(int lhs, int rhs)
{
    return lhs*rhs;
}

int division(int lhs, int rhs)
{
    if(rhs==0) return 0;
    else return lhs/rhs;
}

int main()
{
    int a,b;
    char input;

    cout&lt;&lt;&quot;Geben sie 2 Zahlen ein, mit denen sie rechnen möchten. \n&quot;;
    cin&gt;&gt;a;
    cin&gt;&gt;b;

    cout&lt;&lt;&quot;Geben sie nun ein wie gerechnet werden soll. \n&quot;
        &lt;&lt;&quot;1) Addieren \n&quot;
        &lt;&lt;&quot;2) Subtrahieren \n&quot;
        &lt;&lt;&quot;3) Multiplizieren \n&quot;
        &lt;&lt;&quot;4) Dividieren \n&quot;
        &lt;&lt;&quot;q) Quit \n&quot;;

    cin&gt;&gt;input;
    switch(input)
    {
         case '1':
              cout&lt;&lt;&quot;Das Ergebnis aus &quot;&lt;&lt;a&lt;&lt;&quot; + &quot;&lt;&lt;b&lt;&lt;&quot; ist &quot;&lt;&lt;addition(a,b)&lt;&lt;endl;
         break;
         case '2':
              cout&lt;&lt;&quot;Das Ergebnis aus &quot;&lt;&lt;a&lt;&lt;&quot; - &quot;&lt;&lt;b&lt;&lt;&quot; ist &quot;&lt;&lt;subtraktion(a,b)&lt;&lt;endl;
         break;
         case '3':
              cout&lt;&lt;&quot;Das Ergebnis aus &quot;&lt;&lt;a&lt;&lt;&quot; x &quot;&lt;&lt;b&lt;&lt;&quot; ist &quot;&lt;&lt;multiplikation(a,b)&lt;&lt;endl;
         break;
         case '4':
              cout&lt;&lt;&quot;Das Ergebnis aus &quot;&lt;&lt;a&lt;&lt;&quot; : &quot;&lt;&lt;b&lt;&lt;&quot; ist &quot;&lt;&lt;division(a,b)&lt;&lt;endl;
         break;
         case 'q':
         return EXIT_SUCCESS;
    }
    system(&quot;PAUSE&quot;);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1684108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684108</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Sat, 21 Mar 2009 23:51:57 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner Problem on Sat, 21 Mar 2009 23:52:52 GMT]]></title><description><![CDATA[<p>Schau mal, auf welchen Typen du im <code>switch</code> prüfst, und was bei den <code>case</code> -Marken für Konstanten stehen. Tipp: ASCII <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>
<p>Aber abgesehen davon brauchst du für so kleine Dinge wohl keine Funktionen zu schreiben. Und ich würde den gleich bleibenden Teil <code>cout &lt;&lt; &quot;Das Erg...</code> nur einmal nach der Abfrage schreiben, um Codeduplizierung zu vermeiden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684110</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 21 Mar 2009 23:52:52 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner Problem on Sat, 21 Mar 2009 23:56:32 GMT]]></title><description><![CDATA[<p>Ah, gut, damit hat sich dann auch erledigt warum, wenn ich 'q' eingebe, die Funktion ausgeführt wird. Vielen Dank für die schnellen Antworten, ich kenne kaum ein Forum das so schnell Support bietet <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/1684112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684112</guid><dc:creator><![CDATA[Xdab4yaX]]></dc:creator><pubDate>Sat, 21 Mar 2009 23:56:32 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner Problem on Sun, 22 Mar 2009 08:41:33 GMT]]></title><description><![CDATA[<p>hmmm das Problem hat sich wohl geklärt aber ich frage mich persönlich warum du das gemacht hasst:</p>
<pre><code class="language-cpp">char input;
</code></pre>
<p>wäre es nicht einfacher und logischer es so zu machen(?):</p>
<pre><code class="language-cpp">int input;
</code></pre>
<p>aber ich glaube ich hab was übersehen oder dis is einfach nur dumm was ich laber.... <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>
<p>fg Wurst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684144</guid><dc:creator><![CDATA[wurstuk]]></dc:creator><pubDate>Sun, 22 Mar 2009 08:41:33 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner Problem on Sun, 22 Mar 2009 09:15:45 GMT]]></title><description><![CDATA[<p>Naja, er möchte auf &quot;q&quot; prüfen, q wie quit <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/1684152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684152</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Sun, 22 Mar 2009 09:15:45 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner Problem on Sun, 22 Mar 2009 09:18:19 GMT]]></title><description><![CDATA[<p>achso stimmt hab ich vergessen... aber könnte er ja auch ne zahl für nehmen^^ egal...</p>
<p>fg Wurst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684153</guid><dc:creator><![CDATA[wurstuk]]></dc:creator><pubDate>Sun, 22 Mar 2009 09:18:19 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner Problem on Sun, 22 Mar 2009 10:51:24 GMT]]></title><description><![CDATA[<p>Hm, nur ist der Speicherbedarf bei ints vier mal groesser als bei einem char. Ist aber heutzutage wohl nich wirklich schlimm. Trotzdem sollte meiner Meinung nach die Auswahl des Variablentyps durchdacht sein.</p>
<p>Wenn das &quot;Menue&quot; allerdings mehr als 10 Eintraege hat, konnt man mit char nich sehr weit. Bei einem Integer haette man dann den Nachteil, dass man nur Zahlen pruefen koennte (anderenfalls wuerde eine Exception aufgerufen werden). Dann waere eventuell noch std::string eine Moeglichkeit.</p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684175</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Sun, 22 Mar 2009 10:51:24 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner Problem on Sun, 22 Mar 2009 10:54:27 GMT]]></title><description><![CDATA[<p>Eric Cartman schrieb:</p>
<blockquote>
<p>Wenn das &quot;Menue&quot; allerdings mehr als 10 Eintraege hat,</p>
</blockquote>
<p>zum glück ist das problem nicht akut. <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/1684178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684178</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 22 Mar 2009 10:54:27 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner Problem on Sun, 22 Mar 2009 11:13:38 GMT]]></title><description><![CDATA[<p>Naja, genau genommen müsste man sowieso noch die Eingabe überprüfen und Fehleingaben abfangen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684186</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 22 Mar 2009 11:13:38 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner Problem on Sun, 22 Mar 2009 14:38:40 GMT]]></title><description><![CDATA[<p>Natürlich müsste man das noch überprüfen.<br />
Doch der Taschenrechner an sich ist ja kein Projekt, sondern lediglich ein kleiner Test meiner Fähigkeiten <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="🙂"
    /> Ich bin ja gerade dabei C++ zu lernen und wollte nun mal etwas mit dem gelernten anstellen, denn Übung macht den Meister <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/1684305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684305</guid><dc:creator><![CDATA[Xdab4yaX]]></dc:creator><pubDate>Sun, 22 Mar 2009 14:38:40 GMT</pubDate></item></channel></rss>