Hvernig á að seinka framkvæmd forrita í C

Höfundur: Joan Hall
Sköpunardag: 28 Febrúar 2021
Uppfærsludagsetning: 1 Júlí 2024
Anonim
Hvernig á að seinka framkvæmd forrita í C - Samfélag
Hvernig á að seinka framkvæmd forrita í C - Samfélag

Efni.

Hefur þig einhvern tíma langað til að búa til C forrit sem bíður í ákveðinn tíma? Þú getur sérsniðið leiðina til að gefa tímanum „fljúga hjá“, til dæmis: þegar sprettiglugga (tilkynning eða vísbending) er sýnd fyrir leikinn. ... OK, hér eru nokkrar leiðir til að búa til „kyrrstöðu“ forrit, lestu áfram ...

Skref

  1. 1 Láttu örgjörvann ganga um stund án þess að valda sjáanlegum atburði.
  2. 2 Ekki framkvæma aðrar aðgerðir meðan á þessari seinkun stendur til að búa til einfalda tímatöf.

Aðferð 1 af 2: For-loop tækni

  1. 1 Notaðu dæmigerða „fyrir“ lykkju og síðan tóma fullyrðingu til að framkvæma seinkun.
  2. 2 Skrifaðu sem hér segir, til dæmis:
    • fyrir (i = 1; i100; i ++);
    • Rekstraraðili fylgir „;“ neyðir tölvuna til að lykkja 100 sinnum án merkjanlegrar atburðar. Það skapar aðeins tímatöf.

Aðferð 2 af 2: "Sleep ()" tæknin

  1. 1 Notaðu svefn (). Aðgerðin er kölluð svefn (int ms), lýst í TIME.H>, sem fær forritið til að bíða eftir tilteknum tíma í millisekúndum.
  2. 2 Hafa eftirfarandi línu í forritinu þínu áður en int main () er:
    • #innihalda TIME.H>
  3. 3 Límdu þar sem þörf krefur til að seinka áætlun þinni:
    • svefn (1000);
    • Breyttu "1000" í fjölda millisekúndna sem þú vilt bíða (til dæmis, ef þú vilt gera 2 sekúndna seinkun, skiptu út fyrir "2000".
    • Ábending: Í sumum kerfum getur gildi verið tilgreint í sekúndum í stað millisekúndna. Þess vegna er stundum 1000 ekki 1 sekúnda, heldur í raun 1000 sekúndur.

Dæmi um kóða

Forrit sem bíður í ákveðinn fjölda sekúndna:



#include stdio.h> #include dos.h> int main () {int del; // Seinkunartímabilið printf ("Sláðu inn seinkunartímann (í sekúndum):"); scanf ("% i" ,? del); del * = 1000; // Margfaldaðu það með 1000 til að breyta í millisekúndur Seinkun (del); // Seinkun. printf ("Lokið."); skila 0; }


Forrit sem telur niður úr 10 í 0:


#include STDIO.H> #include TIME.H> int main () {int i; fyrir (i = 10; i> = 0; i--) {printf ("% i n", i); // Skrifaðu núverandi 'niðurtalning' númer Töf (1000); // Bíddu annað} skilaðu 0; }

Ábendingar

  • Millisekúnda er 1/1000 úr sekúndu.
  • Hægt er að útfæra ofangreinda reiknirit með því að nota hvaða lykkjuuppbyggingu sem er núllrekstraraðilinn - "; eins og að nota á meðan eða gera -á meðan lykkjur.

Viðvaranir

  • Þessi aðferð er almennt gagnslaus fyrir annað en léttvægt forrit. Almennt skaltu nota tímamæli eða atburðadrifna nálgun til að ná þessu. Annars mun forritið ekki svara á seinkunartímanum og þetta er ekki alltaf gott. Einnig getur valið N í lykkju, ef það fer eftir framkvæmd skipana, haft óvæntar niðurstöður. Greinilega hefur upphaflegi höfundurinn aldrei heyrt um hagræðingarþýðanda ... hann getur fínstillt heila lykkju ef hann gerir í raun ekki neitt!
  • Athugaðu að þegar "for-loop" aðferðin er notuð getur það tekið mjög stórt bil fyrir i, þar sem tóm fullyrðing er mjög hröð. Slíkar stórar tölur passa kannski ekki í heiltölugerð.
  • Ef þú notar for-lykkju getur þýðandinn fínstillt kóðann og þar sem lykkjan gerir ekkert skaltu fjarlægja hann. Þetta gerist ekki þegar Delay () er notað.