Ako oddialiť spustenie programu v C

Autor: Joan Hall
Dátum Stvorenia: 28 Február 2021
Dátum Aktualizácie: 1 V Júli 2024
Anonim
How to Flash Playstation 3 in 2020 HEN 4.86 (HFW4.86.1)
Video: How to Flash Playstation 3 in 2020 HEN 4.86 (HFW4.86.1)

Obsah

Už ste niekedy chceli vytvoriť program C, ktorý čaká určitý čas? Spôsob, akým bude čas „preletieť“, si môžete prispôsobiť napríklad: pri zobrazení vyskakovacej stránky (oznámenia alebo nápovedy) pre hru. ... OK, tu je niekoľko spôsobov, ako vytvoriť program „stand by“, čítajte ďalej ...

Kroky

  1. 1 Nechajte svoj procesor chvíľu bežať bez toho, aby spôsobil pozorovateľnú udalosť.
  2. 2 Počas tohto oneskorenia nevykonávajte žiadne ďalšie operácie, aby ste vytvorili jednoduché časové oneskorenie.

Metóda 1 z 2: Technika For-loop

  1. 1 Na implementáciu oneskorenia použite typickú slučku „for“, za ktorou nasleduje prázdny príkaz.
  2. 2 Napíšte napríklad takto:
    • pre (i = 1; i100; i ++);
    • Operátor podľa „;“ prinúti počítač 100 -krát sa zacykliť bez viditeľnej udalosti. Vytvára iba časové oneskorenie.

Metóda 2 z 2: Technika „spánok ()“

  1. 1 Použite spánok (). Táto funkcia sa nazýva spánok (int ms), deklarovaná v TIME.H>, vďaka čomu program čaká na zadanú dobu v milisekundách.
  2. 2 Pred program int main () zahrňte do svojho programu nasledujúci riadok:
    • #include TIME.H>
  3. 3 V prípade potreby prilepte, aby sa váš program oneskoril:
    • spánok (1000);
    • Zmeňte „1000“ na počet milisekúnd, na ktoré chcete počkať (napríklad, ak chcete urobiť 2 -sekundové oneskorenie, nahraďte ho „2000“).
    • Tip: V niektorých systémoch môže byť hodnota zadaná v sekundách namiesto milisekúnd. Preto niekedy 1000 nie je 1 sekunda, ale v skutočnosti 1000 sekúnd.

Ukážkový kód

Program, ktorý čaká určitý počet sekúnd:



#include stdio.h> #include dos.h> int main () {int del; // Perióda oneskorenia printf ("Zadajte čas oneskorenia (v sekundách):"); scanf ("% i" ,? del); del * = 1000; // Vynásobením 1 000 sa prevádza na milisekundy Delay (del); // Oneskorenie. printf („Hotovo.“); návrat 0; }


Program, ktorý odpočítava od 10 do 0:


#include STDIO.H> #include TIME.H> int main () {int i; pre (i = 10; i> = 0; i--) {printf ("% i n", i); // Napíšte aktuálne číslo 'odpočítavania' Oneskorenie (1000); // Počkajte chvíľu} návrat 0; }

Tipy

  • Milisekunda je 1/1 000 sekundy.
  • Vyššie uvedený algoritmus je možné implementovať pomocou ľubovoľnej štruktúry slučiek, za ktorou nasleduje nulový operátor - „; ako používanie slučiek while alebo do -while.

Varovania

  • Táto metóda je spravidla zbytočná pre čokoľvek iné ako triviálny program. Na dosiahnutie tohto cieľa spravidla používajte časovače alebo prístup založený na udalostiach. V opačnom prípade program počas oneskorenia prestane reagovať a nie je to vždy dobré. Tiež výber N v slučke, ak to závisí od vykonávania príkazov, môže mať neočakávané výsledky. Pôvodný autor zrejme nikdy nepočul o optimalizačnom kompilátore ... môže optimalizovať celú slučku, ak v skutočnosti nič nerobí!
  • Všimnite si toho, že keď použijete metódu „for-loop“, môže i trvať veľmi dlho, pretože prázdny príkaz je veľmi rýchly. Také veľké čísla sa nemusia hodiť do celočíselného typu.
  • Ak použijete slučku for-loop, kompilátor môže kód optimalizovať a pretože slučka nerobí nič, odstráňte ju. To sa nestane, keď používate Delay ().