<?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[Neu bei C++ --- Problem bei einem Zinseszins Programm.]]></title><description><![CDATA[<p>Hi!<br />
Ich bin noch neu bei c++ und habe mich mal rangewagt mein erstes eigenes Programm zu schreiben. Und...natürlich funktioniert es nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>Hier ist es:</p>
<pre><code>// zinseszins.cpp : 
//

#include &quot;stdafx.h&quot;
int jahrequadrieren;
int schleife; 
int zwischenrechnung;
int zinssatz;
int jahre;
int endkapital;
int anfangskapital;

int exponieren (int jahre)
{   
	zinssatz = 5;
	jahrequadrieren = (1 + zinssatz / 100);

	zwischenrechnung = (1 + zinssatz / 100);
	for (schleife=1; schleife &lt;= 100; schleife++)
	{

		jahrequadrieren = jahrequadrieren * zwischenrechnung;
	}
	return (jahrequadrieren);
}
int main()
{
	anfangskapital = 1000;

	jahre = 100;

	endkapital = anfangskapital * exponieren(jahre) ;
	printf(&quot;%d&quot;, endkapital);
	getchar();
	return 0;
}
</code></pre>
<p>wenn ich es ausfürhe kommt als ausgabe</p>
<blockquote>
<p>1000</p>
</blockquote>
<p>ich hoffe ihr könnt mir helfen.</p>
<p>gruß the-baboon</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/193601/neu-bei-c-problem-bei-einem-zinseszins-programm</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 04:33:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193601.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Sep 2007 17:25:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Neu bei C++ --- Problem bei einem Zinseszins Programm. on Thu, 27 Sep 2007 17:25:44 GMT]]></title><description><![CDATA[<p>Hi!<br />
Ich bin noch neu bei c++ und habe mich mal rangewagt mein erstes eigenes Programm zu schreiben. Und...natürlich funktioniert es nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>Hier ist es:</p>
<pre><code>// zinseszins.cpp : 
//

#include &quot;stdafx.h&quot;
int jahrequadrieren;
int schleife; 
int zwischenrechnung;
int zinssatz;
int jahre;
int endkapital;
int anfangskapital;

int exponieren (int jahre)
{   
	zinssatz = 5;
	jahrequadrieren = (1 + zinssatz / 100);

	zwischenrechnung = (1 + zinssatz / 100);
	for (schleife=1; schleife &lt;= 100; schleife++)
	{

		jahrequadrieren = jahrequadrieren * zwischenrechnung;
	}
	return (jahrequadrieren);
}
int main()
{
	anfangskapital = 1000;

	jahre = 100;

	endkapital = anfangskapital * exponieren(jahre) ;
	printf(&quot;%d&quot;, endkapital);
	getchar();
	return 0;
}
</code></pre>
<p>wenn ich es ausfürhe kommt als ausgabe</p>
<blockquote>
<p>1000</p>
</blockquote>
<p>ich hoffe ihr könnt mir helfen.</p>
<p>gruß the-baboon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373997</guid><dc:creator><![CDATA[the-baboon]]></dc:creator><pubDate>Thu, 27 Sep 2007 17:25:44 GMT</pubDate></item><item><title><![CDATA[Reply to Neu bei C++ --- Problem bei einem Zinseszins Programm. on Thu, 27 Sep 2007 17:47:51 GMT]]></title><description><![CDATA[<p>Was machst du mit int Jahre in der exponieren Funktion?</p>
<p>MfG f.-th.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1374006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1374006</guid><dc:creator><![CDATA[f.-th.]]></dc:creator><pubDate>Thu, 27 Sep 2007 17:47:51 GMT</pubDate></item><item><title><![CDATA[Reply to Neu bei C++ --- Problem bei einem Zinseszins Programm. on Thu, 27 Sep 2007 18:16:40 GMT]]></title><description><![CDATA[<p>achso... müsste so aussehen:</p>
<pre><code>// zinseszins.cpp :
//

#include &quot;stdafx.h&quot;
int jahrequadrieren;
int schleife;
int zwischenrechnung;
int zinssatz;
int jahre;
int endkapital;
int anfangskapital;

int exponieren (int jahre)
{  
    zinssatz = 5;
    jahrequadrieren = (1 + zinssatz / 100);

    zwischenrechnung = (1 + zinssatz / 100);
    for (schleife=1; schleife &lt;= 100; schleife++)
    {

        jahrequadrieren = jahrequadrieren * zwischenrechnung;
    }
    return (jahrequadrieren);
}
int main()
{
    anfangskapital = 1000;

    jahre = 100;

    endkapital = anfangskapital * exponieren(jahre) ;
    printf(&quot;%d&quot;, endkapital);
    getchar();
    return 0;
}
</code></pre>
<p>ist aber immernoch der selbe fehler</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1374017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1374017</guid><dc:creator><![CDATA[the-baboon]]></dc:creator><pubDate>Thu, 27 Sep 2007 18:16:40 GMT</pubDate></item><item><title><![CDATA[Reply to Neu bei C++ --- Problem bei einem Zinseszins Programm. on Thu, 27 Sep 2007 18:35:49 GMT]]></title><description><![CDATA[<p>Und immer noch der selbe Code ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1374020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1374020</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Thu, 27 Sep 2007 18:35:49 GMT</pubDate></item><item><title><![CDATA[Reply to Neu bei C++ --- Problem bei einem Zinseszins Programm. on Thu, 27 Sep 2007 18:52:42 GMT]]></title><description><![CDATA[<p>Eigentlich könnte es so aussehen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;	// Für Ein- und Ausgabe
#include &lt;cmath&gt;	// Für mathematische Funktionen
using namespace std;

int main(int argc, char** args)
	{
		// (Die Funktionen aus cmath verlangen double-Werte)
		double anfangskapital = 1000.0;
		double zinssatz = 1.05;
		double laufzeit = 5.0;	// In Jahren

		cout &lt;&lt; &quot;Anfangskapital :&quot; &lt;&lt; anfangskapital &lt;&lt; endl;
		cout &lt;&lt; &quot;Zinsatz        :&quot; &lt;&lt; zinssatz &lt;&lt; endl;
		cout &lt;&lt; &quot;Laufzeit       :&quot; &lt;&lt; laufzeit &lt;&lt; endl;
		cout &lt;&lt; &quot;Endkapital     :&quot; &lt;&lt; anfangskapital * pow(zinssatz, laufzeit) &lt;&lt; endl;

		return 0;
	}
</code></pre>
<p>Nachteilig an der ganzen Sache ist natürlich, dass Fließkommaoperationen, <em>ungenau</em> rechnen.</p>
<p>Zu deinem Quelltext:</p>
<p>Vermeide nach Möglichkeit globale Variablen. Deklariere oder definiere sie dort, wo du sie auch benötigst.</p>
<p>Deiner Exponieren-Funktion solltest du alle nötigen Werte als Parameter mitgeben. Man sieht der Funktion von außen ja nicht an, dass sie a) globale Variablen verwendet und b) diese auch noch verändert.</p>
<p>Statt printf (C) solltest du cout (C++) verwenden.</p>
<p>Und was ist eigentlich diese stdafx.h?</p>
<p>Grüße...</p>
<p>Heiko</p>
<p>EDIT: Nachgelegt:</p>
<p>Mir ist gerade aufgefallen, dass du Ganzzahlen dividieren willst. Das ist etwas Problematisch, da bei einer Ganzzahldivision auch eben nur wieder eine Ganzzahl herauskommen kann:</p>
<p>5 / 100 == 0.05 =&gt; 0</p>
<p>In diesem Fall rechnest du mit 0 weiter statt mit 0.05, was zwansläufig zu ungewünschten Ergebnissen führt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1374021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1374021</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Thu, 27 Sep 2007 18:52:42 GMT</pubDate></item><item><title><![CDATA[Reply to Neu bei C++ --- Problem bei einem Zinseszins Programm. on Thu, 27 Sep 2007 18:43:57 GMT]]></title><description><![CDATA[<p>stdafx.h ist MS VC <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1374025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1374025</guid><dc:creator><![CDATA[darthdespotism]]></dc:creator><pubDate>Thu, 27 Sep 2007 18:43:57 GMT</pubDate></item><item><title><![CDATA[Reply to Neu bei C++ --- Problem bei einem Zinseszins Programm. on Thu, 27 Sep 2007 19:02:26 GMT]]></title><description><![CDATA[<p>Genau, und damit du ein genaueres Ergebnis bekommst, brauchst du nur einen Operanden umwandeln:</p>
<p>(double)5 / 100;</p>
<p>oder</p>
<p>5. / 100;</p>
<p>Der andere Operand wird dann für den Rechenschritt implizit nach double konvertiert.</p>
<p>Wo wir schon bei implizit sind:<br />
Was habt ihr alle mit eurem grausigen int argc, char** args und return 0; <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/1374030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1374030</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Thu, 27 Sep 2007 19:02:26 GMT</pubDate></item><item><title><![CDATA[Reply to Neu bei C++ --- Problem bei einem Zinseszins Programm. on Thu, 27 Sep 2007 19:13:16 GMT]]></title><description><![CDATA[<p>Die Parameterliste von int main habe ich mir so angewöhnt. Man kann es auch weglassen, es werden kann keine Kommandozeilenparameter verarbeitet.</p>
<p>Was das return betrifft: <em>&quot;Explicit is better than implicit&quot;</em></p>
<p>Daher sollte man statt <strong>(double)foo</strong> besser <strong>static_cast&lt;double&gt;(foo)</strong> verwenden. Oder eben gleich auf Datentypen mit einer höheren Genauigkeit setzen.</p>
<p>Grüße...</p>
<p>Heiko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1374034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1374034</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Thu, 27 Sep 2007 19:13:16 GMT</pubDate></item><item><title><![CDATA[Reply to Neu bei C++ --- Problem bei einem Zinseszins Programm. on Fri, 28 Sep 2007 05:47:47 GMT]]></title><description><![CDATA[<p>ceplusplus@loggedoff schrieb:</p>
<blockquote>
<p>Genau, und damit du ein genaueres Ergebnis bekommst, brauchst du nur einen Operanden umwandeln:</p>
<p>(double)5 / 100;</p>
<p>oder</p>
<p>5. / 100;</p>
</blockquote>
<p>Was in dem Beispiel auch nicht viel am Ergebnis ändert - (int)(1+5/100.0) ist immer noch 1.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1374142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1374142</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 28 Sep 2007 05:47:47 GMT</pubDate></item></channel></rss>