<?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[Fehler in einer DO-WHILE-Schleife]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein Programm geschrieben, dass fast rund läuft, aber nuzr fast <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="🙂"
    /><br />
Das Programm soll den Nutzer nach einer Obergrenze und einer Untergrenze Fragen im Raum von 0-32767. Machts auch. Dann will ich prüfen ob die Obergrenze auch wirklich größer als die Untergrenze ist. Machts auch:) Wenn Obergrenze&gt;Untergrenze ist leite ich eine do-while schleife ein. Hier soll so lange eine Zufallszahl generiert werden bis sie in dem oben angegebenem Intervall liegt. Das klappt bei mir leider nicht ganz so <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="😞"
    /><br />
Meine Zufallszahl ist immer 41. Wenn ich dann als Untergrenze 50 wähle, wird trotzdem 41 ausgegeben. Da ist doch ganz klar ein Haken in der do-while Schleife, aber wo ?</p>
<pre><code>#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;math.h&gt;
#include&lt;cstdlib&gt; //enthält die Funktionen fuer Zufallszahlen
#include&lt;stdlib.h&gt; //alternativ:enthält ebenfalls die Funktionen für Zufallszahlen
void zufallszahl(int &amp;z);
using namespace std;
int main(void)
{
	int obergrenze, untergrenze,i;
	cout &lt;&lt; &quot;Bitte geben Sie die obere Grenze ein (max 32767)&quot; &lt;&lt; endl;
	cin &gt;&gt; obergrenze;
	cout &lt;&lt; &quot;Bitte geben Sie die untere Grenze ein (min 0)&quot; &lt;&lt; endl;
	cin &gt;&gt; untergrenze;
	if(obergrenze&lt;untergrenze)
		{
		cout &lt;&lt; &quot;FALSCH!!&quot; &lt;&lt; endl;
		}
	else
	{
	do
	{
		zufallszahl(i);
	}
	while(i&lt;obergrenze &amp;&amp; i&gt;untergrenze);
	{
		cout &lt;&lt; i;
	}
	}
	//system(&quot;Pause&quot;);
	return 0;
}

void zufallszahl(int &amp;z)
{
	z=rand();
	//cout &lt;&lt; z &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/322575/fehler-in-einer-do-while-schleife</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 01:49:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/322575.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 Dec 2013 12:01:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler in einer DO-WHILE-Schleife on Sun, 29 Dec 2013 12:01:26 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein Programm geschrieben, dass fast rund läuft, aber nuzr fast <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="🙂"
    /><br />
Das Programm soll den Nutzer nach einer Obergrenze und einer Untergrenze Fragen im Raum von 0-32767. Machts auch. Dann will ich prüfen ob die Obergrenze auch wirklich größer als die Untergrenze ist. Machts auch:) Wenn Obergrenze&gt;Untergrenze ist leite ich eine do-while schleife ein. Hier soll so lange eine Zufallszahl generiert werden bis sie in dem oben angegebenem Intervall liegt. Das klappt bei mir leider nicht ganz so <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="😞"
    /><br />
Meine Zufallszahl ist immer 41. Wenn ich dann als Untergrenze 50 wähle, wird trotzdem 41 ausgegeben. Da ist doch ganz klar ein Haken in der do-while Schleife, aber wo ?</p>
<pre><code>#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;math.h&gt;
#include&lt;cstdlib&gt; //enthält die Funktionen fuer Zufallszahlen
#include&lt;stdlib.h&gt; //alternativ:enthält ebenfalls die Funktionen für Zufallszahlen
void zufallszahl(int &amp;z);
using namespace std;
int main(void)
{
	int obergrenze, untergrenze,i;
	cout &lt;&lt; &quot;Bitte geben Sie die obere Grenze ein (max 32767)&quot; &lt;&lt; endl;
	cin &gt;&gt; obergrenze;
	cout &lt;&lt; &quot;Bitte geben Sie die untere Grenze ein (min 0)&quot; &lt;&lt; endl;
	cin &gt;&gt; untergrenze;
	if(obergrenze&lt;untergrenze)
		{
		cout &lt;&lt; &quot;FALSCH!!&quot; &lt;&lt; endl;
		}
	else
	{
	do
	{
		zufallszahl(i);
	}
	while(i&lt;obergrenze &amp;&amp; i&gt;untergrenze);
	{
		cout &lt;&lt; i;
	}
	}
	//system(&quot;Pause&quot;);
	return 0;
}

void zufallszahl(int &amp;z)
{
	z=rand();
	//cout &lt;&lt; z &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2373992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2373992</guid><dc:creator><![CDATA[moni89]]></dc:creator><pubDate>Sun, 29 Dec 2013 12:01:26 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler in einer DO-WHILE-Schleife on Sun, 29 Dec 2013 12:21:41 GMT]]></title><description><![CDATA[<p>Du gibst ja nur die Zahl aus, die zum Abbruch der Schleife geführt hat.</p>
<p>Du solltest den Zufallsgenerator mit einem Startwert vorbesetzen, da er sonst immer dieselbe Zahlenfolge ausspuckt.</p>
<p>Man nimmt dazu i.A die aktuelle Zeit, die man mit der Funktion <code>time</code> bekommt.</p>
<p><a href="http://www.cplusplus.com/reference/cstdlib/rand/" rel="nofollow">http://www.cplusplus.com/reference/cstdlib/rand/</a></p>
<p>Noch etwas:<br />
Deine Einrückung ist grottig <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /><br />
Die Klammern {} vor und nach <code>cout &lt;&lt; i;</code> sind überflüssig.<br />
zufallszahl sollte eine richtige Funktion mit RÜückgabewert sein.<br />
Die Referenz ist nicht nötig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2373995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2373995</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Sun, 29 Dec 2013 12:21:41 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler in einer DO-WHILE-Schleife on Sun, 29 Dec 2013 13:28:32 GMT]]></title><description><![CDATA[<p>Eine do-while Schleife läuft, <strong>solange die Bedingung erfüllt</strong> ist. Wann wird deine Schleife dann also beendet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2373998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2373998</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sun, 29 Dec 2013 13:28:32 GMT</pubDate></item></channel></rss>