<?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[while-Schleife läuft weiter trotz &#x27;false&#x27; !]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

double Biggest1;
double Volumen = 0.000;
double Hoehe = 0.000;
double Breite = 10.000;
double Laenge = 15.000;
double BHoehe = 0.000;
double BLaenge = 0.000;
double BBreite = 0.000;
int i;

int main()
{
	while(Breite &gt;= 0)
	{
		cout &lt;&lt; &quot;Rechnung&quot; &lt;&lt; i &lt;&lt; &quot; &quot; &lt;&lt; Breite &lt;&lt; '\n';/*Diese Zeile ignorieren!!!
Ich habe sie nur eingebaut,um den Programmablauf zu überwachen. */
		Hoehe += 0.001;
		Breite -= 0.002;
		Laenge -= 0.002;
		Volumen = Hoehe*Breite*Laenge;
		if(Volumen &gt; Biggest1)
		{
			Biggest1 = Volumen;
			BHoehe = Hoehe;
			BLaenge = Laenge;
			BBreite = Breite;
		}
		i++;
	}

	cout &lt;&lt; &quot;Volumen:&quot; &lt;&lt; Biggest1 &lt;&lt; '\n';
	cout &lt;&lt; &quot;Laenge: &quot; &lt;&lt; BLaenge &lt;&lt; '\n';
	cout &lt;&lt; &quot;Breite: &quot; &lt;&lt; BBreite &lt;&lt; '\n';
	cout &lt;&lt; &quot;Hoehe : &quot; &lt;&lt; BHoehe &lt;&lt; '\n';

	return 0;
}
</code></pre>
<p>Wenn ich statt</p>
<pre><code class="language-cpp">while(Breite &gt;= 0)
</code></pre>
<p>jetzt</p>
<pre><code class="language-cpp">while(Breite != 0)
</code></pre>
<p>dann produziere ich eine Endlosschleife,obwohl nach der 4999. Berechnung die Bedingung nicht erfüllt ist,da Breite = 0.002 - 0.002 = 0 ist.<br />
Warum läuft die Schleife aber trotzdem weiter?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/158649/while-schleife-läuft-weiter-trotz-false</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 03:38:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/158649.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 07 Sep 2006 10:04:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to while-Schleife läuft weiter trotz &#x27;false&#x27; ! on Thu, 07 Sep 2006 10:04:07 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

double Biggest1;
double Volumen = 0.000;
double Hoehe = 0.000;
double Breite = 10.000;
double Laenge = 15.000;
double BHoehe = 0.000;
double BLaenge = 0.000;
double BBreite = 0.000;
int i;

int main()
{
	while(Breite &gt;= 0)
	{
		cout &lt;&lt; &quot;Rechnung&quot; &lt;&lt; i &lt;&lt; &quot; &quot; &lt;&lt; Breite &lt;&lt; '\n';/*Diese Zeile ignorieren!!!
Ich habe sie nur eingebaut,um den Programmablauf zu überwachen. */
		Hoehe += 0.001;
		Breite -= 0.002;
		Laenge -= 0.002;
		Volumen = Hoehe*Breite*Laenge;
		if(Volumen &gt; Biggest1)
		{
			Biggest1 = Volumen;
			BHoehe = Hoehe;
			BLaenge = Laenge;
			BBreite = Breite;
		}
		i++;
	}

	cout &lt;&lt; &quot;Volumen:&quot; &lt;&lt; Biggest1 &lt;&lt; '\n';
	cout &lt;&lt; &quot;Laenge: &quot; &lt;&lt; BLaenge &lt;&lt; '\n';
	cout &lt;&lt; &quot;Breite: &quot; &lt;&lt; BBreite &lt;&lt; '\n';
	cout &lt;&lt; &quot;Hoehe : &quot; &lt;&lt; BHoehe &lt;&lt; '\n';

	return 0;
}
</code></pre>
<p>Wenn ich statt</p>
<pre><code class="language-cpp">while(Breite &gt;= 0)
</code></pre>
<p>jetzt</p>
<pre><code class="language-cpp">while(Breite != 0)
</code></pre>
<p>dann produziere ich eine Endlosschleife,obwohl nach der 4999. Berechnung die Bedingung nicht erfüllt ist,da Breite = 0.002 - 0.002 = 0 ist.<br />
Warum läuft die Schleife aber trotzdem weiter?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1132850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1132850</guid><dc:creator><![CDATA[Tobi3000]]></dc:creator><pubDate>Thu, 07 Sep 2006 10:04:07 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife läuft weiter trotz &#x27;false&#x27; ! on Thu, 07 Sep 2006 10:13:14 GMT]]></title><description><![CDATA[<p>'&gt;=' bedeutet aber auch true, wenn Breite <strong>gleich</strong> 0 ist. Damit macht die Schleife schon das Richtige.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1132854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1132854</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Thu, 07 Sep 2006 10:13:14 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife läuft weiter trotz &#x27;false&#x27; ! on Thu, 07 Sep 2006 10:15:17 GMT]]></title><description><![CDATA[<p>Ups, falsch gelesen. Schau dir mal den Thread an, der erklärt, warum das Rechnen mit 0.1 und 0.2 nicht so ohne ist:</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-158376.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-158376.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1132856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1132856</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Thu, 07 Sep 2006 10:15:17 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife läuft weiter trotz &#x27;false&#x27; ! on Thu, 07 Sep 2006 10:34:48 GMT]]></title><description><![CDATA[<p>Alles klar!<br />
Vielen dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1132867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1132867</guid><dc:creator><![CDATA[Tobi3000]]></dc:creator><pubDate>Thu, 07 Sep 2006 10:34:48 GMT</pubDate></item></channel></rss>