অধ্যায় ৪: কম্পিউটারের সাথে কথপোকথন—ইউজার ইনপুট এবং scanf-এর জাদু!
হ্যালো ফিউচার কোডারস! গত পর্বে আমরা শিখেছি কীভাবে কম্পিউটারের মেমোরিতে ভেরিয়েবল নামের ছোট ছোট ম্যাজিক বক্স তৈরি করে ডেটা জমিয়ে রাখতে হয়। কিন্তু খেয়াল করেছ কি, আগের কোডগুলোতে আমরা নিজেরাই ডেটা ঠিক করে দিয়েছিলাম (যেমন: age = 16)।
বাস্তব জীবনে কিন্তু এমন হয় না। যেমন—তুমি যখন ফেসবুকে লগইন করো, ফেসবুক কিন্তু আগে থেকে তোমার পাসওয়ার্ড জানে না। তুমি কিবোর্ডে টাইপ করো, আর ফেসবুক সেটা ইনপুট হিসেবে নেয়। আজ আমরা শিখবো কীভাবে আমাদের C প্রোগ্রামে ইউজারের কাছ থেকে কিবোর্ডের মাধ্যমে সরাসরি ইনপুট নিতে হয়!
🎤 scanf কী এবং এটি কীভাবে কাজ করে?
স্ক্রিনে কোনো কিছু দেখানোর জন্য আমরা ব্যবহার করেছিলাম printf (Print Function)। আর ইউজারের কাছ থেকে কিবোর্ডের টাইপ করা ডেটা কম্পিউটারের মেমোরি বক্সে ঢুকানোর জন্য আমরা ব্যবহার করবো scanf (Scan Function)।
সহজ কথায়, scanf হলো কম্পিউটারের কান! ও কিবোর্ডের দিকে কান পেতে বসে থাকে যে ইউজার কখন কিছু টাইপ করবে।
💻 চলো প্র্যাকটিক্যাল কোড দেখি!
ধরে নাও, আমরা এমন একটি প্রোগ্রাম বানাবো যা ইউজারের বয়স জানতে চাইবে এবং ইউজার তার বয়স টাইপ করলে কম্পিউটার তাকে একটি ধন্যবাদ বার্তা দেবে। কোড ব্লকে নিচের কোডটি লিখে রান করো:
C
#include <stdio.h>
int main() {
int userAge; // আমরা একটি খালি মেমোরি বক্স তৈরি করলাম
// ইউজারকে নির্দেশনা দেওয়া
printf("Hey! Enter your age: ");
// ইউজারের কাছ থেকে ইনপুট নেওয়া
scanf("%d", &userAge);
// ইনপুট নেওয়া ডেটা স্ক্রিনে দেখানো
printf("Wow! You are %d years old. Welcome to our coding world!\n", userAge);
return 0;
}
⚠️ টিনএজ অ্যালার্ট (সবচেয়ে কমন ভুল): কোডে
&userAgeখেয়াল করেছ?scanfলেখার সময় ভেরিয়েবলের নামের আগে এই&(Ampersand) চিহ্নটি দিতেই হবে। এটি কম্পিউটারকে বলে দেয় যে মেমোরির ঠিক কোন অ্যাড্রেসে বা ঠিক কোন বক্সে গিয়ে ডেটাটি জমা করতে হবে। এটি না দিলে কোড কাজ করবে না!
🔠 বিভিন্ন ডেটা টাইপের জন্য scanf
গত পর্বে আমরা যে তিনটি ডেটা টাইপ শিখেছিলাম, সেগুলোর ইনপুট নেওয়ার নিয়মটা এক নজরে দেখে নাও:
- পূর্ণসংখ্যার জন্য:
scanf("%d", &variable_name); - দশমিক সংখ্যার জন্য:
scanf("%f", &variable_name); - একটি অক্ষরের জন্য:
scanf("%c", &variable_name);
💡 আজকের কোডিং চ্যালেঞ্জ (Coding Challenge!)
আজকের টাস্কটি একটু বেশি মজাদার। তুমি এমন একটি কোড লেখো যা: ১. ইউজারের কাছ থেকে তার ক্লাসের রোল নম্বর (int) ইনপুট নিবে। ২. তার পরীক্ষার জিপিএ (float) ইনপুট নিবে। ৩. তারপর সুন্দর করে স্ক্রিনে প্রিন্ট করে দেখাবে।
ঝটপট কোডটি লিখে রান করো এবং কোনো সমস্যা হলে স্ক্রিনশট বা কোডটি নিচে কমেন্ট বক্সে শেয়ার করো।
আগামী পর্বে আমরা শিখবো কীভাবে কম্পিউটারকে দিয়ে সিদ্ধান্ত নেওয়াতে হয়, অর্থাৎ if-else এর লজিক! চোখ রাখো tolearnteam.com-এ!
Read All Articles
- শূন্য থেকে প্রোগ্রামিং হিরো: C Language ফুল কোর্স!
- কোডিংয়ের হাতেখড়ি: তোমার কম্পিউটারে প্রথম প্রোগ্রাম!
- মেমোরির ম্যাজিক বক্স: ভেরিয়েবল এবং ডেটা টাইপের সহজ পাঠ!
- কম্পিউটার এবার কথা শুনবে! ইউজারের কাছ থেকে ইনপুট নেওয়ার ম্যাজিক
- কম্পিউটারের নিজস্ব মগজ! if-else দিয়ে সিদ্ধান্ত নেওয়ার ম্যাজিক
- জিপিএ ক্যালকুলেটরের রহস্য! else if দিয়ে একাধিক শর্ত মেলানোর ট্রিক
- লজিকের সুপারপাওয়ার! AND এবং OR অপারেটর দিয়ে এক লাইনে একাধিক শর্ত মেলানোর ট্রিক
- এক কোডেই হাজার বার! লুপ (Loop) ব্যবহার করে কম্পিউটারের খাটুনি কমানোর ট্রিক
- শর্ত না মিললে নো এন্ট্রি! while এবং do-while লুপের ভেতরের গল্প
- কোড গুছানোর ম্যাজিক বক্স! C ল্যাঙ্গুয়েজে ফাংশন (Function) কেন এত দরকারি?
- মেমোরির লম্বা ট্রেন! C ল্যাঙ্গুয়েজে অ্যারে (Array) কী এবং কেন শিখব?
- অক্ষরের মালা! C ল্যাঙ্গুয়েজে স্ট্রিং (String) দিয়ে নিজের নাম প্রিন্ট করার ট্রিক
- মেমোরির গোপন ঠিকানা! C ল্যাঙ্গুয়েজে পয়েন্টার (Pointer) কী এবং কেন মানুষ একে ভয় পায়?
- নিজের ইচ্ছায় ডেটা টাইপ! C ল্যাঙ্গুয়েজে স্ট্রাকচার (Structure) দিয়ে কাস্টম প্রোফাইল তৈরির ট্রিক
- এবার আসল প্রজেক্ট! C ল্যাঙ্গুয়েজ দিয়ে নিজের তৈরি প্রথম “স্মার্ট ক্যালকুলেটর”
- C তো শিখলাম, এরপর কী? প্রোগ্রামিং দুনিয়ায় পরবর্তী স্বপ্নের জার্নি!
