Apakah Anda pernah ingin membuat program C menunggu waktu tertentu?
Anda dapat mengatur teknik untuk memberikan waktu untuk menandai, misalnya: saat menampilkan halaman pembuka (pemberitahuan atau petunjuk) untuk sebuah game.
Oke, berikut ini beberapa cara membuat program “berhenti”, baca terus…
Langkah
Langkah 1. Buat CPU Anda berfungsi untuk beberapa waktu tanpa menghasilkan peristiwa yang terlihat
Langkah 2. Jangan melakukan operasi lain selama penundaan itu, untuk membuat penundaan waktu yang sederhana
Metode 1 dari 2: Teknik "for-loop"
Langkah 1. Gunakan perulangan "untuk" tipikal diikuti dengan pernyataan nol untuk mengimplementasikan waktu tunda
Langkah 2. Tulis sebagai berikut, sebagai contoh:
- untuk (i=1; i<100; i++);
- Pernyataan yang diikuti oleh ";" membuat komputer mengeksekusi loop 100 kali tanpa ada kejadian yang terlihat. Itu hanya menciptakan penundaan waktu.
Metode 2 dari 2: Teknik "tidur ()"
Langkah 1. Gunakan sleep() Fungsi yang disebut sleep(int ms) dideklarasikan yang membuat program menunggu waktu dalam milidetik yang ditentukan
Langkah 2. Sertakan baris berikut dalam program Anda sebelum "int main()":
#termasuk
Langkah 3. Masukkan, di mana pun Anda membutuhkan program Anda untuk membuat penundaan:
- tidur(1000);
- Ubah "1000" ke jumlah milidetik yang ingin Anda tunggu (misalnya, jika Anda ingin membuat penundaan 2 detik, ganti dengan "2000".
- Tip: Pada beberapa sistem, nilainya mungkin merujuk ke detik, bukan milidetik. Jadi terkadang 1000 bukan satu detik, tapi sebenarnya 1000 detik.
Tips
- Logika di atas dapat diimplementasikan dengan menggunakan struktur perulangan apa saja yang diikuti oleh pernyataan null-";", seperti dengan menggunakan perulangan while atau do-while.
- Satu milidetik adalah 1/1000 detik.
Peringatan
- Teknik ini umumnya tidak berguna dalam apa pun selain program sepele. Secara umum, gunakan penghitung waktu atau pendekatan yang digerakkan oleh peristiwa untuk mengimplementasikan ini. Jika tidak, program akan menjadi tidak responsif selama waktu tunda, dan itu tidak selalu merupakan hal yang baik. Selain itu, memilih N di loop Anda, jika itu tergantung pada eksekusi instruksi, mungkin memiliki hasil yang mengejutkan. Rupanya penulis asli belum pernah mendengar tentang kompiler pengoptimalan… mungkin mengoptimalkan seluruh loop jika sebenarnya tidak melakukan apa-apa!
- Jika Anda menggunakan for-loop, kompiler dapat mengoptimalkan kode, dan, karena loop tidak melakukan apa-apa, hapus kode tersebut. Ini tidak terjadi saat menggunakan delay().
- Perhatikan bahwa saat menggunakan teknik for-loop, Anda mungkin memerlukan rentang yang sangat besar untuk i, karena pernyataan kosong dieksekusi dengan sangat cepat. Angka besar seperti itu mungkin tidak cocok dengan tipe integer.