<?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 spinnt]]></title><description><![CDATA[<p>Hallo ich versuche gerade einen Taschenrechner zu schreiben.<br />
Habe jedoch ein kleines Problem. Hier erstmal der Code.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int Menu();
void Addition();
void Subtruction();
void Division();
void Multiplication();
void Exponentiation();

int main()
{
	bool exit = false;

	for (;;)
 {
	int Wahl = Menu();

	switch(Wahl)
	{
	case 1: Addition();	
        break;			
	case 2: Subtruction();           
		break;
	case 3: Division();               
        break;
	case 4: Multiplication();        
		break;
	case 5: Exponentiation();         
		break;
	case 6: exit=true;                
		break;
	default: cout &lt;&lt; &quot;\n___PLEASE TRY AGAIN___\n\n&quot;;
		break;
    }

	if(exit)
		break;
	}
	return 0;

 }
	int Menu()

	{
    int Wahl;
	cout &lt;&lt; &quot;CALCULATOR 0.1 Beta&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;\nNumber + Enter&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;\n(1) - Addition&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;(2) - Subtruction&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;(3) - Division&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;(4) - Multiplication&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;(5) - Exponentiation&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;(6) - Exit&quot; &lt;&lt; endl;
	cin &gt;&gt; Wahl;
	return Wahl;
	}

void Addition()
{
		float Sum = 0;
		float Y;

		while(cin &gt;&gt; Y)
		Sum+=Y;
		cout &lt;&lt; Sum &lt;&lt; endl;
}

void Subtruction()
{
		float X;
		float Y;
		float C;
		cin &gt;&gt; X &gt;&gt; Y;
		C=X-Y;
		cout &lt;&lt; C &lt;&lt; endl;
}
void Division()
{
		float X;
		float Y;
		float C;
		cin &gt;&gt; X &gt;&gt; Y;
		C=X/Y;
		cout &lt;&lt; C &lt;&lt; endl;
}
void Multiplication()
	{
	    float X;
		float Y;
		float C;
		cin &gt;&gt; X &gt;&gt; Y;
		C=X*Y;
		cout &lt;&lt; C &lt;&lt; endl;
}
void Exponentiation()
{
	int N1;
	int Po;
	cin &gt;&gt; N1 &gt;&gt; Po;
	int Res = 1;
	for(int cnt = 0; cnt!=Po; ++cnt)
	Res*=N1;
	cout &lt;&lt; &quot;\n&quot; &lt;&lt; Res &lt;&lt; &quot;\n&quot; &lt;&lt; endl;
}
</code></pre>
<p>Zum Problem:<br />
Wenn ich jetzt zur Addtition gehe und mehrere Zahlen in einer Reihe eingebe und anschließend mit STRG+D das Ergebnis aufrufen will, wiederholt er einfach nur das Menu unendlich lange. Wo ist das Problem? Das ist nicht nur bei der Addition so, sondern bei den anderen auch.<br />
Ich weiß man könnte das ganze viel kürzer fassen, aber ich mache es nur zur Übung.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/268633/taschenrechner-spinnt</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 14:51:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/268633.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Jun 2010 20:47:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Taschenrechner spinnt on Sat, 12 Jun 2010 14:12:47 GMT]]></title><description><![CDATA[<p>Hallo ich versuche gerade einen Taschenrechner zu schreiben.<br />
Habe jedoch ein kleines Problem. Hier erstmal der Code.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int Menu();
void Addition();
void Subtruction();
void Division();
void Multiplication();
void Exponentiation();

int main()
{
	bool exit = false;

	for (;;)
 {
	int Wahl = Menu();

	switch(Wahl)
	{
	case 1: Addition();	
        break;			
	case 2: Subtruction();           
		break;
	case 3: Division();               
        break;
	case 4: Multiplication();        
		break;
	case 5: Exponentiation();         
		break;
	case 6: exit=true;                
		break;
	default: cout &lt;&lt; &quot;\n___PLEASE TRY AGAIN___\n\n&quot;;
		break;
    }

	if(exit)
		break;
	}
	return 0;

 }
	int Menu()

	{
    int Wahl;
	cout &lt;&lt; &quot;CALCULATOR 0.1 Beta&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;\nNumber + Enter&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;\n(1) - Addition&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;(2) - Subtruction&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;(3) - Division&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;(4) - Multiplication&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;(5) - Exponentiation&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;(6) - Exit&quot; &lt;&lt; endl;
	cin &gt;&gt; Wahl;
	return Wahl;
	}

void Addition()
{
		float Sum = 0;
		float Y;

		while(cin &gt;&gt; Y)
		Sum+=Y;
		cout &lt;&lt; Sum &lt;&lt; endl;
}

void Subtruction()
{
		float X;
		float Y;
		float C;
		cin &gt;&gt; X &gt;&gt; Y;
		C=X-Y;
		cout &lt;&lt; C &lt;&lt; endl;
}
void Division()
{
		float X;
		float Y;
		float C;
		cin &gt;&gt; X &gt;&gt; Y;
		C=X/Y;
		cout &lt;&lt; C &lt;&lt; endl;
}
void Multiplication()
	{
	    float X;
		float Y;
		float C;
		cin &gt;&gt; X &gt;&gt; Y;
		C=X*Y;
		cout &lt;&lt; C &lt;&lt; endl;
}
void Exponentiation()
{
	int N1;
	int Po;
	cin &gt;&gt; N1 &gt;&gt; Po;
	int Res = 1;
	for(int cnt = 0; cnt!=Po; ++cnt)
	Res*=N1;
	cout &lt;&lt; &quot;\n&quot; &lt;&lt; Res &lt;&lt; &quot;\n&quot; &lt;&lt; endl;
}
</code></pre>
<p>Zum Problem:<br />
Wenn ich jetzt zur Addtition gehe und mehrere Zahlen in einer Reihe eingebe und anschließend mit STRG+D das Ergebnis aufrufen will, wiederholt er einfach nur das Menu unendlich lange. Wo ist das Problem? Das ist nicht nur bei der Addition so, sondern bei den anderen auch.<br />
Ich weiß man könnte das ganze viel kürzer fassen, aber ich mache es nur zur Übung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910981</guid><dc:creator><![CDATA[KompiPauer]]></dc:creator><pubDate>Sat, 12 Jun 2010 14:12:47 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner spinnt on Fri, 11 Jun 2010 21:13:23 GMT]]></title><description><![CDATA[<p>Wenn der Eingabestream cin nicht mehr good() ist (zum Beispiel weil du mit CTRL+D das Ende des Streams markiert hast), dann schlagen alle folgenden Leseversuche aus dem stream fehl, unter anderem auch die Eingabe im Menü. Ein <code>cin.clear()</code> am Ende deiner Rechenfunktionen bringt das wieder in Ordnung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910986</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 11 Jun 2010 21:13:23 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner spinnt on Fri, 11 Jun 2010 22:25:28 GMT]]></title><description><![CDATA[<p>Ich habe ein cin.clear() am ende der Rechenfunktion gesetzt, jedoch hat es leider nicht geklappt. Vielleicht hab ich es ja auch nur an der falschen Stelle eingesetzt. Könntest du es im Code reinschreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911012</guid><dc:creator><![CDATA[KompiPauer]]></dc:creator><pubDate>Fri, 11 Jun 2010 22:25:28 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner spinnt on Fri, 11 Jun 2010 22:41:11 GMT]]></title><description><![CDATA[<p>Zwischen Zeile 65 und 68.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911017</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 11 Jun 2010 22:41:11 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner spinnt on Sat, 12 Jun 2010 07:58:42 GMT]]></title><description><![CDATA[<p>klappt irgendwie immernoch noch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> der überspringt einfach beim zweiten durchlauf die zeile 56 und nimmt dann gleich in zeile 34 das default. obwohl ich nichts bestätigt habe...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911066</guid><dc:creator><![CDATA[KompiPauer]]></dc:creator><pubDate>Sat, 12 Jun 2010 07:58:42 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner spinnt on Sat, 12 Jun 2010 08:37:03 GMT]]></title><description><![CDATA[<p>Warum so eine spezielle Addition:</p>
<pre><code class="language-cpp">void Addition()
{
    float Sum = 0;
    float Y;

    while(cin &gt;&gt; Y)
        Sum+=Y;
    cout &lt;&lt; Y &lt;&lt; endl;
}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911071</guid><dc:creator><![CDATA[f.-th.]]></dc:creator><pubDate>Sat, 12 Jun 2010 08:37:03 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner spinnt on Sat, 12 Jun 2010 09:30:05 GMT]]></title><description><![CDATA[<p>f.-th. schrieb:</p>
<blockquote>
<p>Warum so eine spezielle Addition:</p>
<pre><code class="language-cpp">void Addition()
{
    float Sum = 0;
    float Y;

    while(cin &gt;&gt; Y)
        Sum+=Y;
    cout &lt;&lt; Y &lt;&lt; endl;
}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>ich weiß ^^ da soll Sum ausgewertet werden und nicht Y</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911094</guid><dc:creator><![CDATA[KompiPauer]]></dc:creator><pubDate>Sat, 12 Jun 2010 09:30:05 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner spinnt on Sat, 12 Jun 2010 10:00:16 GMT]]></title><description><![CDATA[<p>dann bau das mal um damit der Compiler versteht was du willst</p>
<pre><code class="language-cpp">while(cin &gt;&gt; Y)
        Sum+=Y;
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911110</guid><dc:creator><![CDATA[f.-th.]]></dc:creator><pubDate>Sat, 12 Jun 2010 10:00:16 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner spinnt on Sat, 12 Jun 2010 13:02:42 GMT]]></title><description><![CDATA[<p>f.-th. schrieb:</p>
<blockquote>
<p>dann bau das mal um damit der Compiler versteht was du willst</p>
<pre><code class="language-cpp">while(cin &gt;&gt; Y)
        Sum+=Y;
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>was ist daran falsch? ich hatte es schon bei mir korregiert gehabt, habs nur vergessen hier im code zu ändern.<br />
mein problem besteht immernoch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911193</guid><dc:creator><![CDATA[KompiPauer]]></dc:creator><pubDate>Sat, 12 Jun 2010 13:02:42 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner spinnt on Sat, 12 Jun 2010 13:47:41 GMT]]></title><description><![CDATA[<p>Teste mal nicht deine Addition- oder deine Exponeten-Funktion zuerst, sondern eine der anderen Funktionen - hast du dann auch den Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911220</guid><dc:creator><![CDATA[f.-th.]]></dc:creator><pubDate>Sat, 12 Jun 2010 13:47:41 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner spinnt on Sat, 12 Jun 2010 14:18:33 GMT]]></title><description><![CDATA[<p>f.-th. schrieb:</p>
<blockquote>
<p>Teste mal nicht deine Addition- oder deine Exponeten-Funktion zuerst, sondern eine der anderen Funktionen - hast du dann auch den Fehler?</p>
</blockquote>
<p>nein es ist nur bei der addition so, weils mehrere zahlen sind, die eingegeben werden und ich es nur mit STRG+D aufrufen kann. kenne zumindest keine andere lösung. ich will jedoch später die anderen rechenarten auch mit mehreren eingabemöglichkeiten kombinieren lassen, sodass z.b. ein 20/2/2/2 möglich ist. das wird aber nicht klappen da ich wieder STRG+D brauche und das programm wieder anfängt zu spinnen.</p>
<p>edit: ich habe ein system(&quot;PAUSE&quot;) bei der addition eingesetzt. da komm ich zwar auf das ergebnis, aber nach der bestätigung mit enter spinnt der wieder rum, antatt wieder zum menu zu gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911245</guid><dc:creator><![CDATA[KompiPauer]]></dc:creator><pubDate>Sat, 12 Jun 2010 14:18:33 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner spinnt on Sat, 12 Jun 2010 16:33:43 GMT]]></title><description><![CDATA[<p>Es gibt ja mehrere Möglichkeiten so was zu realisieren.</p>
<p>z.B. ist es auch möglich die Rechenoperationen &quot;+, -, *, /&quot; direkt abzufragen und nicht über 1, 2, 3, 4 <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>Hier mal ein wenig Code:</p>
<pre><code class="language-cpp">void Addition()
{
    float Sum = 0;
    float Y;
    cout &lt;&lt; &quot;Bitte 1. Summanden eingeben: &quot;;
    cin &gt;&gt; Sum;
    cout &lt;&lt; endl;
    do
    {
        cout &lt;&lt; &quot;Bitte weitere Summanden eingeben: &quot;;
        cin &gt;&gt; Y;
        Sum=Sum+Y;
    }
    while(Y!=0);
    cout &lt;&lt; &quot;Das Ergebnis der Addition: &quot; &lt;&lt; Sum &lt;&lt; endl;
}
</code></pre>
<p>Ich hoffe du schaust dir das genau an, damit du den Quelltext verstehst.</p>
<p>Das ist aber nur eine von mehreren Varianten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911330</guid><dc:creator><![CDATA[f.-th.]]></dc:creator><pubDate>Sat, 12 Jun 2010 16:33:43 GMT</pubDate></item></channel></rss>