<?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[Erst Projekt Taschenrechner - verbesserungsvorschläge]]></title><description><![CDATA[<p>Guten Tag</p>
<p>Ich lerne seit ca. 1 Woche programmieren mit dem Buch C++ von A bis Z<br />
bin daher noch relativ am anfang , meine IDE ist codeblocks auf XP</p>
<p>Ich hab mich dann nun für ein Erstprojekt entschieden den &quot;Taschenrechner&quot;<br />
Mit + - * / Ich versuche meine &quot;erlerntes&quot; in den Code einfließen zu lassen.</p>
<p>Ich hoffe ihr könntet mir behilflich sein den Code zu &quot;optimieren&quot; nur ein paar vorschläge wie ich es besser machen könnte , bitte auf anfänger basis <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>Ich versuche Morgen / Übermorgen nen neuen Rechner zu machen mit Case und Switch funktionen .</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main(void)

{
    int var1, var2, var3, var4;
    cout &lt;&lt; &quot;Taschenrechner 0.1 by Farcry  '\n' &quot;;
    cout &lt;&lt; &quot;Bitte geben sie die erste Zahl ein: &quot; ;
    cin &gt;&gt; var1;
    cout &lt;&lt; &quot;Bitte geben sie die zweite Zahl ein:  '\n' &quot; ;
    cin &gt;&gt; var2;
    cout &lt;&lt; &quot; 1 = Addition '\n'  &quot; ;
    cout &lt;&lt; &quot; 2 = Subtration '\n'  &quot; ;
    cout &lt;&lt; &quot; 3 = Division '\n'  &quot; ;
    cout &lt;&lt; &quot; 4 = Multiplikation '\n'  &quot; ;
    cout &lt;&lt; &quot;Bitte geben sie die rechenart ein: '\n' &quot;;
    cin &gt;&gt; var3;

    if( var3 == 1 )
    {
        var4 = var1 + var2;
        cout &lt;&lt; var1 &lt;&lt; &quot; + &quot; &lt;&lt; var2 &lt;&lt; &quot; = &quot; &lt;&lt; var4 &lt;&lt; '\n' ;
    }

    else if ( var3 == 2 )
    {
        var4 = var1 - var2;
        cout &lt;&lt; var1 &lt;&lt; &quot; - &quot; &lt;&lt; var2 &lt;&lt; &quot; = &quot;&lt;&lt; var4 &lt;&lt; '\n' ;
    }

    else if ( var3 == 3 )
    {
        cout &lt;&lt; var1 &lt;&lt; &quot; / &quot; &lt;&lt; var2 &lt;&lt; &quot; = &quot;&lt;&lt; (var1/var2) &lt;&lt; '\n' ;
    }

    else if ( var3 == 4 )
    {
        cout &lt;&lt; var1 &lt;&lt; &quot; * &quot; &lt;&lt; var2 &lt;&lt; &quot; = &quot; &lt;&lt; (var1*var2) &lt;&lt; '\n' ;
    }

    if ( !(cin &gt;&gt; var1) )
    {
        cerr &lt;&lt; &quot; ERROR &quot; ;
    }

    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/295703/erst-projekt-taschenrechner-verbesserungsvorschläge</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 08:02:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/295703.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Nov 2011 15:51:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Erst Projekt Taschenrechner - verbesserungsvorschläge on Sat, 19 Nov 2011 15:51:22 GMT]]></title><description><![CDATA[<p>Guten Tag</p>
<p>Ich lerne seit ca. 1 Woche programmieren mit dem Buch C++ von A bis Z<br />
bin daher noch relativ am anfang , meine IDE ist codeblocks auf XP</p>
<p>Ich hab mich dann nun für ein Erstprojekt entschieden den &quot;Taschenrechner&quot;<br />
Mit + - * / Ich versuche meine &quot;erlerntes&quot; in den Code einfließen zu lassen.</p>
<p>Ich hoffe ihr könntet mir behilflich sein den Code zu &quot;optimieren&quot; nur ein paar vorschläge wie ich es besser machen könnte , bitte auf anfänger basis <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>Ich versuche Morgen / Übermorgen nen neuen Rechner zu machen mit Case und Switch funktionen .</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main(void)

{
    int var1, var2, var3, var4;
    cout &lt;&lt; &quot;Taschenrechner 0.1 by Farcry  '\n' &quot;;
    cout &lt;&lt; &quot;Bitte geben sie die erste Zahl ein: &quot; ;
    cin &gt;&gt; var1;
    cout &lt;&lt; &quot;Bitte geben sie die zweite Zahl ein:  '\n' &quot; ;
    cin &gt;&gt; var2;
    cout &lt;&lt; &quot; 1 = Addition '\n'  &quot; ;
    cout &lt;&lt; &quot; 2 = Subtration '\n'  &quot; ;
    cout &lt;&lt; &quot; 3 = Division '\n'  &quot; ;
    cout &lt;&lt; &quot; 4 = Multiplikation '\n'  &quot; ;
    cout &lt;&lt; &quot;Bitte geben sie die rechenart ein: '\n' &quot;;
    cin &gt;&gt; var3;

    if( var3 == 1 )
    {
        var4 = var1 + var2;
        cout &lt;&lt; var1 &lt;&lt; &quot; + &quot; &lt;&lt; var2 &lt;&lt; &quot; = &quot; &lt;&lt; var4 &lt;&lt; '\n' ;
    }

    else if ( var3 == 2 )
    {
        var4 = var1 - var2;
        cout &lt;&lt; var1 &lt;&lt; &quot; - &quot; &lt;&lt; var2 &lt;&lt; &quot; = &quot;&lt;&lt; var4 &lt;&lt; '\n' ;
    }

    else if ( var3 == 3 )
    {
        cout &lt;&lt; var1 &lt;&lt; &quot; / &quot; &lt;&lt; var2 &lt;&lt; &quot; = &quot;&lt;&lt; (var1/var2) &lt;&lt; '\n' ;
    }

    else if ( var3 == 4 )
    {
        cout &lt;&lt; var1 &lt;&lt; &quot; * &quot; &lt;&lt; var2 &lt;&lt; &quot; = &quot; &lt;&lt; (var1*var2) &lt;&lt; '\n' ;
    }

    if ( !(cin &gt;&gt; var1) )
    {
        cerr &lt;&lt; &quot; ERROR &quot; ;
    }

    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2146363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146363</guid><dc:creator><![CDATA[Farcry]]></dc:creator><pubDate>Sat, 19 Nov 2011 15:51:22 GMT</pubDate></item><item><title><![CDATA[Reply to Erst Projekt Taschenrechner - verbesserungsvorschläge on Sat, 19 Nov 2011 15:59:01 GMT]]></title><description><![CDATA[<p>Also als erstes solltest du das Buch verbrennen oder anderweitig unlesbar machen. Dann besorgst du dir ein ordentliches Buch und alles wird gut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146364</guid><dc:creator><![CDATA[bmario_]]></dc:creator><pubDate>Sat, 19 Nov 2011 15:59:01 GMT</pubDate></item><item><title><![CDATA[Reply to Erst Projekt Taschenrechner - verbesserungsvorschläge on Sat, 19 Nov 2011 16:00:48 GMT]]></title><description><![CDATA[<p>Du solltest dir umbedingt ein anderes Buch zulegen. Warum kannst du hier nachlesen: <a href="http://www.c-plusplus.net/forum/272350" rel="nofollow">http://www.c-plusplus.net/forum/272350</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146366</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Sat, 19 Nov 2011 16:00:48 GMT</pubDate></item><item><title><![CDATA[Reply to Erst Projekt Taschenrechner - verbesserungsvorschläge on Sat, 19 Nov 2011 16:10:51 GMT]]></title><description><![CDATA[<p>Ich fand es bisher nicht schlecht , die beispiele waren zwar nicht die besten aber für mich ist es leicht verständlich und ich komme gut mit diesem Buch klar<br />
Auserdem geht es hier in dem Thread doch garnicht um das Buch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146370</guid><dc:creator><![CDATA[Farcry]]></dc:creator><pubDate>Sat, 19 Nov 2011 16:10:51 GMT</pubDate></item><item><title><![CDATA[Reply to Erst Projekt Taschenrechner - verbesserungsvorschläge on Sat, 19 Nov 2011 16:35:07 GMT]]></title><description><![CDATA[<p>Bis jetzt sieht es zumindest noch nicht all zu schlimm aus. <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 eine Sache sollte dir doch auffallen: Vergleiche mal die Zeilen 35 und 40 mit 23 und 29.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146371</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 19 Nov 2011 16:35:07 GMT</pubDate></item><item><title><![CDATA[Reply to Erst Projekt Taschenrechner - verbesserungsvorschläge on Sat, 19 Nov 2011 16:35:47 GMT]]></title><description><![CDATA[<p>Farcry schrieb:</p>
<blockquote>
<p>Ich fand es bisher nicht schlecht , die beispiele waren zwar nicht die besten aber für mich ist es leicht verständlich und ich komme gut mit diesem Buch klar<br />
Auserdem geht es hier in dem Thread doch garnicht um das Buch.</p>
</blockquote>
<p>Du findest es vielleicht gut. Als Anfaenger merkt man ja auch nicht, dass man absoluten Muell lernt.<br />
Im Thread steht genug negatives zum Buch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146377</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Sat, 19 Nov 2011 16:35:47 GMT</pubDate></item><item><title><![CDATA[Reply to Erst Projekt Taschenrechner - verbesserungsvorschläge on Sat, 19 Nov 2011 16:38:20 GMT]]></title><description><![CDATA[<p>doch ich finde das buch gut für anfänger.</p>
<p>und zwar folgendermassen: man arbeitet ein kapitel aus einem guten buch durch (kA dem primer oder so) und nimmt sich dann das entsprechende kapital aus dem JW buch und streicht solange alle fehler an bis die ganze seite rot ist <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/2146379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146379</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 19 Nov 2011 16:38:20 GMT</pubDate></item><item><title><![CDATA[Reply to Erst Projekt Taschenrechner - verbesserungsvorschläge on Sat, 19 Nov 2011 17:45:55 GMT]]></title><description><![CDATA[<p>Ich habe noch einen super Taschenrechner von Herrn Salomon im Kopf. Wenn er nichts dagegen hat, verlinke ich <a href="http://www.c-plusplus.net/forum/p2056268?highlight=binaryoperation#2056268" rel="nofollow">ihn</a>. <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/2146398</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146398</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 19 Nov 2011 17:45:55 GMT</pubDate></item><item><title><![CDATA[Reply to Erst Projekt Taschenrechner - verbesserungsvorschläge on Sat, 19 Nov 2011 18:26:28 GMT]]></title><description><![CDATA[<p>Farcry schrieb:</p>
<blockquote>
<p>Ich hoffe ihr könntet mir behilflich sein den Code zu &quot;optimieren&quot; nur ein paar vorschläge wie ich es besser machen könnte , bitte auf anfänger basis <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>
</blockquote>
<p>Was hälst du denn hiervon?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;algorithm&gt;

int main()
{
    using namespace std;

    double zahl1; // int für Division macht nicht das, das du willst. 
    double zahl2;
    const char ops[] = &quot;AaSsDdMm&quot;; // Erlaubte Operationen
    char auswahl;

    cout &lt;&lt; &quot;Taschenrechner 0.1 by Farcry\n\n&quot;; // Du musst \n innerhalb einer Zeichenkette nicht in Hochkommas setzen.

    cout &lt;&lt; &quot;A = Addition\n&quot;;
    cout &lt;&lt; &quot;S = Subtration\n&quot;;
    cout &lt;&lt; &quot;D = Division\n&quot;;
    cout &lt;&lt; &quot;M = Multiplikation\n&quot;;
    cout &lt;&lt; &quot;\nBitte geben sie die Rechenart ein: &quot;;
    cin &gt;&gt; auswahl;

    if( find(ops,ops+sizeof(ops),auswahl) == ops+sizeof(ops) ) // Wurde eine erlaubte Operation eigegeben?
    {
        cout &lt;&lt; &quot;Fehlerhafte Eingabe&quot;;
        return -1;
    }

    cout &lt;&lt; &quot;\nBitte geben sie die erste Zahl ein: &quot;;
    cin &gt;&gt; zahl1;

    cout &lt;&lt; &quot;\nBitte geben sie die zweite Zahl ein: &quot;;
    cin &gt;&gt; zahl2;

    switch(auswahl) // Für Menüsachen eignet sich doch eine switch-Anweisung besser.
    {
        case 'A':
        case 'a':
            cout &lt;&lt; &quot;\nRechnung: &quot; &lt;&lt; zahl1 &lt;&lt; &quot; + &quot; &lt;&lt; zahl2 &lt;&lt; &quot; = &quot; &lt;&lt; zahl1+zahl2;
            break;

        case 'S':
        case 's':
            cout &lt;&lt; &quot;\nRechnung: &quot; &lt;&lt;  zahl1 &lt;&lt; &quot; - &quot; &lt;&lt; zahl2 &lt;&lt; &quot; = &quot; &lt;&lt; zahl1-zahl2;
            break;

        case 'D':
        case 'd':
            cout &lt;&lt; &quot;\nRechnung: &quot; &lt;&lt;  zahl1 &lt;&lt; &quot; / &quot; &lt;&lt; zahl2 &lt;&lt; &quot; = &quot; &lt;&lt; zahl1/zahl2;
            break;

        case 'M':
        case 'm':
            cout &lt;&lt; &quot;\nRechnung: &quot; &lt;&lt;  zahl1 &lt;&lt; &quot; * &quot; &lt;&lt; zahl2 &lt;&lt; &quot; = &quot; &lt;&lt; zahl1*zahl2;
            break;
    }

    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2146415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146415</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 19 Nov 2011 18:26:28 GMT</pubDate></item><item><title><![CDATA[Reply to Erst Projekt Taschenrechner - verbesserungsvorschläge on Sat, 19 Nov 2011 18:31:59 GMT]]></title><description><![CDATA[<p>Gugelmoser schrieb:</p>
<blockquote>
<p>Farcry schrieb:</p>
<blockquote>
<p>Ich hoffe ihr könntet mir behilflich sein den Code zu &quot;optimieren&quot; nur ein paar vorschläge wie ich es besser machen könnte , bitte auf anfänger basis <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>
</blockquote>
<p>Was hälst du denn hiervon?</p>
<pre><code class="language-cpp">...
</code></pre>
</blockquote>
<p>Magische Konstanten die mehrfach auftauchen? Das wäre eine passende Stelle um Aufzählungen einzuführen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146419</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 19 Nov 2011 18:31:59 GMT</pubDate></item><item><title><![CDATA[Reply to Erst Projekt Taschenrechner - verbesserungsvorschläge on Sat, 19 Nov 2011 19:06:44 GMT]]></title><description><![CDATA[<p>Gugelmoser schrieb:</p>
<blockquote>
<p>Was hälst du denn hiervon?</p>
</blockquote>
<p>Wenn du hier schon Array Hacks mit std::find auspackst, hättest du doch zumindest so etwas schreiben können:</p>
<pre><code class="language-cpp">int main()
{
  while (true)
  {
    double var1, var2;
    char operation;
    std::cout &lt;&lt; &quot;Please enter calculation: &quot;;
    std::cin &gt;&gt; var1 &gt;&gt; operation &gt;&gt; var2;
    if (std::cin.good())
    {
      switch (operation)
      {
      case '+':
        std::cout &lt;&lt; var1 + var2 &lt;&lt; '\n';
        break;
      case '-':
        std::cout &lt;&lt; var1 - var2 &lt;&lt; '\n';
        break;
      case '*':
        std::cout &lt;&lt; var1 * var2 &lt;&lt; '\n';
        break;
      case '/':
        std::cout &lt;&lt; var1 / var2 &lt;&lt; '\n';
        break;
      default:
        std::cerr &lt;&lt; &quot;Unkown operation: &quot; &lt;&lt; operation &lt;&lt; '\n';
        break;
      }
    }
    else
    {
      std::cerr &lt;&lt; &quot;Input error.\n&quot;;
      std::cin.clear();
      std::cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(), '\n');
    }
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2146430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146430</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 19 Nov 2011 19:06:44 GMT</pubDate></item><item><title><![CDATA[Reply to Erst Projekt Taschenrechner - verbesserungsvorschläge on Sat, 19 Nov 2011 18:51:47 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>Gugelmoser schrieb:</p>
<blockquote>
<p>Farcry schrieb:</p>
<blockquote>
<p>Ich hoffe ihr könntet mir behilflich sein den Code zu &quot;optimieren&quot; nur ein paar vorschläge wie ich es besser machen könnte , bitte auf anfänger basis <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>
</blockquote>
<p>Was hälst du denn hiervon?</p>
<pre><code class="language-cpp">...
</code></pre>
</blockquote>
<p>Magische Konstanten die mehrfach auftauchen? Das wäre eine passende Stelle um Aufzählungen einzuführen.</p>
</blockquote>
<p>Du meinst eine Aufzählungen hierfür?</p>
<pre><code class="language-cpp">const char ops[] = &quot;AaSsDdMm&quot;;
</code></pre>
<p>Aber dann muss man doch noch den operator&gt;&gt; überladen für die Eingabe und überprüfen welcher Buchstabe nun eingegebn wurde und ein enum-Objekt entsprechend setzen. Das bläht das Ganze doch voll auf, oder hab hab ich dich nun falsch verstanden, falls ja, kannst dann kurz ein Beispiel anführen :).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146433</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 19 Nov 2011 18:51:47 GMT</pubDate></item></channel></rss>