<?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[Programm bricht einfach so ab]]></title><description><![CDATA[<p>Habe soeben ein C-Testprogramm geschrieben, mit dem man ausrechnen kann, wann man mit einem Kapital k einem Jahreszinssatz n einen bestimmten Betrag erreicht hat - der Code ist auch soweit fertig, aber immer, wenn ich die .exe ausführen will, kommt eine Fehlermeldung &quot;Zinsberechnung.exe funktioniert nicht mehr&quot;.</p>
<p>Der Quellcode ist folgender:</p>
<pre><code class="language-cpp">/* Dieses Programm berechnet zu einem Anfangskapital
   und jährlichem Zinssatz, wie viele Jahre benötigt
   werden, damit das Kapital = Zielsumme ist */

#include &lt;stdio.h&gt;

float bitte_eingeben(char *);

int main(void)
{
	int jahre_bis_zielsumme_erreicht = 0;

	float kapital   = bitte_eingeben(&quot;das Kapital&quot;);
	float zielsumme = bitte_eingeben(&quot;die Zielsumme&quot;);
	float zinssatz  = bitte_eingeben(&quot;den Zinssatz in Prozent&quot;);

	while (kapital &lt;= zielsumme)
	{
		kapital += kapital * (1 / zinssatz); //Rechnet Prozente drauf
		jahre_bis_zielsumme_erreicht++;
	}

	printf(&quot;\nEs wuerde %d Jahre dauern.&quot;, jahre_bis_zielsumme_erreicht);
}

float bitte_eingeben(char *was)
{
	float eingabe = 0;

	if (was != &quot;&quot;)
	{
		printf(&quot;\nBitte geben Sie %s ein: &quot;, *was);
		scanf(&quot;%f&quot;, &amp;eingabe);
	}

	return eingabe;
}
</code></pre>
<p>Woran kann das liegen?</p>
<p>PS: Bin für alle Verbesserungen offen <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/topic/250966/programm-bricht-einfach-so-ab</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 18:53:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/250966.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 27 Sep 2009 13:51:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm bricht einfach so ab on Sun, 27 Sep 2009 13:51:00 GMT]]></title><description><![CDATA[<p>Habe soeben ein C-Testprogramm geschrieben, mit dem man ausrechnen kann, wann man mit einem Kapital k einem Jahreszinssatz n einen bestimmten Betrag erreicht hat - der Code ist auch soweit fertig, aber immer, wenn ich die .exe ausführen will, kommt eine Fehlermeldung &quot;Zinsberechnung.exe funktioniert nicht mehr&quot;.</p>
<p>Der Quellcode ist folgender:</p>
<pre><code class="language-cpp">/* Dieses Programm berechnet zu einem Anfangskapital
   und jährlichem Zinssatz, wie viele Jahre benötigt
   werden, damit das Kapital = Zielsumme ist */

#include &lt;stdio.h&gt;

float bitte_eingeben(char *);

int main(void)
{
	int jahre_bis_zielsumme_erreicht = 0;

	float kapital   = bitte_eingeben(&quot;das Kapital&quot;);
	float zielsumme = bitte_eingeben(&quot;die Zielsumme&quot;);
	float zinssatz  = bitte_eingeben(&quot;den Zinssatz in Prozent&quot;);

	while (kapital &lt;= zielsumme)
	{
		kapital += kapital * (1 / zinssatz); //Rechnet Prozente drauf
		jahre_bis_zielsumme_erreicht++;
	}

	printf(&quot;\nEs wuerde %d Jahre dauern.&quot;, jahre_bis_zielsumme_erreicht);
}

float bitte_eingeben(char *was)
{
	float eingabe = 0;

	if (was != &quot;&quot;)
	{
		printf(&quot;\nBitte geben Sie %s ein: &quot;, *was);
		scanf(&quot;%f&quot;, &amp;eingabe);
	}

	return eingabe;
}
</code></pre>
<p>Woran kann das liegen?</p>
<p>PS: Bin für alle Verbesserungen offen <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/1784922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784922</guid><dc:creator><![CDATA[C-reator]]></dc:creator><pubDate>Sun, 27 Sep 2009 13:51:00 GMT</pubDate></item><item><title><![CDATA[Reply to Programm bricht einfach so ab on Sun, 27 Sep 2009 14:07:20 GMT]]></title><description><![CDATA[<p>Dieses C++-Programm passt vielleicht als check-up dazu:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;cmath&gt;

using namespace std;

int main()
{
  double g, k, n, z;

  cout &lt;&lt; &quot;Grundkapital: &quot;;  
  cin  &gt;&gt; g; 

  cout &lt;&lt; &quot;Zins (%): &quot;;      
  cin  &gt;&gt; z; 

  cout &lt;&lt; &quot;Jahre: &quot;;         
  cin  &gt;&gt; n;     

  k = g * pow( 1.0 + z/100.0, n );    

  cout &lt;&lt; endl &lt;&lt; &quot;Ein Kapital von &quot; &lt;&lt; g &lt;&lt; &quot; Euro, angelegt zu &quot; &lt;&lt; z &lt;&lt; &quot; Prozent,&quot; 
       &lt;&lt; endl &lt;&lt; &quot;ergibt nach einer Laufzeit von &quot; &lt;&lt; n &lt;&lt; &quot; Jahren&quot; 
       &lt;&lt; endl &lt;&lt; &quot;ein Endkapital von &quot; &lt;&lt; k &lt;&lt; &quot; Euro.&quot; 
       &lt;&lt; endl;      
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1784931</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784931</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Sun, 27 Sep 2009 14:07:20 GMT</pubDate></item><item><title><![CDATA[Reply to Programm bricht einfach so ab on Sun, 27 Sep 2009 14:17:46 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">/*Rechnet Prozente drauf*/
</code></pre>
<p>anstelle C++-Kommentar!</p>
<p>Ansonsten Pointer-Problem! So ist es lauffähig:</p>
<pre><code class="language-cpp">printf(&quot;\nBitte geben Sie %s ein: &quot;, was);
</code></pre>
<p>Ergebnisse sind leicht falsch. Problem: Prozenteingabe beim Zins! Ich muss 1 für 100% eingeben.</p>
<blockquote>
<p>Bitte geben Sie das Kapital ein: 1000</p>
<p>Bitte geben Sie die Zielsumme ein: 2000</p>
<p>Bitte geben Sie den Zinssatz in Prozent ein: 1</p>
<p>Es wuerde 2 Jahre dauern.</p>
</blockquote>
<p>Bei 100% habe ich das doch schon nach einem Jahr erreicht! Ergebnis 2 ist also falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1784937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784937</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Sun, 27 Sep 2009 14:17:46 GMT</pubDate></item><item><title><![CDATA[Reply to Programm bricht einfach so ab on Sun, 27 Sep 2009 14:11:23 GMT]]></title><description><![CDATA[<p>C-reator schrieb:</p>
<blockquote>
<pre><code class="language-cpp">float bitte_eingeben(char *was)
{
	float eingabe = 0;

	// so kann man in C keine Strings vergleichen. Was du bräuchtest wäre strcmp(),
	// aber was willst du hier eigentlich erreichen?
	if (was != &quot;&quot;)
	{
		// Die Variable &quot;was&quot; ist vom Typ char* und zeigt auf einen String.
		// Durch das Sternchen davor dereferenzierst du den Zeiger, und erhälst ein
		// einzelnes Zeichen, was aber natürlich dann nicht zu &quot;%s&quot; paßt. Gibt dir
		// dein Compiler hierbei keine Warnung aus?
		printf(&quot;\nBitte geben Sie %s ein: &quot;, *was);
		scanf(&quot;%f&quot;, &amp;eingabe);
	}
	
	return eingabe;
}
</code></pre>
</blockquote>
<p>Davon mal abgesehen ist dein Programm natürlich in C geschrieben, und damit hier im falschen Forum...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1784941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784941</guid><dc:creator><![CDATA[dooooomi]]></dc:creator><pubDate>Sun, 27 Sep 2009 14:11:23 GMT</pubDate></item><item><title><![CDATA[Reply to Programm bricht einfach so ab on Sun, 27 Sep 2009 14:12:15 GMT]]></title><description><![CDATA[<p>@ Erhard Henkes:<br />
Er hat halt ins falsche Forum gepostet...</p>
<p>@ C-reator:<br />
Hier muss das * weg, du willst schliesslich nicht einen einzelnen <code>char</code> , sondern einen C-String, also <code>char*</code> ausgeben.</p>
<pre><code class="language-cpp">printf(&quot;\nBitte geben Sie %s ein: &quot;, *was);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1784942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784942</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 27 Sep 2009 14:12:15 GMT</pubDate></item><item><title><![CDATA[Reply to Programm bricht einfach so ab on Sun, 27 Sep 2009 14:17:00 GMT]]></title><description><![CDATA[<blockquote>
<p>Er hat halt ins falsche Forum gepostet...</p>
</blockquote>
<p>C ist vollständig in C++ enthalten. <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/1784946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784946</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Sun, 27 Sep 2009 14:17:00 GMT</pubDate></item><item><title><![CDATA[Reply to Programm bricht einfach so ab on Sun, 27 Sep 2009 14:21:13 GMT]]></title><description><![CDATA[<p>Ah, dankeschön für die Hilfe, sorry, dass ich ins falsche Forum gepostet habe - ich dachte, ein C++-Programm wäre auch ein C-Programm ... da sich z.B. .cpp-Dateien ausführen lassen, obwohl in ihnen nur C-Code ist.</p>
<p>Macht es dasher wirklich einen Unterschied, ob ich einen C++-Kommentar mache? Oder ist es schlecht, wenn man C und C++ mixt?</p>
<p>Bei der if-Abfrage hätte ich natürlich</p>
<pre><code class="language-cpp">if (*was != '\0')
</code></pre>
<p>schreiben sollen; ich wollte damit erreichen, dass erst geprüft wird, ob man wirklich einen String übregeben hat, denn sonst könnte &quot;Bitte geben Sie ein:&quot; herauskommen.</p>
<p>PS: Ich habe mich bei der Formel vertan, richtig wäre natürlich</p>
<pre><code class="language-cpp">kapital += kapital * zinssatz / 100;
</code></pre>
<p>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1784949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784949</guid><dc:creator><![CDATA[C-reator]]></dc:creator><pubDate>Sun, 27 Sep 2009 14:21:13 GMT</pubDate></item><item><title><![CDATA[Reply to Programm bricht einfach so ab on Sun, 27 Sep 2009 14:30:00 GMT]]></title><description><![CDATA[<p>C-reator schrieb:</p>
<blockquote>
<p>ich dachte, ein C++-Programm wäre auch ein C-Programm</p>
</blockquote>
<p>Umgekehrt. <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>C-reator schrieb:</p>
<blockquote>
<p>Macht es dasher wirklich einen Unterschied, ob ich einen C++-Kommentar mache? Oder ist es schlecht, wenn man C und C++ mixt?</p>
</blockquote>
<p>Nicht grundsätzlich schlecht, besonders bei Kommentaren nicht. Aber ich würde einheitlich bleiben.</p>
<p>Wenn ich allerdings die Möglichkeit habe, C++ zu nutzen, würde ich das auch tun. Beispielsweise wäre dieser Fehler hier in C++ gar nicht aufgetreten, da <code>std::cout</code> im Gegensatz zu <code>printf()</code> typsicher ist.</p>
<p>Und ist die Abfrage auf <code>'\0'</code> sinnvoll? Du übergibst ja kaum leere Stringliterale, erst recht nicht aus Versehen, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1784956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784956</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 27 Sep 2009 14:30:00 GMT</pubDate></item></channel></rss>