শর্ত ভিত্তিক স্টেটমেন্ট (Conditional Statement)হলো এমন কিছু স্টেটমেন্ট যা নির্দিষ্ট শর্ত বা কন্ডিশনের উপর ভিত্তি করে সিদ্ধান্ত গ্রহণ করে এবং প্রোগ্রামে নির্দিষ্ট অংশে প্রবেশ করে বা নির্দিষ্ট কোড চালায়। C++ এ শর্ত ভিত্তিক স্টেটমেন্টের প্রধানত তিনটি ধরন রয়েছে: if, if-else, এবং switch।
১. if স্টেটমেন্ট
if স্টেটমেন্ট একটি শর্ত চেক করে এবং যদি শর্তটি সত্য হয়, তাহলে if ব্লকের কোড এক্সিকিউট হয়। যদি শর্তটি মিথ্যা হয়, তবে কোডটি এড়িয়ে যাওয়া হয়।
#include <iostream>
using namespace std;
int main() {
int number = 10;
if (number > 5) {
cout << "Number is greater than 5" << endl;
}
return 0;
}
বর্ণনা:
- এখানে
ifস্টেটমেন্ট চেক করছে যেnumber৫ এর চেয়ে বড় কিনা। যদি এটি সত্য হয়, তাহলে"Number is greater than 5"আউটপুট হিসেবে প্রদর্শিত হবে।
২. if-else স্টেটমেন্ট
if-else স্টেটমেন্ট ব্যবহার করে একটি শর্ত চেক করা হয়। যদি শর্তটি সত্য হয় তবে if ব্লকের কোড এক্সিকিউট হবে; অন্যথায় else ব্লকের কোড এক্সিকিউট হবে।
#include <iostream>
using namespace std;
int main() {
int age;
cout << "Enter your age: ";
cin >> age;
if (age >= 18) {
cout << "You are an adult." << endl;
} else {
cout << "You are a minor." << endl;
}
return 0;
}
বর্ণনা:
- এখানে
ifচেক করছে যেage১৮ বা তার বেশি কিনা। যদি এটি সত্য হয়, তাহলে"You are an adult."প্রিন্ট হবে; অন্যথায়,"You are a minor."প্রিন্ট হবে।
৩. if-else if-else স্টেটমেন্ট
if-else if-else স্টেটমেন্ট ব্যবহার করে একাধিক শর্ত চেক করা যায়। প্রথম শর্তটি মিথ্যা হলে পরবর্তী শর্ত চেক করা হবে। যদি সব শর্ত মিথ্যা হয়, তাহলে else ব্লক এক্সিকিউট হবে।
#include <iostream>
using namespace std;
int main() {
int score;
cout << "Enter your score: ";
cin >> score;
if (score >= 90) {
cout << "Grade: A" << endl;
} else if (score >= 80) {
cout << "Grade: B" << endl;
} else if (score >= 70) {
cout << "Grade: C" << endl;
} else {
cout << "Grade: F" << endl;
}
return 0;
}
বর্ণনা:
- এখানে একাধিক শর্ত চেক করা হয়েছে। যদি
score৯০ বা তার বেশি হয়, তাহলে"Grade: A"প্রদর্শিত হবে; যদি ৮০ বা তার বেশি হয়,"Grade: B", যদি ৭০ বা তার বেশি হয়"Grade: C"প্রদর্শিত হবে। অন্যথায়"Grade: F"প্রদর্শিত হবে।
৪. switch স্টেটমেন্ট
switch স্টেটমেন্ট একটি ভ্যারিয়েবলের মানের উপর ভিত্তি করে একাধিক শর্ত পরীক্ষা করে। এটি সাধারণত এমন ক্ষেত্রে ব্যবহৃত হয় যেখানে একটি ভ্যারিয়েবল একাধিক স্থির মানের মধ্যে যেকোনো একটি হতে পারে। switch স্টেটমেন্টে প্রতিটি সম্ভাব্য মানের জন্য একটি case তৈরি করা হয় এবং যদি কোনো কেসের সাথে মান মিলে যায়, তবে সেই কেসের ব্লক এক্সিকিউট হয়।
#include <iostream>
using namespace std;
int main() {
int day;
cout << "Enter day number (1-7): ";
cin >> day;
switch (day) {
case 1:
cout << "Monday" << endl;
break;
case 2:
cout << "Tuesday" << endl;
break;
case 3:
cout << "Wednesday" << endl;
break;
case 4:
cout << "Thursday" << endl;
break;
case 5:
cout << "Friday" << endl;
break;
case 6:
cout << "Saturday" << endl;
break;
case 7:
cout << "Sunday" << endl;
break;
default:
cout << "Invalid day number" << endl;
}
return 0;
}
বর্ণনা:
- এখানে
dayভ্যারিয়েবলের মান চেক করা হচ্ছে। যদি এটি1,2,3, ...7এর মধ্যে কোনো একটি হয়, তাহলে সংশ্লিষ্ট দিনটি প্রিন্ট হবে।breakস্টেটমেন্টটি প্রতিটি কেস ব্লকের শেষে ব্যবহার করা হয়, যাতে একটি কেস এক্সিকিউট হওয়ার পরswitchথেকে বেরিয়ে আসে। defaultকেস তখন এক্সিকিউট হয় যখনdayএর মান কোনো কেসের সাথে মেলে না। এটি ঐচ্ছিক কিন্তু প্রয়োজনীয় নয়।
সারসংক্ষেপ
- if: একক শর্ত চেক করার জন্য ব্যবহৃত হয়।
- if-else: একটি শর্ত সত্য না হলে অন্য ব্লক এক্সিকিউট করার জন্য ব্যবহৃত হয়।
- if-else if-else: একাধিক শর্ত চেক করতে ব্যবহৃত হয়।
- switch: একাধিক নির্দিষ্ট মানের মধ্যে একটির সাথে মিলে গেলে নির্দিষ্ট ব্লক এক্সিকিউট করে।
এগুলি ব্যবহার করে প্রোগ্রামিংয়ে সিদ্ধান্ত গ্রহণ এবং প্রোগ্রামের কার্যক্রম নিয়ন্ত্রণ করা সম্ভব হয়।