কম্পিউটার টিউটোরিয়াল

সিস্টেম কল ব্যবহার করে C++-এ টাইমার (স্টপওয়াচ) তৈরি

এখানে আমরা দেখব কিভাবে সিস্টেম কল ব্যবহার করে C++-এ একটি টাইমার (স্টপওয়াচ) ডিজাইন করা যায়। এখানে কোনো গ্রাফিক্স বা অ্যানিমেশন ব্যবহার করা হয়নি। টাইমার বলতে এখানে আপ-কাউন্টিং স্টপওয়াচ বোঝানো হয়েছে। ব্যবহৃত সিস্টেম কলগুলো হলো:

  • sleep(n) — প্রোগ্রামকে n সেকেন্ডের জন্য স্লিপ বা নিদ্রাবস্থায় রাখে।
  • system() — সিস্টেম কমান্ড এক্সিকিউট করতে ব্যবহৃত হয়, কমান্ডটি আর্গুমেন্ট হিসেবে পাস করা হয়।

উদাহরণ কোড

#include <iomanip> 
#include <iostream> 
#include <stdlib.h> 
#include <unistd.h> 
using namespace std; 

int hrs = 0; 
int mins = 0; 
int sec = 0; 

void showClk() {
    system("clear"); // Windows-এ "cls", Linux/Mac-এ "clear"
    cout << setfill(' ') << setw(55) << " TIMER \n";
    cout << setfill(' ') << setw(66) << " --------------------------------------\n";
    cout << setfill(' ') << setw(29); 
    cout << "| " << setfill('0') << setw(2) << hrs << " Hours | ";
    cout << setfill('0') << setw(2) << mins << " Minutes | ";
    cout << setfill('0') << setw(2) << sec << " Seconds |" << endl;
    cout << setfill(' ') << setw(66) << " --------------------------------------\n";
}

void systemCallTimer() {
    while (true) {
        showClk();
        sleep(1);
        sec++;
        if (sec == 60) {
            mins++;
            if (mins == 60) {
                hrs++;
                mins = 0;
            }
            sec = 0;
        }
    }
}

int main() {
    systemCallTimer();
    return 0;
}

কিভাবে কাজ করে

  • showClk() ফাংশনটি কনসোল ক্লিয়ার করে এবং বর্তমান সময় (ঘন্টা, মিনিট, সেকেন্ড) ফরম্যাট করে প্রদর্শন করে।
  • systemCallTimer() ফাংশনটি একটি ইনফিনিট লুপে চলে। প্রতি সেকেন্ডে sleep(1) কল করে ১ সেকেন্ড অপেক্ষা করে, তারপর সেকেন্ড বাড়ায়। ৬০ সেকেন্ড হলে মিনিট বাড়ায়, ৬০ মিনিট হলে ঘন্টা বাড়ায়।
  • main() থেকে systemCallTimer() কল করা হয়।

নোট

উইন্ডোজে system("cls") এবং লিনাক্স/ম্যাক-এ system("clear") ব্যবহার করতে হয়। <unistd.h> হেডার লিনাক্স/ইউনিক্স সিস্টেমের জন্য প্রয়োজনীয়। উইন্ডোজে <windows.h> এবং Sleep(1000) (মিলিসেকেন্ডে) ব্যবহার করা ভালো।

আউটপুট

কনসোলে একটি রানিং টাইমার দেখাবে যা প্রতি সেকেন্ড আপডেট হয়: | 00 Hours | 00 Minutes | 00 Seconds | আকারে।

  1. C++ দিয়ে কনসোল ক্লিয়ার করা

  2. মাল্টি-ডাইমেনশনাল অ্যারে ব্যবহার করে দুটি ম্যাট্রিক্স যোগ করার C++ প্রোগ্রাম

  3. C++-এ cout দিয়ে double মান পূর্ণ প্রিসিশনে প্রিন্ট করা

  4. C#-এ Timer ক্লাস ব্যবহার: ইন্টারভালে ইভেন্ট জেনারেট করা