<?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[Schleifendurchlauf verlangsamen]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich versuche einen Schleifendurchlauf zu verlangsam, indem ich bei Tastendruck auf '+' einen Schleifenendwert vergrößere. So sieht der Quelltext aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;
#define DELAY 100000L
#define ESC 27
using namespace std;

int main()
{
	int c, pause=10;
	bool k = true;
	while(k)
	{

		for (int i=0; i &lt; 10; i++)
		{
			if (kbhit != 0)
			{
				c = getch();
				if (c == ESC)
					cout &lt;&lt; &quot;Sie haben ESC gedrueckt.&quot;;
				if (c == '+')
				{
					cout &lt;&lt; &quot;Sie haben + gedrueckt.&quot;;
					pause+=10000;
				}
			}
			for (int k=0; k&lt;pause; k++);
			cout &lt;&lt; i &lt;&lt; endl; // Diese Stelle wird nur beim Tastendruck von ESC oder + erreicht.
		}

	}
	return 0;
}
</code></pre>
<p>Meine Frage ist nun, warum nicht andauernd die Zahlen 1 bis 10 ausgegeben werden. Die cout Stelle wird nämlich anscheinend nur bei Tastendruck auf ESC oder + erreicht, obwohl cout noch in der Schleife steht. Wenn ich nun + gedrückt habe, dann erhöht sich pause um 10000 und somit sollen die Zahlen langsamer ausgegeben werden.</p>
<p>Könnt ihr mir bei meinem Problem helfen?</p>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247945/schleifendurchlauf-verlangsamen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 08:07:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247945.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 Aug 2009 18:28:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Schleifendurchlauf verlangsamen on Mon, 17 Aug 2009 18:28:33 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich versuche einen Schleifendurchlauf zu verlangsam, indem ich bei Tastendruck auf '+' einen Schleifenendwert vergrößere. So sieht der Quelltext aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;
#define DELAY 100000L
#define ESC 27
using namespace std;

int main()
{
	int c, pause=10;
	bool k = true;
	while(k)
	{

		for (int i=0; i &lt; 10; i++)
		{
			if (kbhit != 0)
			{
				c = getch();
				if (c == ESC)
					cout &lt;&lt; &quot;Sie haben ESC gedrueckt.&quot;;
				if (c == '+')
				{
					cout &lt;&lt; &quot;Sie haben + gedrueckt.&quot;;
					pause+=10000;
				}
			}
			for (int k=0; k&lt;pause; k++);
			cout &lt;&lt; i &lt;&lt; endl; // Diese Stelle wird nur beim Tastendruck von ESC oder + erreicht.
		}

	}
	return 0;
}
</code></pre>
<p>Meine Frage ist nun, warum nicht andauernd die Zahlen 1 bis 10 ausgegeben werden. Die cout Stelle wird nämlich anscheinend nur bei Tastendruck auf ESC oder + erreicht, obwohl cout noch in der Schleife steht. Wenn ich nun + gedrückt habe, dann erhöht sich pause um 10000 und somit sollen die Zahlen langsamer ausgegeben werden.</p>
<p>Könnt ihr mir bei meinem Problem helfen?</p>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762539</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Mon, 17 Aug 2009 18:28:33 GMT</pubDate></item><item><title><![CDATA[Reply to Schleifendurchlauf verlangsamen on Mon, 17 Aug 2009 18:40:09 GMT]]></title><description><![CDATA[<p>Was mich wundert, ist kbhit statt kbhit().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762544</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 17 Aug 2009 18:40:09 GMT</pubDate></item><item><title><![CDATA[Reply to Schleifendurchlauf verlangsamen on Mon, 17 Aug 2009 18:42:54 GMT]]></title><description><![CDATA[<p>Tatsächlich! Daran hat es gelegen! Vielen Dank. Dennoch bin ich ein bisschen enttäuscht, denn das mit der Verzögerung funktioniert nicht. Kann mir jemand sagen, was ich daran ändern muss?</p>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762546</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Mon, 17 Aug 2009 18:42:54 GMT</pubDate></item><item><title><![CDATA[Reply to Schleifendurchlauf verlangsamen on Mon, 17 Aug 2009 18:48:00 GMT]]></title><description><![CDATA[<p>freakC++ schrieb:</p>
<blockquote>
<p>Tatsächlich! Daran hat es gelegen! Vielen Dank. Dennoch bin ich ein bisschen enttäuscht, denn das mit der Verzögerung funktioniert nicht. Kann mir jemand sagen, was ich daran ändern muss?</p>
<p>Vielen Dank<br />
lg, freakC++</p>
</blockquote>
<p>gute compiler optimieren</p>
<pre><code class="language-cpp">for (int k=0; k&lt;pause; k++);
</code></pre>
<p>ersatzlos weg.<br />
aber ich kenne keinen, der schon</p>
<pre><code class="language-cpp">for (int k=0; k&lt;pause; k++)
   cout&lt;&lt;&quot;&quot;;
</code></pre>
<p>wegoptimieren kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762549</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 17 Aug 2009 18:48:00 GMT</pubDate></item><item><title><![CDATA[Reply to Schleifendurchlauf verlangsamen on Mon, 17 Aug 2009 18:56:10 GMT]]></title><description><![CDATA[<p>Mit ein paar zehntausend Schleifendurchläufen verlangsamst du auf heutigen Rechnern nicht viel.<br />
Versuch mal was im 9-stelligen Bereich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762552</guid><dc:creator><![CDATA[Nanyuki]]></dc:creator><pubDate>Mon, 17 Aug 2009 18:56:10 GMT</pubDate></item><item><title><![CDATA[Reply to Schleifendurchlauf verlangsamen on Mon, 17 Aug 2009 19:03:22 GMT]]></title><description><![CDATA[<p>Hallo,<br />
vielen Dank für eure Tipps. Das Programm funktioniert nun. Klar ein Compiler optimiert...habe nicht daran gedacht! Doch habe ich dazu noch eine Frage. Warum löscht der Compiler die for-Schleife nicht mehr, wenn ich das cout &lt;&lt; &quot;&quot; hinzugefügt habe. Es hat schließlich nichts mit der Schleife zu tun, da ich die Schleife, ja schon mit dem Semikolon beendet habe!</p>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762556</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Mon, 17 Aug 2009 19:03:22 GMT</pubDate></item><item><title><![CDATA[Reply to Schleifendurchlauf verlangsamen on Mon, 17 Aug 2009 19:23:58 GMT]]></title><description><![CDATA[<p>freakC++ schrieb:</p>
<blockquote>
<p>Es hat schließlich nichts mit der Schleife zu tun, da ich die Schleife, ja schon mit dem Semikolon beendet habe!</p>
</blockquote>
<p>Weiß nicht.<br />
Allein Nanyukis Antwort kann reichen, wenn der Compiler nicht optimiert und Du jetzt beim Testen viel länger + gedrückt hast.<br />
Zeig am besten bei jeder Frage den aktuellen Code, damit es nicht zu Mißtverständnissen kommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762567</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 17 Aug 2009 19:23:58 GMT</pubDate></item></channel></rss>