<?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[Countdown]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab hier einen Countdown, der mir die Sekunden runterzählt. Ich hätte jedoch gerne, dass dieses runterzählen immer in der gleichen Zeile passiert (d.h. die Zahlen sollen sich überschreiben und nicht nach einander aufgelistet werden) - da ich noch ein totaler Anfänger bin: Wie ist das möglich?</p>
<p>Nebenfrage: Ist es möglich in der nächsten Spalte mir dann auch noch die Minuten, Stunden usw. anzeigen zu lassen?</p>
<pre><code>//Libarys
#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;stdio.h&gt;
#include &lt;time.h&gt;
#include &lt;math.h&gt;

//Rechnung
void wait ( int seconds )
{
  clock_t endwait;
  endwait = clock () + seconds * CLK_TCK ;
  while (clock() &lt; endwait) {}
}

//Main-Funktion
int main ()
{

//Deklarationen
	int n, sekeing, sek, mineing, min, stueing, stu, day, dayeing;

//Eingabe
  std::cout&lt;&lt;&quot;Bitte Tage eingeben\n&quot;;
  std::cin&gt;&gt;dayeing;
  std::cout&lt;&lt;&quot;Bitte Stunden eingeben\n&quot;;
  std::cin&gt;&gt;stueing;
  std::cout&lt;&lt;&quot;Bitte Minuten eingeben\n&quot;;
  std::cin&gt;&gt;mineing;
  std::cout&lt;&lt;&quot;Bitte Sekunden eingeben\n&quot;;
  std::cin&gt;&gt;sekeing;

//Berechnungen
  day = dayeing * 86400;
  stu = stueing * 3600;
  min = mineing * 60;
  sek = sekeing + day + stu + min;

//Bildschirm säubern
  system(&quot;cls&quot;);

//Schleife
  printf (&quot;Starte Countdown…\n&quot;);
  for (n=sek; n&gt;0; n--)
  {
    printf (&quot;%d\n&quot;,n);
    wait (1);
  }
  printf (&quot;Countdown abgelaufen\n&quot;);
  std::cin.get();
  std::cin.get();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/184137/countdown</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 16:56:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184137.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Jun 2007 15:31:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Countdown on Tue, 12 Jun 2007 15:31:33 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab hier einen Countdown, der mir die Sekunden runterzählt. Ich hätte jedoch gerne, dass dieses runterzählen immer in der gleichen Zeile passiert (d.h. die Zahlen sollen sich überschreiben und nicht nach einander aufgelistet werden) - da ich noch ein totaler Anfänger bin: Wie ist das möglich?</p>
<p>Nebenfrage: Ist es möglich in der nächsten Spalte mir dann auch noch die Minuten, Stunden usw. anzeigen zu lassen?</p>
<pre><code>//Libarys
#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;stdio.h&gt;
#include &lt;time.h&gt;
#include &lt;math.h&gt;

//Rechnung
void wait ( int seconds )
{
  clock_t endwait;
  endwait = clock () + seconds * CLK_TCK ;
  while (clock() &lt; endwait) {}
}

//Main-Funktion
int main ()
{

//Deklarationen
	int n, sekeing, sek, mineing, min, stueing, stu, day, dayeing;

//Eingabe
  std::cout&lt;&lt;&quot;Bitte Tage eingeben\n&quot;;
  std::cin&gt;&gt;dayeing;
  std::cout&lt;&lt;&quot;Bitte Stunden eingeben\n&quot;;
  std::cin&gt;&gt;stueing;
  std::cout&lt;&lt;&quot;Bitte Minuten eingeben\n&quot;;
  std::cin&gt;&gt;mineing;
  std::cout&lt;&lt;&quot;Bitte Sekunden eingeben\n&quot;;
  std::cin&gt;&gt;sekeing;

//Berechnungen
  day = dayeing * 86400;
  stu = stueing * 3600;
  min = mineing * 60;
  sek = sekeing + day + stu + min;

//Bildschirm säubern
  system(&quot;cls&quot;);

//Schleife
  printf (&quot;Starte Countdown…\n&quot;);
  for (n=sek; n&gt;0; n--)
  {
    printf (&quot;%d\n&quot;,n);
    wait (1);
  }
  printf (&quot;Countdown abgelaufen\n&quot;);
  std::cin.get();
  std::cin.get();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1304175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304175</guid><dc:creator><![CDATA[Newo]]></dc:creator><pubDate>Tue, 12 Jun 2007 15:31:33 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Tue, 12 Jun 2007 15:37:00 GMT]]></title><description><![CDATA[<p>C mit C++ mischen ist wie Bier mit Likör.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1304180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304180</guid><dc:creator><![CDATA[Kenner der Vergleiche]]></dc:creator><pubDate>Tue, 12 Jun 2007 15:37:00 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Tue, 12 Jun 2007 16:08:27 GMT]]></title><description><![CDATA[<p>nja ... da du sowieso schon scheiße da baust ... machen wir mal weiter damit <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>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;ctime&gt;

void time_wait(unsigned int sec)
{
    std::clock_t end = std::clock() + sec * CLK_TCK;
    while (std::clock() &lt; end);
}

int main ()
{
    std::cout &lt;&lt; &quot;Tage: &quot; &lt;&lt; std::flush;
    unsigned int days = 0;
    std::cin &gt;&gt; days;
    std::cout &lt;&lt; &quot;Stunden: &quot; &lt;&lt; std::flush;
    unsigned int hours = 0;
    std::cin &gt;&gt; hpurs;
    std::cout &lt;&lt; &quot;Minuten: &quot; &lt;&lt; std::flush;
    unsigned int minutes = 0;
    std::cin &gt;&gt; minutes;
    std::cout &lt;&lt; &quot;Sekunden: &quot; &lt;&lt; std::flush;
    unsigned int sec = 0;
    std::cin &gt;&gt; sec;

    sec += days * 86400 + hours * 3600 + min * 60;
    std::system(&quot;cls&quot;);

    std::cout &lt;&lt; &quot;Countdown gestartet!&quot; &lt;&lt; std::endl;
    for (; sec &gt; 0; --sec)
    {
        std::cout &lt;&lt; sec &lt;&lt; std::endl;
        time_wait(1);
        std::system(&quot;cls&quot;);
    }
    std::cout &lt;&lt; &quot;BOOM!&quot; &lt;&lt; std::endl;
    std::cin.get();
}
</code></pre>
<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1304217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304217</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 12 Jun 2007 16:08:27 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Fri, 15 Jun 2007 08:52:14 GMT]]></title><description><![CDATA[<p>Also ich habe schon lange kein Konsolenprogramm mehr geschrieben, aber versuche es mal mit &quot;gotoxy(x,y)&quot;.</p>
<p>Bei jedem Anzeigen des neuen Wertes (Zeit) schreibt er den Wert in die Zeile die du ihm angibst, eben mit &quot;gotoxy(x,y)&quot;.</p>
<p>Beispiel: gotoxy(10,20)</p>
<p>Somit müsste sich auch der alte Wert überschreiben und &quot;weg&quot; sein. <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/1306351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306351</guid><dc:creator><![CDATA[Zugangsdaten vergessen]]></dc:creator><pubDate>Fri, 15 Jun 2007 08:52:14 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Fri, 15 Jun 2007 09:00:33 GMT]]></title><description><![CDATA[<p>Des weiteren ist &quot;wait()&quot; keine gute idee. probiere es lieber mit clocks, willst du wissen wie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306358</guid><dc:creator><![CDATA[Zugangsdaten vergessen]]></dc:creator><pubDate>Fri, 15 Jun 2007 09:00:33 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Fri, 15 Jun 2007 10:21:10 GMT]]></title><description><![CDATA[<p>Hallo !</p>
<p>printf (&quot;<strong>\r</strong>%d\n&quot;,n);</p>
<p>oder</p>
<p>cout &lt;&lt; '\r' &lt;&lt; n;</p>
<p><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/1306409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306409</guid><dc:creator><![CDATA[proggingmania]]></dc:creator><pubDate>Fri, 15 Jun 2007 10:21:10 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Fri, 15 Jun 2007 10:30:33 GMT]]></title><description><![CDATA[<p>also ich hatte immer &quot;cout&quot; verwendet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306416</guid><dc:creator><![CDATA[Zugangsdaten vergessen]]></dc:creator><pubDate>Fri, 15 Jun 2007 10:30:33 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Fri, 15 Jun 2007 10:47:38 GMT]]></title><description><![CDATA[<p>Zugangsdaten vergessen schrieb:</p>
<blockquote>
<p>also ich hatte immer &quot;cout&quot; verwendet</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306429</guid><dc:creator><![CDATA[Der C++ Fetischist]]></dc:creator><pubDate>Fri, 15 Jun 2007 10:47:38 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Fri, 15 Jun 2007 11:09:46 GMT]]></title><description><![CDATA[<p>Hi, da system(&quot;cls&quot;) auch Systemabhängig ist, würde ich folgende Sache nutzen:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

HANDLE stdOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD xy;

xy.X = 0; // X Coord
xy.Y = 0; // Y Coord  :p 
SetConsoleCursorPosition(stdOut,xy);
</code></pre>
<p>Gruß Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306439</guid><dc:creator><![CDATA[Foxx90]]></dc:creator><pubDate>Fri, 15 Jun 2007 11:09:46 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Fri, 15 Jun 2007 11:38:23 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12602">@Foxx90</a><br />
Ganz ehrlich, ich verstehe deinen Code nicht ganz, erkläre doch bitte mal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306473</guid><dc:creator><![CDATA[Zugangsdaten vergessen]]></dc:creator><pubDate>Fri, 15 Jun 2007 11:38:23 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Fri, 15 Jun 2007 11:45:31 GMT]]></title><description><![CDATA[<p>Foxx90 schrieb:</p>
<blockquote>
<p>Hi, da system(&quot;cls&quot;) auch Systemabhängig ist, würde ich folgende Sache nutzen:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

HANDLE stdOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD xy;

xy.X = 0; // X Coord
xy.Y = 0; // Y Coord  :p 
SetConsoleCursorPosition(stdOut,xy);
</code></pre>
<p>Gruß Chris</p>
</blockquote>
<p>Der obige Quellcode ist echt top portabel du.</p>
<p>MUAHUAHUAHUAHUA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306479</guid><dc:creator><![CDATA[Top Portabilität]]></dc:creator><pubDate>Fri, 15 Jun 2007 11:45:31 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Fri, 15 Jun 2007 11:51:59 GMT]]></title><description><![CDATA[<p>Top Portabilität schrieb:</p>
<blockquote>
<p>Der obige Quellcode ist echt top portabel du.</p>
<p>MUAHUAHUAHUAHUA</p>
</blockquote>
<p>Ich verstand das eher so: Weil system( &quot;cls&quot; ) schon unportabel ist, wieso nicht noch weiteren unportablen Code verwenden?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306484</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306484</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 15 Jun 2007 11:51:59 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Fri, 15 Jun 2007 12:12:02 GMT]]></title><description><![CDATA[<p>@ David_pb:<br />
Ganz genau! system(&quot;cls&quot;); ist schon unportabel außerdem ist doch besser systemcalls zu vermeiden odeR ?</p>
<p>Also<br />
@Zugangsdaten vergessen :</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt; //&lt;- Header

HANDLE stdOut = GetStdHandle(STD_OUTPUT_HANDLE); //&lt;- Hier bekommt man ein entsprechendes Handle 
COORD xy; // Instanz von der Struktur COORD
// SO bis hierhin ist erstmal die &quot;Initialisierung&quot; 

/* Hier füllt man das Struct (x und y) */
1. xy.X = 0; // X Coord 
2. xy.Y = 0; // Y Coord  :p
/* So und erst hier wirds interesant  :p */
/* Hier wird der Cursor auf xy.X und xy.Y gesetzt */
3. SetConsoleCursorPosition(stdOut,xy); 
/* Wenn du z.B. hiernach cout benutzt, schreibt cout ab diesen Coords los ;) */

/* So, wenn du immer wieder den Cursor setzen willst musst die S
chritte 1-3 immer in einer Schleife ausführen, und 
in deinem Fall immer die selben Werte bei xy.X und xy.Y*/
</code></pre>
<p>Gruß Chris</p>
<p>ps: Probiers einfach aus.. is ansich nich so schwer <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/1306506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306506</guid><dc:creator><![CDATA[Foxx90]]></dc:creator><pubDate>Fri, 15 Jun 2007 12:12:02 GMT</pubDate></item><item><title><![CDATA[Reply to Countdown on Fri, 15 Jun 2007 18:34:24 GMT]]></title><description><![CDATA[<blockquote>
<p>außerdem ist doch besser systemcalls zu vermeiden odeR ?</p>
</blockquote>
<p>hmm ja ... weißt du warum?<br />
1. Weil du damit Zeit verlierst (Programm muss erst geöffnet werden!), da &quot;cls&quot; ein Programm ist.<br />
2. Weil man etwas anderes als &quot;cls&quot; registriert habe könnte und das zu unvorhersehbaren Ergebnissen führt!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306792</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 15 Jun 2007 18:34:24 GMT</pubDate></item></channel></rss>