Садржај
- Кораци
- Метода 1 од 2: Техника за петљу
- Метода 2 од 2: Техника "слееп ()"
- Пример кода
- Савјети
- Упозорења
Да ли сте икада пожелели да креирате Ц програм који чека одређено време? Можете прилагодити начин давања времена "пролету", на пример: када приказујете искачућу страницу (обавештење или наговештај) за игру. ... У реду, ево неколико начина за креирање програма "мири", читајте даље ...
Кораци
- 1 Пустите процесор да ради неко време без изазивања посматраног догађаја.
- 2 Не изводите никакве друге операције током овог кашњења да бисте створили једноставно временско кашњење.
Метода 1 од 2: Техника за петљу
- 1 За примену кашњења користите типичну петљу "фор", праћену празном наредбом.
- 2 Напишите на следећи начин, на пример:
- за (и = 1; и100; и ++);
- Оператер који следи „;“ присиљава рачунар да се петљу изврши 100 пута без приметног догађаја. То само ствара временско кашњење.
Метода 2 од 2: Техника "слееп ()"
- 1 Користите слееп (). Функција се назива слееп (инт мс), декларисана у ТИМЕ.Х>, што тера програм да чека одређено време у милисекундама.
- 2 Укључите следећи ред у свој програм пре инт маин ():
- #инцлуде ТИМЕ.Х>
- 3 Налепите где је потребно да бисте одгодили програм:
- спавање (1000);
- Промените „1000“ на број милисекунди које желите да сачекате (на пример, ако желите да направите одлагање од 2 секунде, замените га са „2000“.
- Савет: На неким системима вредност може бити наведена у секундама уместо у милисекундама. Стога понекад 1000 није 1 секунда, већ заправо 1000 секунди.
Пример кода
Програм који чека одређени број секунди:
#инцлуде стдио.х> #инцлуде дос.х> инт маин () {инт дел; // Период одлагања принтф ("Унесите време кашњења (у секундама):"); сцанф ("% и" ,? дел); дел * = 1000; // Помножите га са 1000 за претварање у милисекунде Кашњење (дел); // Одлагање. принтф ("Готово."); ретурн 0; }
Програм који одбројава од 10 до 0:
#инцлуде СТДИО.Х> #инцлуде ТИМЕ.Х> инт маин () {инт и; за (и = 10; и> = 0; и--) {принтф ("% и н", и); // Запис тренутног броја одбројавања Делаи (1000); // Сачекајте секунду} ретурн 0; }
Савјети
- Милисекунда је 1/1000 секунде.
- Горњи алгоритам се може применити коришћењем било које структуре петље иза које следи нулл оператор - "; као коришћење вхиле или до -вхиле петљи.
Упозорења
- Ова метода је генерално бескорисна за било шта друго осим за тривијални програм. Уопштено, користите тајмере или приступ вођен догађајима да бисте то постигли. У супротном, програм ће престати да реагује током времена одлагања и то није увек добро. Такође, одабир Н у петљи, ако зависи од извршавања наредби, може имати неочекиване резултате. Очигледно је да оригинални аутор никада није чуо за оптимизацијски компајлер ... може оптимизирати читаву петљу ако заправо ништа не ради!
- Имајте на уму да када се користи "фор-лооп" метода, може проћи веома велики интервал за и, пошто је празна наредба врло брза. Тако велики бројеви се можда не уклапају у целобројни тип.
- Ако користите фор-лооп, компајлер може оптимизовати код, а пошто петља не ради ништа, уклоните га. То се не дешава када користите Делаи ().