<?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]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe hier nun auf der Arbeit meinen ersten Taschenrechner programmiert und wollte von euch mal wissen was ich eventuell noch verbessern koennte.<br />
Ein Fehler ist mir schon aufgefallen undzwar hängt der Taschenrechner sich auf wenn man Zahlen mit einem Komma anstatt von einem Punkt eingibt fuer einen kleinen Tipp wie ich das Loesen koennte waere ich schoneinmal dankbar.</p>
<p>Was noch zu sagen ist das ich kein Profi bin ich Programmiere erst seit kurzem und bin noch etwas ungeuebt^^</p>
<p>so hier der Quelltext:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;
#include &lt;stdlib.h&gt;

using namespace std;

double a;
double b;
double Ergebnis;
int Auswahl;
char antwort;

int main()
{
 antwort = 'j';

 do{

 cout&lt;&lt;&quot;Ihr presoehnlicher Taschenrechner ;-)\n\n&quot;&lt;&lt;endl;

 cout&lt;&lt;&quot;Waehlen sie die gewuenschte Rechenoperation.\n\n&quot;;
 cout&lt;&lt;&quot;[1] Addition\n&quot;;
 cout&lt;&lt;&quot;[2] Subtraktion\n&quot;;
 cout&lt;&lt;&quot;[3] Multiplikation\n&quot;;
 cout&lt;&lt;&quot;[4] Division\n&quot;;
 cout&lt;&lt;&quot;[0] Programm Beenden\n\n&quot;;  

 cin&gt;&gt;Auswahl;
 system(&quot;cls&quot;);

 if (Auswahl==1)

 {
  do{

  cout&lt;&lt;&quot;Sie haben sich fuer die Rechenoperation 'Addition' entschieden.\n\n&quot;;
  cout&lt;&lt;&quot;Geben sie die erste Zahl ein.\n&quot;;
  cin&gt;&gt;a;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Geben sie nun die zweite Zahl ein.\n&quot;;
  cin&gt;&gt;b;
  cout&lt;&lt;&quot;\n\n&quot;;

  Ergebnis = a + b;

  cout&lt;&lt;&quot;Das Ergebnis lautet: &quot; &lt;&lt;Ergebnis;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Moechten sie eine weitere Berechnung durchfuehren?\n\n&lt;j/n&gt;&quot;;
  cin&gt;&gt;antwort;
  system(&quot;cls&quot;);

  }while (antwort=='j');

  }

 if (Auswahl==2)

 {cout&lt;&lt;&quot;Sie haben sich fuer die Rechenoperation 'Subatraktion' entschieden.\n\n&quot;;
  cout&lt;&lt;&quot;Geben sie die erste Zahl ein.\n&quot;;
  cin&gt;&gt;a;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Geben sie nun die zweite Zahl ein.\n&quot;;
  cin&gt;&gt;b;
  cout&lt;&lt;&quot;\n\n&quot;;

  Ergebnis = a - b;

  cout&lt;&lt;&quot;Das Ergebnis lautet: &quot; &lt;&lt;Ergebnis;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Moechten sie eine weitere Berechnung durchfuehren?\n\n&lt;j/n&gt;&quot;;
  cin&gt;&gt;antwort;
  system(&quot;cls&quot;);}

 if (Auswahl==3)

 {cout&lt;&lt;&quot;Sie haben sich fuer die Rechenoperation 'Multiplikation' entschieden.\n\n&quot;;
  cout&lt;&lt;&quot;Geben sie die erste Zahl ein.\n&quot;;
  cin&gt;&gt;a;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Geben sie nun die zweite Zahl ein.\n&quot;;
  cin&gt;&gt;b;
  cout&lt;&lt;&quot;\n\n&quot;;

  Ergebnis = a * b;

  cout&lt;&lt;&quot;Das Ergebnis lautet: &quot; &lt;&lt;Ergebnis;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Moechten sie eine weitere Berechnung durchfuehren?\n\n&lt;j/n&gt;&quot;;
  cin&gt;&gt;antwort;
  system(&quot;cls&quot;);}

 if (Auswahl==4)

 {cout&lt;&lt;&quot;Sie haben sich fuer die Rechenoperation 'Subatraktion' entschieden.\n\n&quot;;
  cout&lt;&lt;&quot;Geben sie die erste Zahl ein.\n&quot;;
  cin&gt;&gt;a;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Geben sie nun die zweite Zahl ein.\n&quot;;
  cin&gt;&gt;b;
  cout&lt;&lt;&quot;\n\n&quot;;

  Ergebnis = a / b;

  cout&lt;&lt;&quot;Das Ergebnis lautet: &quot; &lt;&lt;Ergebnis;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Moechten sie eine weitere Berechnung durchfuehren?\n\n&lt;j/n&gt;&quot;;
  cin&gt;&gt;antwort;
  system(&quot;cls&quot;);}

 if (Auswahl==0)

 {return 0;
}

}while (antwort!='j');

 return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/200752/taschenrechner</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 03:09:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200752.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 19 Dec 2007 12:29:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Taschenrechner on Wed, 19 Dec 2007 12:29:33 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe hier nun auf der Arbeit meinen ersten Taschenrechner programmiert und wollte von euch mal wissen was ich eventuell noch verbessern koennte.<br />
