<?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[hilfe beim lehrgang c++ taschenrechner]]></title><description><![CDATA[<p>hallo!<br />
im juni 2005 habe ich einen lehrgang für c++ angefangen. da ich zeitlich eingegrenzt bin, bin ich auf schnelle hilfe angewiesen.<br />
mir geht es nicht ums vorsagen oder abschreiben, damit ist mir nicht geholfen!!! <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="🙂"
    /><br />
sondern um denkanstöße wenn es mal wieder klemmt.<br />
ich bin auf diesem gebiet absoluter anfänger (und bitte um nachsicht <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>im moment hänge ich beim programmieren eines taschenrechners (nur unter der dos-console)</p>
<p>die grundfunktion hab ich zum laufen, jetzt soll er erweitert werden. wer kann helfen?<br />
über eine zusätzlich funktion sollen die anderen ergebnisse auch ausgegeben werden.</p>
<p>#include &lt;iostream.h&gt;</p>
<p>double zahl1; //Variable<br />
double zahl2;<br />
char rechnen;</p>
<p>double summe(double x, double y){ //Addition<br />
return (x+y);<br />
}</p>
<p>double differenz(double x, double y){ //Subtraktion<br />
return (x-y);<br />
}</p>
<p>double produkt(double x, double y){ //Multiplikation<br />
return (x*y);<br />
}</p>
<p>double divisor(double x, double y){ //Division<br />
return (x/y);<br />
}</p>
<p>void main() {</p>
<p>cout &lt;&lt; &quot;Geben Sie die erste Zahl ein: &quot;; //Einlesen<br />
cin &gt;&gt; zahl1;</p>
<p>cout &lt;&lt; &quot;Geben Sie die zweite Zahl ein: &quot;;<br />
cin &gt;&gt; zahl2;</p>
<p>cout &lt;&lt; &quot;Geben Sie die Rechenoperation ein: (+ , - , * , /) &quot;;<br />
cin &gt;&gt; rechnen;</p>
<p>switch(rechnen){<br />
case '+':<br />
cout &lt;&lt; &quot;Das Ergebnis der Addition lautet: &quot;&lt;&lt;summe(zahl1,zahl2)&lt;&lt;endl;<br />
break;</p>
<p>case '-':<br />
cout &lt;&lt; &quot;Das Ergebnis der Subtraktion lautet: &quot;&lt;&lt;differenz(zahl1,zahl2);<br />
break;</p>
<p>case '*':<br />
cout &lt;&lt; &quot;Das Ergebnis der Multiplikation lautet: &quot;&lt;&lt;produkt(zahl1,zahl2);<br />
break;</p>
<p>case '/':<br />
if (zahl2==0){ //Schutz gegen Division durch Null<br />
cout &lt;&lt; &quot;Sie haben eine Null eingegeben!&quot;&lt;&lt;endl;<br />
cout &lt;&lt; &quot;Die Division durch Null ist nicht erlaubt!&quot;;<br />
break;<br />
}<br />
else{cout &lt;&lt; &quot;Das Ergebnis der Division lautet: &quot;&lt;&lt;divisor(zahl1,zahl2);<br />
break;<br />
}</p>
<p>default: //Schutz gegen falsches Zeichen<br />
cout &lt;&lt; &quot;Sie haben keine Rechenfunktion gewaehlt !!!&quot;;<br />
}<br />
char p[50];<br />
cin.getline (p,50);<br />
cin.getline (p,50);<br />
}</p>
<p>die erste ausgabe sieht so aus:</p>
<p>geben sie die erste zahl ein:12<br />
geben sie die zweite zahl ein:25<br />
geben sie die rechenoperation ein+,-,*,/)<br />
das ergebnis der division lautet:0.48</p>
<p>nach der erweiterung soll folgendes ausgegeben werden!</p>
<p>geben sie die erste zahl ein:12<br />
geben sie die zweite zahl ein:25<br />
geben sie die rechenoperation ein+,-,*,/)<br />
das ergebnis der division lautet:0.48<br />
Alle berechnungen:<br />
das ergebnis der addition lautet:37<br />
das ergebnis der subtraktion lautet:-13<br />
das ergebnis der multiplikation lautet:300<br />
das ergebnis der division lautet:0.48</p>
<p>also im prinzip soll ich eine funktion schreiben, in der die funktionen der berechnungen enthalten sind, und alle berechnungen sollen erst nach der entsprechend gewählten berechnung ausgegeben werden (siehe beispiel).</p>
<p>ich habe probleme mit der syntax</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118482/hilfe-beim-lehrgang-c-taschenrechner</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 10:24:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118482.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 20 Aug 2005 18:18:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to hilfe beim lehrgang c++ taschenrechner on Sat, 20 Aug 2005 18:18:04 GMT]]></title><description><![CDATA[<p>hallo!<br />
im juni 2005 habe ich einen lehrgang für c++ angefangen. da ich zeitlich eingegrenzt bin, bin ich auf schnelle hilfe angewiesen.<br />
mir geht es nicht ums vorsagen oder abschreiben, damit ist mir nicht geholfen!!! <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="🙂"
    /><br />
sondern um denkanstöße wenn es mal wieder klemmt.<br />
ich bin auf diesem gebiet absoluter anfänger (und bitte um nachsicht <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>im moment hänge ich beim programmieren eines taschenrechners (nur unter der dos-console)</p>
<p>die grundfunktion hab ich zum laufen, jetzt soll er erweitert werden. wer kann helfen?<br />
über eine zusätzlich funktion sollen die anderen ergebnisse auch ausgegeben werden.</p>
<p>#include &lt;iostream.h&gt;</p>
<p>double zahl1; //Variable<br />
double zahl2;<br />
char rechnen;</p>
<p>double summe(double x, double y){ //Addition<br />
return (x+y);<br />
}</p>
<p>double differenz(double x, double y){ //Subtraktion<br />
return (x-y);<br />
}</p>
<p>double produkt(double x, double y){ //Multiplikation<br />
return (x*y);<br />
}</p>
<p>double divisor(double x, double y){ //Division<br />
return (x/y);<br />
}</p>
<p>void main() {</p>
<p>cout &lt;&lt; &quot;Geben Sie die erste Zahl ein: &quot;; //Einlesen<br />
cin &gt;&gt; zahl1;</p>
<p>cout &lt;&lt; &quot;Geben Sie die zweite Zahl ein: &quot;;<br />
cin &gt;&gt; zahl2;</p>
<p>cout &lt;&lt; &quot;Geben Sie die Rechenoperation ein: (+ , - , * , /) &quot;;<br />
cin &gt;&gt; rechnen;</p>
<p>switch(rechnen){<br />
case '+':<br />
cout &lt;&lt; &quot;Das Ergebnis der Addition lautet: &quot;&lt;&lt;summe(zahl1,zahl2)&lt;&lt;endl;<br />
break;</p>
<p>case '-':<br />
cout &lt;&lt; &quot;Das Ergebnis der Subtraktion lautet: &quot;&lt;&lt;differenz(zahl1,zahl2);<br />
break;</p>
<p>case '*':<br />
cout &lt;&lt; &quot;Das Ergebnis der Multiplikation lautet: &quot;&lt;&lt;produkt(zahl1,zahl2);<br />
break;</p>
<p>case '/':<br />
if (zahl2==0){ //Schutz gegen Division durch Null<br />
cout &lt;&lt; &quot;Sie haben eine Null eingegeben!&quot;&lt;&lt;endl;<br />
cout &lt;&lt; &quot;Die Division durch Null ist nicht erlaubt!&quot;;<br />
break;<br />
}<br />
else{cout &lt;&lt; &quot;Das Ergebnis der Division lautet: &quot;&lt;&lt;divisor(zahl1,zahl2);<br />
break;<br />
}</p>
<p>default: //Schutz gegen falsches Zeichen<br />
cout &lt;&lt; &quot;Sie haben keine Rechenfunktion gewaehlt !!!&quot;;<br />
}<br />
char p[50];<br />
cin.getline (p,50);<br />
cin.getline (p,50);<br />
}</p>
<p>die erste ausgabe sieht so aus:</p>
<p>geben sie die erste zahl ein:12<br />
geben sie die zweite zahl ein:25<br />
geben sie die rechenoperation ein+,-,*,/)<br />
das ergebnis der division lautet:0.48</p>
<p>nach der erweiterung soll folgendes ausgegeben werden!</p>
<p>geben sie die erste zahl ein:12<br />
geben sie die zweite zahl ein:25<br />
geben sie die rechenoperation ein+,-,*,/)<br />
das ergebnis der division lautet:0.48<br />
Alle berechnungen:<br />
das ergebnis der addition lautet:37<br />
das ergebnis der subtraktion lautet:-13<br />
das ergebnis der multiplikation lautet:300<br />
das ergebnis der division lautet:0.48</p>
<p>also im prinzip soll ich eine funktion schreiben, in der die funktionen der berechnungen enthalten sind, und alle berechnungen sollen erst nach der entsprechend gewählten berechnung ausgegeben werden (siehe beispiel).</p>
<p>ich habe probleme mit der syntax</p>
]]></description><link>https://www.c-plusplus.net/forum/post/855091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/855091</guid><dc:creator><![CDATA[mr_avebe]]></dc:creator><pubDate>Sat, 20 Aug 2005 18:18:04 GMT</pubDate></item><item><title><![CDATA[Reply to hilfe beim lehrgang c++ taschenrechner on Sat, 20 Aug 2005 18:54:30 GMT]]></title><description><![CDATA[<p>1. C++ Tags (für das Syntaxhighliting im Forum) wären ganz nett.<br />
2. iostream statt iostream.h verwenden. Letztere ist veraltet. Allerdings solltest Du dann using namespace std; nach den includes schreiben.<br />
3. void main() ist eigentlich nicht korrekt; sollte int main() heissen<br />
4. die Funktion divisor sollte division heissen. Divisor ist die Zahl durch die geteilt wird, die Operation heisst &quot;division&quot;.<br />
5. die Variablen rechnen, zahl1, zahl2 solltest Du lokal in main() deklarieren.</p>
<p>Zu Deiner eigentlichen Frage:<br />
Pack doch Dein switch in eine Funktion und übergibt den character:</p>
<pre><code class="language-cpp">void berechne( const char rechne) 
{
  // ... hier Dein switch
}

