Si të vononi ekzekutimin e programit në C

Autor: Joan Hall
Data E Krijimit: 28 Shkurt 2021
Datën E Azhurnimit: 1 Korrik 2024
Anonim
Si të vononi ekzekutimin e programit në C - Shoqëri
Si të vononi ekzekutimin e programit në C - Shoqëri

Përmbajtje

A keni dashur ndonjëherë të krijoni një program C që pret për një kohë të caktuar? Ju mund të personalizoni mënyrën për t'i dhënë kohës "fluturo", për shembull: kur shfaqni një faqe pop-up (njoftim ose aluzion) për lojën. ... OK, këtu janë disa mënyra për të krijuar një program "qëndroni në vend", lexoni në ...

Hapa

  1. 1 Lëreni procesorin tuaj të funksionojë për një kohë pa shkaktuar një ngjarje të vëzhgueshme.
  2. 2 Mos kryeni asnjë operacion tjetër gjatë kësaj vonese për të krijuar një vonesë të thjeshtë kohore.

Metoda 1 nga 2: Teknika për lak

  1. 1 Përdorni një lak tipik "për" të ndjekur nga një deklaratë boshe për të zbatuar një vonesë.
  2. 2 Shkruani si më poshtë, për shembull:
    • për (i = 1; i100; i ++);
    • Operatori që ndjek ";" e detyron kompjuterin të lakojë 100 herë pa një ngjarje të dukshme. Ajo krijon vetëm një vonesë kohore.

Metoda 2 nga 2: Teknika "fle ()"

  1. 1 Përdorni gjumin (). Funksioni quhet gjumë (int ms), i deklaruar në TIME.H>, gjë që e bën programin të presë për një sasi të caktuar kohe në milisekonda.
  2. 2 Përfshini rreshtin e mëposhtëm në programin tuaj para int main ():
    • #përfshi KOHA.H>
  3. 3 Ngjitni aty ku është e nevojshme për të vonuar programin tuaj:
    • gjumë (1000);
    • Ndryshoni "1000" në numrin e milisekondave që dëshironi të prisni (për shembull, nëse doni të bëni një vonesë prej 2 sekondash, zëvendësojeni atë me "2000".
    • Këshillë: Në disa sisteme, vlera mund të specifikohet në sekonda në vend të milisekondave. Prandaj, ndonjëherë 1000 nuk është 1 sekondë, por në fakt 1000 sekonda.

Kodi shembull

Një program që pret për një numër të caktuar sekondash:



#include stdio.h> #include dos.h> int main () {int del; // Periudha e vonesës printf ("Fut kohën e vonesës (në sekonda):"); scanf ("% i",? del); del * = 1000; // Shumëzojeni atë me 1000 për t'u kthyer në milisekonda Delay (del); // Vonesa. printf ("U krye."); kthimi 0; }


Një program që numëron nga 10 në 0:


#include STDIO.H> #include TIME.H> int main () {int i; për (i = 10; i> = 0; i--) {printf ("% i n", i); // Shkruani numrin aktual të 'numërimit mbrapsht' Vonesa (1000); // Prisni një kthim të dytë} 0; }

Këshilla

  • Një milisekond është 1/1000 e sekondës.
  • Algoritmi i mësipërm mund të zbatohet duke përdorur çdo strukturë loop të ndjekur nga operatori null - "; si duke përdorur sythe while ose do -while.

Paralajmërimet

  • Kjo metodë është përgjithësisht e padobishme për asgjë tjetër përveç një programi të parëndësishëm. Në përgjithësi, përdorni kohëmatës ose një qasje të drejtuar nga ngjarjet për ta arritur këtë. Përndryshe, programi nuk do të përgjigjet gjatë kohës së vonesës dhe kjo nuk është gjithmonë një gjë e mirë. Gjithashtu, zgjedhja e N në një lak, nëse varet nga ekzekutimi i komandave, mund të ketë rezultate të papritura. Me sa duket autori origjinal nuk ka dëgjuar kurrë për një përpilues optimizues ... mund të zgjedhë një lak të tërë nëse nuk bën asgjë në të vërtetë!
  • Vini re se kur përdorni metodën "for-loop", mund të marrë një interval shumë të madh për i, pasi një deklaratë boshe është shumë e shpejtë. Numra kaq të mëdhenj mund të mos përshtaten në një lloj numër të plotë.
  • Nëse përdorni një lak for, përpiluesi mund të zgjedhë kodin, dhe meqenëse ky lak nuk bën asgjë, hiqeni atë. Kjo nuk ndodh kur përdorni Delay ().