NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Časovač v jazyce C

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Jakub Volák
Člen
Avatar
Jakub Volák:8.12.2016 16:49

Ahoj, potřeboval bych poradit s jedním mým nápadem. Potřeboval bych vytvořit program, který by od zadaného počtu sekund odečítal přesně po sekundě a vypisoval to na obrazovku až do 0, pokud možno, aby se vypisované sekundy nepohybovaly, ale zůstaly na stejném místě při každém výpisu.

 
Odpovědět
8.12.2016 16:49
Avatar
Leoš Klik
Člen
Avatar
Leoš Klik:8.12.2016 18:55

Ahoj,
jak by měl vypadat tedy výstup programu? Můžeš uvést příklad?
Na jakém OS má program běžet?

 
Nahoru Odpovědět
8.12.2016 18:55
Avatar
Jakub Volák
Člen
Avatar
Jakub Volák:8.12.2016 19:07

Program poběží na Windows. Výstup bude takový, že po uplynutí času zahlásí konec.

 
Nahoru Odpovědět
8.12.2016 19:07
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Jakub Volák
Martin Dráb:8.12.2016 19:08

Pokud nepotřebuješ platformovou nezávislost a stačí ti třeba Windows, tak by mohla fungovat takováto funkce:

#include <windows.h>
. . .
void odpocet(int sekund)
{
  for (int i = sekund; i > 0; i--) {
    printf("\r%i    ", i);
    Sleep(1000);
  }

  return;
}

Trik spočívá zejména v tom, že se místo klasického ukončení řádku (\n \r) použije pouze znak \r, který vrátí kurzor na začátek aktuálního řádku. K odřádkování tedy nedojde.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
8.12.2016 19:08
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Martin Dráb
Libor Šimo (libcosenior):8.12.2016 21:50

Uz tam chyba len cistenie konzoly. Nevsimol som si \r

Editováno 8.12.2016 21:52
Nahoru Odpovědět
8.12.2016 21:50
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Jakub Volák
Člen
Avatar
Jakub Volák:9.12.2016 15:30

Díky za příklad, dělá přesně to co potřebuji.

 
Nahoru Odpovědět
9.12.2016 15:30
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.