// in main, dann nach dem cin einmal
berechne( rechne);

berechne('+');
berechne('-');
// usw.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/855098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/855098</guid><dc:creator><![CDATA[niemand]]></dc:creator><pubDate>Sat, 20 Aug 2005 18:54:30 GMT</pubDate></item><item><title><![CDATA[Reply to hilfe beim lehrgang c++ taschenrechner on Sat, 20 Aug 2005 19:45:35 GMT]]></title><description><![CDATA[<p>oh shit alter du hast so viele fehler und so viele<br />
geöffnete ( { ) auf du solltest erst die syntaxt lernen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/855114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/855114</guid><dc:creator><![CDATA[sdsssssss]]></dc:creator><pubDate>Sat, 20 Aug 2005 19:45:35 GMT</pubDate></item><item><title><![CDATA[Reply to hilfe beim lehrgang c++ taschenrechner on Sat, 20 Aug 2005 20:23:58 GMT]]></title><description><![CDATA[<p>WIe wäre es so:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

double Berechnen (double Operand1, double Operand2, char Operator)
{
    switch(Operator)
    {
        case '+':
            return Operand1 + Operand2;
        case '-':
            return Operand1 - Operand2;
        case '*':
            return Operand1 * Operand2;
        case '/':
            if(Operand2)
            {
                return Operand1 / Operand2;
            }
            else
            {
                //Problem
                exit(1);
                return 0;
            }
        default:
            //Problem
            exit(1);
            return 0;
    }
}

int main (void)
{
    double Operand1 = 0, Operand2 = 0;
    const char Zeichen[4] = {'+', '-', '*', '/'};
    cout &lt;&lt; &quot;1. Operand eingeben&quot; &lt;&lt; endl;
    cin &gt;&gt; Operand1;
    cout &lt;&lt; &quot;2. Operand eingeben&quot; &lt;&lt; endl;
    cin &gt;&gt; Operand2;
    for(int i = 0; i &lt; 4; ++i)
    {
        cout &lt;&lt; Operand1 &lt;&lt; Zeichen[i] &lt;&lt; Operand2 &lt;&lt; &quot;=&quot; &lt;&lt; Berechnen(Operand1, Operand2, Zeichen[i]) &lt;&lt; endl;
    }
    cin.get();
    cin.get();
}
</code></pre>
<p>Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/855122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/855122</guid><dc:creator><![CDATA[Phoemuex]]></dc:creator><pubDate>Sat, 20 Aug 2005 20:23:58 GMT</pubDate></item><item><title><![CDATA[Reply to hilfe beim lehrgang c++ taschenrechner on Sat, 20 Aug 2005 20:37:26 GMT]]></title><description><![CDATA[<p>Du solltest allgemein berücksichtigen was niemand gesagt hat. Außerdem solltest du das switch aus main auslagern (also berechne von niemand). Funktionen wie addiere/subtrahiere... sind sinnlos (zumindest in deinem fall). Außerdem wäre es gut wenn berechne von niemand einen wert zurückgeben würde den du in main ausgibst. Also statt berechne(rechne); solltest du eher cout&lt;&lt;berechne(rechne)&lt;&lt;endl; schreiben.<br />
Wenn du nicht weiter weißt kannst du auch <a href="http://emch2.em.funpic.de/tmp.cpp" rel="nofollow">hier</a> gucken (hab ich jetzt mal schnell gemacht, vmtl. verstehst du nicht alles, vergiss einfach die bedingte compilierung (#if/#elif/#endif), aber lösung #1 zu &quot;publizieren&quot; wäre dann doch ein bisschen... Das unschönste ist, wie &quot;alle Operationen&quot; in main gelöst wird (aufruf von calc mit allen ops): jetzt muss sowohl in main als auch in calc jede operation bekannt sein (faktisch ist das bei dem kleinen proggie kein problem, aber wenn die programme größer werden...)<br />
/edit: <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7719">@Phoemuex</a> er wollte _keine_ fertige source vorn latz geknallt kriegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/855125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/855125</guid><dc:creator><![CDATA[ness]]></dc:creator><pubDate>Sat, 20 Aug 2005 20:37:26 GMT</pubDate></item></channel></rss>