<?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>Ich weiß nicht was ich hier falsch gemacht habe, der Compiler gibt mir ständig Fehlermeldungen raus, er würde cin und cout nicht kennen. Habe das Programm in Module unterteilt. Wäre nett wenn ihr mir helfen könntet:</p>
<p>// Dateiname: Taschenrechner.h<br />
#ifndef _TASCHENRECHNER_H_INC_<br />
#define _TASCHENRECHNER_H_INC_</p>
<p>// Funktionsdeklarationen<br />
double add (double ergebnis);<br />
double sub (double ergebnis);<br />
double mult (double ergebnis);<br />
double div (double ergebnis);<br />
double mod (double ergebnis);</p>
<p>#endif // _TASCHENRECHNER_H_INC_</p>
<p>//Dateiname: Taschenrechner.cpp<br />
#include &quot;stdafx.h&quot;<br />
#include &quot;Taschenrechner.h&quot;<br />
#include &lt;iostream&gt;<br />
using namespace std;</p>
<p>int _tmain(int argc, _TCHAR* argv[])<br />
{<br />
//Begrüßung<br />
cout &lt;&lt; endl &lt;&lt; &quot;WILKOMMEN ZUM TASCHENRECHNER&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;Dieser Rechner kann addieren (+), subtrahieren (-), multiplizieren (*),&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;dividieren (/), sowie Modulo-Operation durchfuehren (%)&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;Eingabe erfolgt: Zahl Zeichen Zahl zB.: 5 + 4&quot; &lt;&lt; endl &lt;&lt; endl;<br />
char beenden = '\0';</p>
<p>do<br />
{<br />
//Abfrage ob Programm beendet werden soll.<br />
cout &lt;&lt; &quot;Moechten Sie weiterrechnen ja = j; nein = n: &quot;;<br />
cin &gt;&gt; beenden;<br />
switch (beenden)<br />
{<br />
//Eingabe der Rechenaufgabe<br />
case 'j':<br />
{<br />
cout &lt;&lt; endl &lt;&lt; &quot;Ihre Eingabe: &quot;;<br />
double linkerOperand = 0.0;<br />
char operatorSymbol = '\0';<br />
double rechterOperand = 0.0;<br />
cin &gt;&gt; linkerOperand &gt;&gt; operatorSymbol &gt;&gt; rechterOperand;</p>
<p>//Sprung zu den einzelnen Rechenoperationen<br />
switch (operatorSymbol)<br />
{<br />
//Addition<br />
case '+':<br />
{<br />
double ergebnis = 0;<br />
add(ergebnis);<br />
} break;</p>
<p>//Subtraktion<br />
case '-':<br />
{<br />
double ergebnis = 0;<br />
sub (ergebnis);<br />
} break;</p>
<p>//Multiplikation<br />
case '*':<br />
{<br />
double ergebnis = 0;<br />
mult (ergebnis);<br />
} break;</p>
<p>//Division<br />
case '/':<br />
{<br />
double ergebnis = 0;<br />
div (ergebnis);<br />
} break;</p>
<p>//Modulo Operation<br />
case '%':<br />
{<br />
int ergebnis = 0;<br />
mod (ergebnis);<br />
} break;</p>
<p>//Falsches Operatorsymbol<br />
default:<br />
{<br />
cout &lt;&lt; &quot;Waehlen Sie nur zwischen + - * / oder % als Rechenzeichen&quot; &lt;&lt; endl &lt;&lt; endl;<br />
} break;<br />
}<br />
//Sprung aus dem Programm<br />
case 'n':<br />
{<br />
cout &lt;&lt; &quot;Auf Wiedersehen!&quot; &lt;&lt; endl;<br />
} break;</p>
<p>//Fehlermeldung Beenden Abfrage<br />
default:<br />
{<br />
cout &lt;&lt; &quot;Waehlen Sie nur zwischen j und n&quot; &lt;&lt; endl;<br />
} break;<br />
}<br />
}<br />
} while (beenden != 'n');<br />
return 0;<br />
}</p>
<p><a href="//Taschenrechner.cpp">//Taschenrechner.cpp</a><br />
#include &lt;iostream&gt;<br />
#include &quot;stdafx.h&quot;<br />
#include &quot;Taschenrechner.h&quot;<br />
using namespace std;</p>
<p>double add (double ergebnis)<br />
{<br />
double linkerOperand = 0;<br />
double rechterOperand = 0;<br />
ergebnis = linkerOperand + rechterOperand;<br />
cout &lt;&lt; &quot;Das Egebnis lautet: &quot; &lt;&lt; endl;<br />
return ergebnis;<br />
}</p>
<p>double sub (double linkerOperand, rechterOperand)<br />
{<br />
double linkerOperand = 0;<br />
double rechterOperand = 0;<br />
ergebnis = linkerOperand - rechterOperand;<br />
cout &lt;&lt; &quot;Das Egebnis lautet: &quot; &lt;&lt; endl;<br />
return lergebnis;<br />
}</p>
<p>double mult (double ergebnis)<br />
{<br />
double linkerOperand = 0;<br />
double rechterOperand = 0;<br />
ergebnis = linkerOperand * rechterOperand;<br />
cout &lt;&lt; &quot;Das Egebnis lautet: &quot; &lt;&lt; endl;<br />
return ergebnis;<br />
}</p>
<p>double div (double ergebnis)<br />
{<br />
double linkerOperand = 0;<br />
double rechterOperand = 0;<br />
//Fall Ganzzahldivision<br />
if ((int (linkerOperand) == linkerOperand) &amp;&amp; (int (rechterOperand) == rechterOperand) &amp;&amp; (rechterOperand != 0))<br />
{<br />
cout &lt;&lt; endl &lt;&lt; &quot;Moechten sie eine Ganzzahldivision durchfuehren? ja = j; nein = n : &quot;;<br />
char ganzzahlDivision = '\0';<br />
cin &gt;&gt; ganzzahlDivision;<br />
//Sprung zu Ganzzahldivision ja oder nein.<br />
switch (ganzzahlDivision)<br />
{<br />
case 'j':<br />
{<br />
int ergebnis = int (linkerOperand) / int (rechterOperand);<br />
cout &lt;&lt; &quot;Das Ergebnis ist: &quot; &lt;&lt; ergebnis &lt;&lt; endl &lt;&lt; endl;<br />
} break;</p>
<p>case 'n':<br />
{<br />
double ergebnis = linkerOperand / rechterOperand;<br />
cout &lt;&lt; &quot;Das Ergebnis ist: &quot; &lt;&lt; ergebnis &lt;&lt; endl &lt;&lt; endl;<br />
} break;</p>
<p>default:<br />
{<br />
cout &lt;&lt; &quot;Bitte waehlen Sie nur zwischen j und n&quot; &lt;&lt; endl &lt;&lt; endl;<br />
} break;<br />
}<br />
}<br />
//Division durch Null<br />
else if (rechterOperand == 0.0)<br />
{<br />
cout &lt;&lt; &quot;Division durch Null ist verboten!&quot; &lt;&lt; endl &lt;&lt; endl;<br />
}<br />
//Gleitkommadivision<br />
else<br />
{<br />
double ergebnis = linkerOperand / rechterOperand;<br />
cout &lt;&lt; &quot;Das Ergebnis ist: &quot; &lt;&lt; ergebnis &lt;&lt; endl &lt;&lt; endl;<br />
return ergebnis;<br />
}<br />
}</p>
<p>double mod (double ergebnis)<br />
{<br />
double linkerOperand = 0;<br />
double rechterOperand = 0;<br />
//Überprüfung auf korrekte Eingabe. Falls richtig eingegeben erfolgt Berechnung.<br />
if ((int (linkerOperand) == linkerOperand) &amp;&amp; (int (rechterOperand) == rechterOperand) &amp;&amp; (rechterOperand &gt; 0))<br />
{<br />
int ergebnis = int (linkerOperand) % int (rechterOperand);<br />
cout &lt;&lt; &quot;Das Ergebnis ist: &quot; &lt;&lt; ergebnis &lt;&lt; endl &lt;&lt; endl;<br />
}<br />
else if (rechterOperand &lt;= 0)<br />
{<br />
cout &lt;&lt; &quot;Die Zahl mit der geteilt wird muss positiv und darf nicht Null sein.&quot; &lt;&lt; endl &lt;&lt; endl;<br />
}<br />
else<br />
{<br />
cout &lt;&lt; &quot;Die Modulo-Operation kann nur mit ganzen Zahlen durchgefuert werden.&quot; &lt;&lt; endl &lt;&lt; endl;<br />
}<br />
return ergebnis;<br />
}</p>
<p>Gruß<br />
Thorsten</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/202532/taschenrechner</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 06:54:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202532.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 12 Jan 2008 15:55:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Taschenrechner on Sat, 12 Jan 2008 15:55:15 GMT]]></title><description><![CDATA[<p>Ich weiß nicht was ich hier falsch gemacht habe, der Compiler gibt mir ständig Fehlermeldungen raus, er würde cin und cout nicht kennen. Habe das Programm in Module unterteilt. Wäre nett wenn ihr mir helfen könntet:</p>
<p>// Dateiname: Taschenrechner.h<br />
#ifndef _TASCHENRECHNER_H_INC_<br />
#define _TASCHENRECHNER_H_INC_</p>
<p>// Funktionsdeklarationen<br />
double add (double ergebnis);<br />
double sub (double ergebnis);<br />
double mult (double ergebnis);<br />
double div (double ergebnis);<br />
double mod (double ergebnis);</p>
<p>#endif // _TASCHENRECHNER_H_INC_</p>
<p>//Dateiname: Taschenrechner.cpp<br />
#include &quot;stdafx.h&quot;<br />
#include &quot;Taschenrechner.h&quot;<br />
#include &lt;iostream&gt;<br />
using namespace std;</p>
<p>int _tmain(int argc, _TCHAR* argv[])<br />
{<br />
//Begrüßung<br />
cout &lt;&lt; endl &lt;&lt; &quot;WILKOMMEN ZUM TASCHENRECHNER&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;Dieser Rechner kann addieren (+), subtrahieren (-), multiplizieren (*),&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;dividieren (/), sowie Modulo-Operation durchfuehren (%)&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;Eingabe erfolgt: Zahl Zeichen Zahl zB.: 5 + 4&quot; &lt;&lt; endl &lt;&lt; endl;<br />
char beenden = '\0';</p>
<p>do<br />
{<br />
//Abfrage ob Programm beendet werden soll.<br />
cout &lt;&lt; &quot;Moechten Sie weiterrechnen ja = j; nein = n: &quot;;<br />
cin &gt;&gt; beenden;<br />
switch (beenden)<br />
{<br />
//Eingabe der Rechenaufgabe<br />
case 'j':<br />
{<br />
cout &lt;&lt; endl &lt;&lt; &quot;Ihre Eingabe: &quot;;<br />
double linkerOperand = 0.0;<br />
char operatorSymbol = '\0';<br />
double rechterOperand = 0.0;<br />
cin &gt;&gt; linkerOperand &gt;&gt; operatorSymbol &gt;&gt; rechterOperand;</p>
<p>//Sprung zu den einzelnen Rechenoperationen<br />
switch (operatorSymbol)<br />
{<br />
//Addition<br />
case '+':<br />
{<br />
double ergebnis = 0;<br />
add(ergebnis);<br />
} break;</p>
<p>//Subtraktion<br />
case '-':<br />
{<br />
double ergebnis = 0;<br />
sub (ergebnis);<br />
} break;</p>
<p>//Multiplikation<br />
case '*':<br />
{<br />
double ergebnis = 0;<br />
mult (ergebnis);<br />
} break;</p>
<p>//Division<br />
case '/':<br />
{<br />
double ergebnis = 0;<br />
div (ergebnis);<br />
} break;</p>
<p>//Modulo Operation<br />
case '%':<br />
{<br />
int ergebnis = 0;<br />
mod (ergebnis);<br />
} break;</p>
<p>//Falsches Operatorsymbol<br />
default:<br />
{<br />
cout &lt;&lt; &quot;Waehlen Sie nur zwischen + - * / oder % als Rechenzeichen&quot; &lt;&lt; endl &lt;&lt; endl;<br />
} break;<br />
}<br />
//Sprung aus dem Programm<br />
case 'n':<br />
{<br />
cout &lt;&lt; &quot;Auf Wiedersehen!&quot; &lt;&lt; endl;<br />
} break;</p>
<p>//Fehlermeldung Beenden Abfrage<br />
default:<br />
{<br />
cout &lt;&lt; &quot;Waehlen Sie nur zwischen j und n&quot; &lt;&lt; endl;<br />
} break;<br />
}<br />
}<br />
} while (beenden != 'n');<br />
return 0;<br />
}</p>
<p><a href="//Taschenrechner.cpp">//Taschenrechner.cpp</a><br />
#include &lt;iostream&gt;<br />
#include &quot;stdafx.h&quot;<br />
#include &quot;Taschenrechner.h&quot;<br />
using namespace std;</p>
<p>double add (double ergebnis)<br />
{<br />
double linkerOperand = 0;<br />
double rechterOperand = 0;<br />
ergebnis = linkerOperand + rechterOperand;<br />
cout &lt;&lt; &quot;Das Egebnis lautet: &quot; &lt;&lt; endl;<br />
return ergebnis;<br />
}</p>
<p>double sub (double linkerOperand, rechterOperand)<br />
{<br />
double linkerOperand = 0;<br />
double rechterOperand = 0;<br />
ergebnis = linkerOperand - rechterOperand;<br />
cout &lt;&lt; &quot;Das Egebnis lautet: &quot; &lt;&lt; endl;<br />
return lergebnis;<br />
}</p>
<p>double mult (double ergebnis)<br />
{<br />
double linkerOperand = 0;<br />
double rechterOperand = 0;<br />
ergebnis = linkerOperand * rechterOperand;<br />
cout &lt;&lt; &quot;Das Egebnis lautet: &quot; &lt;&lt; endl;<br />
return ergebnis;<br />
}</p>
<p>double div (double ergebnis)<br />
{<br />
double linkerOperand = 0;<br />
double rechterOperand = 0;<br />
//Fall Ganzzahldivision<br />
if ((int (linkerOperand) == linkerOperand) &amp;&amp; (int (rechterOperand) == rechterOperand) &amp;&amp; (rechterOperand != 0))<br />
{<br />
cout &lt;&lt; endl &lt;&lt; &quot;Moechten sie eine Ganzzahldivision durchfuehren? ja = j; nein = n : &quot;;<br />
char ganzzahlDivision = '\0';<br />
cin &gt;&gt; ganzzahlDivision;<br />
//Sprung zu Ganzzahldivision ja oder nein.<br />
switch (ganzzahlDivision)<br />
{<br />
case 'j':<br />
{<br />
int ergebnis = int (linkerOperand) / int (rechterOperand);<br />
cout &lt;&lt; &quot;Das Ergebnis ist: &quot; &lt;&lt; ergebnis &lt;&lt; endl &lt;&lt; endl;<br />
} break;</p>
<p>case 'n':<br />
{<br />
double ergebnis = linkerOperand / rechterOperand;<br />
cout &lt;&lt; &quot;Das Ergebnis ist: &quot; &lt;&lt; ergebnis &lt;&lt; endl &lt;&lt; endl;<br />
} break;</p>
<p>default:<br />
{<br />
cout &lt;&lt; &quot;Bitte waehlen Sie nur zwischen j und n&quot; &lt;&lt; endl &lt;&lt; endl;<br />
} break;<br />
}<br />
}<br />
//Division durch Null<br />
else if (rechterOperand == 0.0)<br />
{<br />
cout &lt;&lt; &quot;Division durch Null ist verboten!&quot; &lt;&lt; endl &lt;&lt; endl;<br />
}<br />
//Gleitkommadivision<br />
else<br />
{<br />
double ergebnis = linkerOperand / rechterOperand;<br />
cout &lt;&lt; &quot;Das Ergebnis ist: &quot; &lt;&lt; ergebnis &lt;&lt; endl &lt;&lt; endl;<br />
return ergebnis;<br />
}<br />
}</p>
<p>double mod (double ergebnis)<br />
{<br />
double linkerOperand = 0;<br />
double rechterOperand = 0;<br />
//Überprüfung auf korrekte Eingabe. Falls richtig eingegeben erfolgt Berechnung.<br />
if ((int (linkerOperand) == linkerOperand) &amp;&amp; (int (rechterOperand) == rechterOperand) &amp;&amp; (rechterOperand &gt; 0))<br />
{<br />
int ergebnis = int (linkerOperand) % int (rechterOperand);<br />
cout &lt;&lt; &quot;Das Ergebnis ist: &quot; &lt;&lt; ergebnis &lt;&lt; endl &lt;&lt; endl;<br />
}<br />
else if (rechterOperand &lt;= 0)<br />
{<br />
cout &lt;&lt; &quot;Die Zahl mit der geteilt wird muss positiv und darf nicht Null sein.&quot; &lt;&lt; endl &lt;&lt; endl;<br />
}<br />
else<br />
{<br />
cout &lt;&lt; &quot;Die Modulo-Operation kann nur mit ganzen Zahlen durchgefuert werden.&quot; &lt;&lt; endl &lt;&lt; endl;<br />
}<br />
return ergebnis;<br />
}</p>
<p>Gruß<br />
Thorsten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435475</guid><dc:creator><![CDATA[HIIII]]></dc:creator><pubDate>Sat, 12 Jan 2008 15:55:15 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Sat, 12 Jan 2008 22:20:11 GMT]]></title><description><![CDATA[<p>zeig bitte mal die genauen Fehlermeldungen<br />
und Code-Tags benutzen <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/1435676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435676</guid><dc:creator><![CDATA[Heinzelotto]]></dc:creator><pubDate>Sat, 12 Jan 2008 22:20:11 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Sat, 12 Jan 2008 22:21:30 GMT]]></title><description><![CDATA[<p>Heinzelotto, unter welchem Benutzernamen warst du vorher angemeldet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435679</guid><dc:creator><![CDATA[Heinzelottto]]></dc:creator><pubDate>Sat, 12 Jan 2008 22:21:30 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Sun, 13 Jan 2008 12:55:30 GMT]]></title><description><![CDATA[<p>Also habe ein Projekt angelegt in MS Viusal Studio 2005, Win32 KOnsolenanwendung. Habe alles sorgfältig eingebunden. Aber bringt mir immer diese scheiß Fehlermeldung raus.</p>
<p>cin und cout nichtdeklarierter Bezeichner. An was kann das hängen?</p>
<p>Gruß<br />
T</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435852</guid><dc:creator><![CDATA[Hiiii]]></dc:creator><pubDate>Sun, 13 Jan 2008 12:55:30 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Sun, 13 Jan 2008 13:18:29 GMT]]></title><description><![CDATA[<p>Heinzelottto schrieb:</p>
<blockquote>
<p>Heinzelotto, unter welchem Benutzernamen warst du vorher angemeldet?</p>
</blockquote>
<p>?<br />
ich war noch nie hier angemeldet, wieso denkst du, ich sei schon einmal angemeldet gewesen?</p>
<blockquote>
<p>Aber bringt mir immer diese scheiß Fehlermeldung raus.</p>
</blockquote>
<p>kopiere den genauen Wortlaut hier rein, dann können wir dir vielleicht helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435860</guid><dc:creator><![CDATA[Heinzelotto]]></dc:creator><pubDate>Sun, 13 Jan 2008 13:18:29 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Mon, 14 Jan 2008 09:19:40 GMT]]></title><description><![CDATA[<p>Falls du iostream schon eingebunden hast, dann fehlt dir entweder irgendwo am Anfang der Datei ein</p>
<pre><code class="language-cpp">using namespace std;
</code></pre>
<p>oder du schreibst bei jeder Verwendung von cin oder cout ein</p>
<pre><code class="language-cpp">std::cout /*...*/;
std::cin /*...*/;
</code></pre>
<p>Kommentare sind wegzudenken</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436228</guid><dc:creator><![CDATA[Vorden]]></dc:creator><pubDate>Mon, 14 Jan 2008 09:19:40 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Tue, 09 Sep 2008 08:39:56 GMT]]></title><description><![CDATA[<p>Hallo.<br />
Kann es sein, weil du &quot;#include &lt;iostream&gt;&quot; anstatt &quot;#include &lt;iostream.h&gt;&quot; geschrieben hast?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579017</guid><dc:creator><![CDATA[Maethu]]></dc:creator><pubDate>Tue, 09 Sep 2008 08:39:56 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Tue, 09 Sep 2008 08:44:07 GMT]]></title><description><![CDATA[<p>Maethu schrieb:</p>
<blockquote>
<p>Hallo.<br />
Kann es sein, weil du &quot;#include &lt;iostream&gt;&quot; anstatt &quot;#include &lt;iostream.h&gt;&quot; geschrieben hast?</p>
</blockquote>
<p>Nein. #include &lt;iostream&gt; ist schon richtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579024</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 09 Sep 2008 08:44:07 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner on Tue, 09 Sep 2008 10:16:52 GMT]]></title><description><![CDATA[<p>- die geschweiften Klammern sind falsch gesetzt. In Zeile 101 ist eine '}' zuviel, dafür fehlt '}' nach Zeile 90.<br />
- In der Deklaration von 'sub' fehlt der Typ 'double' vorm 2.Parameter 'rechterOperand'<br />
- In 'sub' sind die ersten beiden Deklaration überflüssig (Zeile 125,126) und vor 'ergebnis' fehlt wieder der Typ (double)<br />
- In Zeile 129 ist ein Schreibfehler, es muss 'return ergebnis;' heißen.<br />
- In der Funktion 'div' fehlen zwei 'return'-Statements in der if-Kaskade (vor Zeile171 und 176) - besser Du machst 'ergebnis' in der gesamten Funktion gültig.</p>
<p>Wenn Du das alles korrigiert hast, lässt es sich vielleicht übersetzen, funktioniert aber nicht.<br />
Tipp: fange erstmal klein an (z.B. nur Addition) bis das sauber funktioniert und dann füge die Operationen einzeln hinzu und teste das Ergebnis jedesmal ausgiebig.<br />
Und beschäftige Dich nochmal ausführlich mit der Gültigkeit von Variablen-Deklarationen.</p>
<p>die oben angegebenen Zeilennummern beziehen sich auf den Code unten</p>
<pre><code class="language-cpp">// Dateiname: Taschenrechner.h
#ifndef _TASCHENRECHNER_H_INC_
#define _TASCHENRECHNER_H_INC_

// Funktionsdeklarationen
double add (double ergebnis);
double sub (double ergebnis);
double mult (double ergebnis);
double div (double ergebnis);
double mod (double ergebnis);

#endif // _TASCHENRECHNER_H_INC_

//Dateiname: Taschenrechner.cpp
#include &quot;stdafx.h&quot;
#include &quot;Taschenrechner.h&quot;
#include &lt;iostream&gt;
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    //Begrüßung
    cout &lt;&lt; endl &lt;&lt; &quot;WILKOMMEN ZUM TASCHENRECHNER&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Dieser Rechner kann addieren (+), subtrahieren (-), multiplizieren (*),&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;dividieren (/), sowie Modulo-Operation durchfuehren (%)&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Eingabe erfolgt: Zahl Zeichen Zahl zB.: 5 + 4&quot; &lt;&lt; endl &lt;&lt; endl;
    char beenden = '\0';

    do
    {
        //Abfrage ob Programm beendet werden soll.
        cout &lt;&lt; &quot;Moechten Sie weiterrechnen ja = j; nein = n: &quot;;
        cin &gt;&gt; beenden;
        switch (beenden)
        {
            //Eingabe der Rechenaufgabe
        case 'j':
            {
                cout &lt;&lt; endl &lt;&lt; &quot;Ihre Eingabe: &quot;;
                double linkerOperand = 0.0;
                char operatorSymbol = '\0';
                double rechterOperand = 0.0;
                cin &gt;&gt; linkerOperand &gt;&gt; operatorSymbol &gt;&gt; rechterOperand;

                //Sprung zu den einzelnen Rechenoperationen
                switch (operatorSymbol)
                {
                    //Addition
                case '+':
                    {
                        double ergebnis = 0;
                        add(ergebnis);
                    } break;

                    //Subtraktion
                case '-':
                    {
                        double ergebnis = 0;
                        sub (ergebnis);
                    } break;

                    //Multiplikation
                case '*':
                    {
                        double ergebnis = 0;
                        mult (ergebnis);
                    } break;

                    //Division
                case '/':
                    {
                        double ergebnis = 0;
                        div (ergebnis);
                    } break;

                    //Modulo Operation
                case '%':
                    {
                        int ergebnis = 0;
                        mod (ergebnis);
                    } break;

                    //Falsches Operatorsymbol
                default:
                    {
                        cout &lt;&lt; &quot;Waehlen Sie nur zwischen + - * / oder % als Rechenzeichen&quot; &lt;&lt; endl &lt;&lt; endl;
                    } break;
                }
                //Sprung aus dem Programm
        case 'n':
            {
                cout &lt;&lt; &quot;Auf Wiedersehen!&quot; &lt;&lt; endl;
            } break;

            //Fehlermeldung Beenden Abfrage
        default:
            {
                cout &lt;&lt; &quot;Waehlen Sie nur zwischen j und n&quot; &lt;&lt; endl;
            } break;
            }
        }
    } while (beenden != 'n');
    return 0;
}

//Taschenrechner.cpp
#include &lt;iostream&gt;
#include &quot;stdafx.h&quot;
#include &quot;Taschenrechner.h&quot;
using namespace std;

double add (double ergebnis)
{
    double linkerOperand = 0;
    double rechterOperand = 0;
    ergebnis = linkerOperand + rechterOperand;
    cout &lt;&lt; &quot;Das Egebnis lautet: &quot; &lt;&lt; endl;
    return ergebnis;
}

double sub (double linkerOperand, rechterOperand)
{
    double linkerOperand = 0;
    double rechterOperand = 0;
    ergebnis = linkerOperand - rechterOperand;
    cout &lt;&lt; &quot;Das Egebnis lautet: &quot; &lt;&lt; endl;
    return lergebnis;
}

double mult (double ergebnis)
{
    double linkerOperand = 0;
    double rechterOperand = 0;
    ergebnis = linkerOperand * rechterOperand;
    cout &lt;&lt; &quot;Das Egebnis lautet: &quot; &lt;&lt; endl;
    return ergebnis;
}

double div (double ergebnis)
{
    double linkerOperand = 0;
    double rechterOperand = 0;
    //Fall Ganzzahldivision
    if ((int (linkerOperand) == linkerOperand) &amp;&amp; (int (rechterOperand) == rechterOperand) &amp;&amp; (rechterOperand != 0))
    {
        cout &lt;&lt; endl &lt;&lt; &quot;Moechten sie eine Ganzzahldivision durchfuehren? ja = j; nein = n : &quot;;
        char ganzzahlDivision = '\0';
        cin &gt;&gt; ganzzahlDivision;
        //Sprung zu Ganzzahldivision ja oder nein.
        switch (ganzzahlDivision)
        {
        case 'j':
            {
                int ergebnis = int (linkerOperand) / int (rechterOperand);
                cout &lt;&lt; &quot;Das Ergebnis ist: &quot; &lt;&lt; ergebnis &lt;&lt; endl &lt;&lt; endl;
            } break;

        case 'n':
            {
                double ergebnis = linkerOperand / rechterOperand;
                cout &lt;&lt; &quot;Das Ergebnis ist: &quot; &lt;&lt; ergebnis &lt;&lt; endl &lt;&lt; endl;
            } break;

        default:
            {
                cout &lt;&lt; &quot;Bitte waehlen Sie nur zwischen j und n&quot; &lt;&lt; endl &lt;&lt; endl;
            } break;
        }
    }
    //Division durch Null
    else if (rechterOperand == 0.0)
    {
        cout &lt;&lt; &quot;Division durch Null ist verboten!&quot; &lt;&lt; endl &lt;&lt; endl;
    }
    //Gleitkommadivision
    else
    {
        double ergebnis = linkerOperand / rechterOperand;
        cout &lt;&lt; &quot;Das Ergebnis ist: &quot; &lt;&lt; ergebnis &lt;&lt; endl &lt;&lt; endl;
        return ergebnis;
    }
}

double mod (double ergebnis)
{
    double linkerOperand = 0;
    double rechterOperand = 0;
    //Überprüfung auf korrekte Eingabe. Falls richtig eingegeben erfolgt Berechnung.
    if ((int (linkerOperand) == linkerOperand) &amp;&amp; (int (rechterOperand) == rechterOperand) &amp;&amp; (rechterOperand &gt; 0))
    {
        int ergebnis = int (linkerOperand) % int (rechterOperand);
        cout &lt;&lt; &quot;Das Ergebnis ist: &quot; &lt;&lt; ergebnis &lt;&lt; endl &lt;&lt; endl;
    }
    else if (rechterOperand &lt;= 0)
    {
        cout &lt;&lt; &quot;Die Zahl mit der geteilt wird muss positiv und darf nicht Null sein.&quot; &lt;&lt; endl &lt;&lt; endl;
    }
    else
    {
        cout &lt;&lt; &quot;Die Modulo-Operation kann nur mit ganzen Zahlen durchgefuert werden.&quot; &lt;&lt; endl &lt;&lt; endl;
    }
    return ergebnis;
}
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579098</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Tue, 09 Sep 2008 10:16:52 GMT</pubDate></item></channel></rss>