Ein Fehler ist mir schon aufgefallen undzwar hängt der Taschenrechner sich auf wenn man Zahlen mit einem Komma anstatt von einem Punkt eingibt fuer einen kleinen Tipp wie ich das Loesen koennte waere ich schoneinmal dankbar.</p>
<p>Was noch zu sagen ist das ich kein Profi bin ich Programmiere erst seit kurzem und bin noch etwas ungeuebt^^</p>
<p>so hier der Quelltext:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;
#include &lt;stdlib.h&gt;

using namespace std;

double a;
double b;
double Ergebnis;
int Auswahl;
char antwort;

int main()
{
 antwort = 'j';

 do{

 cout&lt;&lt;&quot;Ihr presoehnlicher Taschenrechner ;-)\n\n&quot;&lt;&lt;endl;

 cout&lt;&lt;&quot;Waehlen sie die gewuenschte Rechenoperation.\n\n&quot;;
 cout&lt;&lt;&quot;[1] Addition\n&quot;;
 cout&lt;&lt;&quot;[2] Subtraktion\n&quot;;
 cout&lt;&lt;&quot;[3] Multiplikation\n&quot;;
 cout&lt;&lt;&quot;[4] Division\n&quot;;
 cout&lt;&lt;&quot;[0] Programm Beenden\n\n&quot;;  

 cin&gt;&gt;Auswahl;
 system(&quot;cls&quot;);

 if (Auswahl==1)

 {
  do{

  cout&lt;&lt;&quot;Sie haben sich fuer die Rechenoperation 'Addition' entschieden.\n\n&quot;;
  cout&lt;&lt;&quot;Geben sie die erste Zahl ein.\n&quot;;
  cin&gt;&gt;a;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Geben sie nun die zweite Zahl ein.\n&quot;;
  cin&gt;&gt;b;
  cout&lt;&lt;&quot;\n\n&quot;;

  Ergebnis = a + b;

  cout&lt;&lt;&quot;Das Ergebnis lautet: &quot; &lt;&lt;Ergebnis;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Moechten sie eine weitere Berechnung durchfuehren?\n\n&lt;j/n&gt;&quot;;
  cin&gt;&gt;antwort;
  system(&quot;cls&quot;);

  }while (antwort=='j');

  }

 if (Auswahl==2)

 {cout&lt;&lt;&quot;Sie haben sich fuer die Rechenoperation 'Subatraktion' entschieden.\n\n&quot;;
  cout&lt;&lt;&quot;Geben sie die erste Zahl ein.\n&quot;;
  cin&gt;&gt;a;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Geben sie nun die zweite Zahl ein.\n&quot;;
  cin&gt;&gt;b;
  cout&lt;&lt;&quot;\n\n&quot;;

  Ergebnis = a - b;

  cout&lt;&lt;&quot;Das Ergebnis lautet: &quot; &lt;&lt;Ergebnis;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Moechten sie eine weitere Berechnung durchfuehren?\n\n&lt;j/n&gt;&quot;;
  cin&gt;&gt;antwort;
  system(&quot;cls&quot;);}

 if (Auswahl==3)

 {cout&lt;&lt;&quot;Sie haben sich fuer die Rechenoperation 'Multiplikation' entschieden.\n\n&quot;;
  cout&lt;&lt;&quot;Geben sie die erste Zahl ein.\n&quot;;
  cin&gt;&gt;a;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Geben sie nun die zweite Zahl ein.\n&quot;;
  cin&gt;&gt;b;
  cout&lt;&lt;&quot;\n\n&quot;;

  Ergebnis = a * b;

  cout&lt;&lt;&quot;Das Ergebnis lautet: &quot; &lt;&lt;Ergebnis;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Moechten sie eine weitere Berechnung durchfuehren?\n\n&lt;j/n&gt;&quot;;
  cin&gt;&gt;antwort;
  system(&quot;cls&quot;);}

 if (Auswahl==4)

 {cout&lt;&lt;&quot;Sie haben sich fuer die Rechenoperation 'Subatraktion' entschieden.\n\n&quot;;
  cout&lt;&lt;&quot;Geben sie die erste Zahl ein.\n&quot;;
  cin&gt;&gt;a;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Geben sie nun die zweite Zahl ein.\n&quot;;
  cin&gt;&gt;b;
  cout&lt;&lt;&quot;\n\n&quot;;

  Ergebnis = a / b;

  cout&lt;&lt;&quot;Das Ergebnis lautet: &quot; &lt;&lt;Ergebnis;
  cout&lt;&lt;&quot;\n\n&quot;;

  cout&lt;&lt;&quot;Moechten sie eine weitere Berechnung durchfuehren?\n\n&lt;j/n&gt;&quot;;
  cin&gt;&gt;antwort;
  system(&quot;cls&quot;);}

 if (Auswahl==0)

 {return 0;
}

}while (antwort!='j');

 return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1423131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423131</guid><dc:creator><![CDATA[YourUserNameIsNotAvailabl]]></dc:creator><pubDate>Wed, 19 Dec 2007 12:29:33 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Wed, 19 Dec 2007 12:36:13 GMT]]></title><description><![CDATA[<p>das mit dem Koma wirst du nicht verhindern können, weil die Syntax so definiert ist.</p>
<p>Es sei den du liest die Zahlen als String ein, dann kannst du auf die Eingaben reagieren.</p>
<p>- Für was ist die innere do-while-schleife bei der Addition?</p>
<p>- Die Zahlen würde ich einmal vorneweg einlesen und nicht in jeder if-Abfrage</p>
<p>- genauso die Ergebnisausgabe einmal ganz ans Ende</p>
<p>Somit hast du in den If-Abfrage nur noch die Berechnungen. Die würde ich dann in eine Switch-Case Abfrage bringen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423138</guid><dc:creator><![CDATA[Horst2]]></dc:creator><pubDate>Wed, 19 Dec 2007 12:36:13 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Wed, 19 Dec 2007 12:36:16 GMT]]></title><description><![CDATA[<p>Und als nächstes lernen wir die switch()-Anweisung und die Aufgabe von Funktionen kennen <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>
<p>Das Problem mit Komma vs. Punkt hängt mit der Werte-Interpretation zusammen - die Amerikaner verwenden den Punkt als Dezimaltrennung (und das Komma zur Grupperierung von Tausendern). Das heißt, beim Komma bleibt die Eingabe stehen und kann es nicht mehr interpretieren.<br />
Die einfachste Lösung ist es, den Rest der jeweiligen Eingabezeile mit ignore() zu entsorgen - allerdings wird dann z.B. 1,5 als 1 verarbeitet. Besser ist es, die komplette Zeile mit getline() einzulesen, eventuelle Kommas zu berichtigen und sie anschließend in eine Zahl umzuwandeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423139</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 19 Dec 2007 12:36:16 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Wed, 19 Dec 2007 12:39:38 GMT]]></title><description><![CDATA[<p>... wobei <strong>atof()</strong> dein Freund ist (nach einer etwaigen Umwandlung der Punktion).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423142</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Wed, 19 Dec 2007 12:39:38 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Wed, 19 Dec 2007 12:43:44 GMT]]></title><description><![CDATA[<p>Schonmal danke für die Hilfen werde mich dann mal da durcharbeiten <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>Wie gesagt bin Neuling hier und muss noch vielviel Lernen.</p>
<p>Und zum Schluss nocheinmal ein Danke an euch <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/1423144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423144</guid><dc:creator><![CDATA[YourUserNameIsNotAvailabl]]></dc:creator><pubDate>Wed, 19 Dec 2007 12:43:44 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Wed, 19 Dec 2007 12:46:49 GMT]]></title><description><![CDATA[<p>das ist zwar compilerspezifisch, aber dennoch eine standardlösung für das punkt-problem:</p>
<pre><code class="language-cpp">#include &lt;locale&gt;
#include &lt;iostream&gt;
//...
std::cin.imbue (std::locale(&quot;de_DE&quot;));
</code></pre>
<p>je nachdem musst du vielleicht std::locale(&quot;german&quot;) o.ä. verwenden.<br />
für cout natürlich analog angewandt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423149</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Wed, 19 Dec 2007 12:46:49 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Wed, 19 Dec 2007 14:29:18 GMT]]></title><description><![CDATA[<p>Bin mir nicht ganz sicher, aber ich glaube hiemit könnte man dein Komma-punkt-prob. lösen:</p>
<pre><code>[cpp]string a, b;                   // statt &quot;double a, b&quot;

// ... (cin-Abfrage)

for (int i; i&lt;a.length(); ++i) // sollte aus einem eingegebenen ','
{                              // ein '.' machen (lässt sich zur Ausgabe ggf.         
    if (a[i] == ',')           // wieder umdrehen)
    {
        a[i] = '.';
    }
} // gleiches mit dem String 'b' machen
// anschließend kann die Berechnung weitergehen
[/cpp]
</code></pre>
<p>Damit könntest du dann Kommas statt Punkte in dein prog. eingeben.<br />
Möglicherweise könnte man dann auch eine Typenumwandlung von String auf double vornehmen.<br />
ansonsten würde ich noch vorschlagen, falls du weißt was Funktionen sind <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="😉"
    /> , dein prog. mittels diesen,<br />
übersichtlicher zu schreiben (ist bei großen progs. sehr wichtig, also: gewöhns dir gleich an! <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/1423268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423268</guid><dc:creator><![CDATA[Jägermeister]]></dc:creator><pubDate>Wed, 19 Dec 2007 14:29:18 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Wed, 19 Dec 2007 14:50:18 GMT]]></title><description><![CDATA[<p>Du solltest i wenigstens noch initialisieren.<br />
Du könntest dir auch mal string::replace anschauen. <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/1423279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423279</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 19 Dec 2007 14:50:18 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Wed, 19 Dec 2007 15:02:25 GMT]]></title><description><![CDATA[<p>pseudo</p>
<pre><code class="language-cpp">// replace anything by anything
void Replace(std::string &amp;str, std::string A, std::string B)
{
    std::size_t pos = 0;
    while((pos = str.find(A)) &lt;= str.length())
        str.replace(pos, A.length(), B.c_str(), B.length());
}

std::string MyString = _T(&quot;12,23&quot;);
// later on
Replace(MyString, _T(&quot;,&quot;), _T(&quot;.&quot;)); // 12.23
// and back
Replace(MyString, _T(&quot;.&quot;), _T(&quot;,&quot;)); // 12,23
// and any other
Replace(MyString, _T(&quot;12&quot;), _T(&quot;13&quot;)); // 13,23
.
.
.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1423291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423291</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Wed, 19 Dec 2007 15:02:25 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Wed, 19 Dec 2007 15:49:42 GMT]]></title><description><![CDATA[<p>sry, hab ich wohl nen Fehler gemacht <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/1423307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423307</guid><dc:creator><![CDATA[Jägermeister]]></dc:creator><pubDate>Wed, 19 Dec 2007 15:49:42 GMT</pubDate></item></channel></rss>