সি++ এ সুইচ স্টেটমেন্ট কিভাবে ব্যবহার করবেন
শর্তসাপেক্ষ বিবৃতি সব প্রোগ্রামিং ভাষার একটি সাধারণ বৈশিষ্ট্য। এই বিবৃতিগুলি একটি প্রোগ্রামের প্রবাহ নিয়ন্ত্রণ করতে এবং কোডের নির্দিষ্ট ব্লকগুলি কখন কার্যকর করা উচিত তা নির্দিষ্ট করতে ব্যবহৃত হয়৷
C++ এ ব্যবহৃত প্রধান শর্তসাপেক্ষ বিবৃতি হল if
এবং if … else
বিবৃতি উপরন্তু, C++ switch
অফার করে বিবৃতি এই বিবৃতিটি একাধিক সম্ভাব্য ক্ষেত্রে একটি অভিব্যক্তিকে মূল্যায়ন করে এবং যদি অভিব্যক্তিটি সেই ব্লকের সংশ্লিষ্ট ক্ষেত্রের সাথে মেলে তাহলে কোডের একটি ব্লক কার্যকর করে। সুইচ স্টেটমেন্টটি if
এর মতই আচরণ করে বিবৃতি যাতে অনেকগুলি if … else
অন্তর্ভুক্ত থাকে বিবৃতি।
এই টিউটোরিয়ালে, আমরা আলোচনা করব—একটি উদাহরণ সহ—কীভাবে C++ এ সুইচ স্টেটমেন্ট ব্যবহার করতে হয়। কিভাবে break
ব্যবহার করতে হয় তাও আমরা আলোচনা করব , এবং default
সুইচ স্টেটমেন্ট সহ কীওয়ার্ড। এই নির্দেশিকাটি পড়ার পর, আপনি C++ সুইচ স্টেটমেন্ট ব্যবহারে বিশেষজ্ঞ হবেন।
C++ শর্তসাপেক্ষ বিবৃতি
শর্তাধীন বিবৃতি যেমন if
এবং if … else
একটি প্রোগ্রামে সিদ্ধান্ত নিতে ব্যবহৃত হয়। উদাহরণস্বরূপ, একটি if
বিবৃতিটি একটি প্রোগ্রামকে নির্দেশ দিতে পারে কোডের একটি ব্লক চালানোর জন্য যদি একজন ব্যবহারকারীর বয়স 16 বছরের বেশি হয়, অথবা যদি এটি বুধবার হয়৷
if
এবং if … else
বিবৃতি হল শর্তসাপেক্ষ বিবৃতির সবচেয়ে সাধারণ রূপ। if
এবং if … else
বিবৃতিগুলি কোডের একটি ব্লক চালায় যদি একটি শর্ত সত্য হয়; অন্যথায়, তারা কিছুই করে না। এখানে একটি C++ if
এর একটি উদাহরণ বিবৃতি:
int age = 15; if (age > 16) { cout<<"This user is over the age of 16." }
এই উদাহরণে, আমাদের কোড মূল্যায়ন করে যে পরিবর্তনশীল বয়স 16 এর বেশি কিনা। যদি তা হয়, বাক্যটি This user is over the age of 16
. কনসোলে মুদ্রিত হয়; অন্যথায়, কিছুই ঘটবে না। এই ক্ষেত্রে, আমাদের ব্যবহারকারীর বয়স 15 বছর, তাই age > 16
মিথ্যা মূল্যায়ন করে। তাই, প্রোগ্রামটি আমাদের if
এর সাথে যুক্ত কোডটি কার্যকর করে না বিবৃতি।
কিন্তু আপনি যদি একাধিক শর্তের বিপরীতে মূল্যায়ন করতে চান?
সেখানেই সুইচ স্টেটমেন্ট আসে। যখন আপনি if … else
ব্যবহার করতে পারেন if
-এ একাধিক শর্তের মূল্যায়ন করার জন্য বিবৃতি বিবৃতি, এই পদ্ধতিটি অদক্ষ হতে পারে এবং আপনার কোডটি পড়তে আরও কঠিন করে তুলতে পারে। তাই, ডেভেলপাররা প্রায়ই একাধিক সম্ভাব্য ক্ষেত্রে একটি বিবৃতি মূল্যায়ন করতে সুইচ স্টেটমেন্ট ব্যবহার করে।
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।
C++ সুইচ স্টেটমেন্ট
সুইচ স্টেটমেন্ট, এটি একটি switch … case
নামেও পরিচিত স্টেটমেন্ট, আপনাকে একাধিক ক্ষেত্রে একটি এক্সপ্রেশনের সমান কিনা তা পরীক্ষা করতে দেয়। যদি উল্লিখিত অভিব্যক্তিটি সুইচ ব্লকের একটি ক্ষেত্রের সাথে মিলে যায় (অন্য কথায়, সমান হয়) তবে সেই ক্ষেত্রের সাথে সম্পর্কিত নির্দিষ্ট কোডটি কার্যকর করা হবে৷
সুইচ স্টেটমেন্টে এক বা একাধিক কেস স্টেটমেন্ট থাকে। প্রোগ্রামটি কেস স্টেটমেন্ট(গুলি) ব্যবহার করে শর্ত(গুলি) ঘোষণা করতে যার বিরুদ্ধে আপনার টার্গেট এক্সপ্রেশন মূল্যায়ন করা উচিত।
সুইচ স্টেটমেন্ট পরীক্ষা করার জন্য একটি অভিব্যক্তি গ্রহণ করে, যা বন্ধনী দ্বারা বেষ্টিত হয়, সেইসাথে এক বা একাধিক ক্ষেত্রে যার বিরুদ্ধে আপনি আপনার অভিব্যক্তি মূল্যায়ন করতে চান। এই কেসগুলি কোঁকড়া বন্ধনীর মধ্যে আবদ্ধ।
এখানে C++ সুইচ স্টেটমেন্টের সিনট্যাক্স রয়েছে:
switch (expression) { case firstCase: // Code to be executed if expression matches firstCase break; case secondCase: // Code to be executed if expression matches secondCase break; default: // Code to be executed if no expressions are met } }
C++ এ উপরের সুইচ স্টেটমেন্টের যুক্তি এখানে রয়েছে:
- প্রোগ্রামটি অভিব্যক্তিকে মূল্যায়ন করে।
- অভিব্যক্তিকে ফার্স্টকেসের সাথে তুলনা করা হয়। যদি এইগুলি মিলে যায়, প্রোগ্রামটি প্রথম কেস ব্লকে কোডটি কার্যকর করবে। তারপর, বিরতি কীওয়ার্ডটি চলবে, যা সুইচ ব্লকটি বন্ধ করে দেবে।
দ্রষ্টব্য :আমরা এই নিবন্ধের পরবর্তী বিভাগে বিরতি কীওয়ার্ড নিয়ে আলোচনা করব। মূলত, এই কীওয়ার্ডটি প্রোগ্রামটিকে বর্তমান সুইচ ব্লককে অতিক্রম করে এগিয়ে যেতে বলে।
- যদি অভিব্যক্তি firstCase-এর সাথে মেলে না, অভিব্যক্তিটিকে সেকেন্ডকেসের সাথে তুলনা করা হবে।
- যদি এক্সপ্রেশন সেকেন্ডকেস-এর সাথে মিলে যায়, তাহলে প্রোগ্রামটি সেকেন্ডকেস ব্লকের ভিতরে কোডটি কার্যকর করবে এবং বিরতি বিবৃতিটি সুইচ ব্লকটি বন্ধ করে দেবে।
- যদি সুইচ ব্লকের কোনো ক্ষেত্রে এক্সপ্রেশন মেলে না, তাহলে প্রোগ্রামটি ডিফল্ট কেস স্টেটমেন্টের বিষয়বস্তু চালাবে।
দ্রষ্টব্য :আমরা ডিফল্ট স্টেটমেন্টের ধারণা নিয়ে আলোচনা করি, কারণ এটি বিবৃতি পরিবর্তনের সাথে সম্পর্কিত, এই নিবন্ধের পরবর্তী বিভাগে। ডিফল্ট হল এমন একটি কীওয়ার্ড যা প্রোগ্রামকে বলে যে কি করতে হবে যদি একটি সুইচ ব্লকের মধ্যে কোনটিও অভিব্যক্তির সাথে মেলে না।
একটি সুইচ বিবৃতিতে, প্রোগ্রামটি প্রথমে প্রথম ক্ষেত্রে মূল্যায়ন করবে। যদি এটি সত্যে মূল্যায়ন না করে, তবে একটি শর্ত পূরণ না হওয়া পর্যন্ত বা সমস্ত শর্ত মূল্যায়ন না হওয়া পর্যন্ত প্রোগ্রামটি পরবর্তী কেসগুলিকে মূল্যায়ন করবে৷
C++ সুইচের উদাহরণ
C++ এ কীভাবে সুইচ স্টেটমেন্ট কাজ করে তা অন্বেষণ করতে ধাপে ধাপে একটি উদাহরণের মাধ্যমে চলুন।
ধরুন আমরা একটি প্রোগ্রাম লিখছি যা আমাদের বলে যে সপ্তাহান্তে কত দিন বাকি আছে। এই প্রোগ্রামে, সপ্তাহের প্রতিটি দিন একটি পূর্ণসংখ্যা দ্বারা প্রতিনিধিত্ব করা হবে-উদাহরণস্বরূপ, সোমবার হবে 1, মঙ্গলবার হবে 2, বুধবার হবে 3, ইত্যাদি।
এই প্রোগ্রামটি সপ্তাহের বর্তমান দিন গ্রহণ করবে (একটি পূর্ণসংখ্যা হিসাবে উপস্থাপিত) এবং এটিকে একটি সেটের সাথে তুলনা করবে। প্রতিটি কেস প্রোগ্রামটিকে একটি বাক্য প্রিন্ট করার নির্দেশ দেবে যা বর্তমান সপ্তাহের দিনের উপর ভিত্তি করে উইকএন্ড পর্যন্ত বাকি দিনের সংখ্যা বলে৷
এই কাজটি সম্পন্ন করতে আমরা যে কোডটি ব্যবহার করতে পারি তা এখানে:
#include <iostream> include namespace std; int main() { int dayOfWeek = 3; switch (dayOfWeek) { case 1: cout<<"There are 5 days until the weekend!"; break; case 2: cout<<"There are 4 days until the weekend!"; break; case 3: cout<<"There are 3 days until the weekend!"; break; case 4: cout<<"There are 2 days until the weekend!"; break; case 5: cout<<"There is 1 day until the weekend!"; break; } }
আমাদের কোড রিটার্ন করে:
There are 3 days until the weekend.
আসুন আমাদের কোড ভাঙ্গা যাক। প্রথমত, আমরা একটি ভেরিয়েবল ঘোষণা করি, যাকে বলা হয় dayOfWeek, যা সপ্তাহের বর্তমান দিনটিকে একটি পূর্ণসংখ্যা হিসাবে সংরক্ষণ করে। তারপরে আমরা একটি সুইচ স্টেটমেন্ট ব্যবহার করি যা পাঁচটি ক্ষেত্রে নির্দিষ্ট করে৷
৷
প্রথমত, আমাদের প্রোগ্রাম ডেঅফ উইক 1 এর সমান কিনা তা পরীক্ষা করে। যদি তা হয়, আমাদের প্রোগ্রাম প্রিন্ট করে There are 5 days until the weekend!
কনসোলে, যার পরে এটি সুইচ স্টেটমেন্ট থেকে বেরিয়ে আসে।
যদি dayOfWeek 1 এর সমান না হয়, প্রোগ্রামটি পরবর্তী ক্ষেত্রে মূল্যায়ন করে। এটি চলতে থাকবে যতক্ষণ না প্রোগ্রামটি আমাদের সুইচ স্টেটমেন্টের প্রতিটি ক্ষেত্রে মূল্যায়ন করে- যদি না একটি কেস সত্যে মূল্যায়ন না করে, এই সময়ে একটি ব্রেক স্টেটমেন্ট চলবে এবং আমাদের লুপ সুইচ স্টেটমেন্ট বন্ধ হয়ে যাবে।
আমাদের উদাহরণে, আমরা বলেছি যে সপ্তাহের দিনটি হল 3 - যার মানে এটি বুধবার৷ ফলস্বরূপ, আমাদের প্রোগ্রাম প্রিন্ট করে There are 3 days until the weekend!
কনসোলে তারপর, আমাদের প্রোগ্রাম কোডের সুইচ ব্লক বন্ধ করে দেয় এবং মূল প্রোগ্রামটি চালিয়ে যেতে থাকে।
C++ বিরতি
C++ সুইচ স্টেটমেন্ট সাধারণত প্রতিটি ক্ষেত্রে ব্রেক কীওয়ার্ড ব্যবহার করে, যেমন আমরা উপরের উদাহরণে করেছি। যখন প্রোগ্রামটি একটি বিরতি বিবৃতি কার্যকর করে, তখন একটি প্রদত্ত ব্লকের মধ্যে কোডটি কার্যকর করা বন্ধ হয়ে যাবে এবং বাকি প্রোগ্রামটি চলতে থাকবে৷
ব্রেক স্টেটমেন্টগুলি প্রায়শই সুইচ স্টেটমেন্টের সাথে ব্যবহার করা হয় কারণ তারা প্রোগ্রামটিকে সুইচ স্টেটমেন্টের বাকি ক্ষেত্রে মূল্যায়ন করা থেকে বিরত করে।
এখানে একটি সুইচ স্টেটমেন্টে ব্রেক কীওয়ার্ডের একটি উদাহরণ দেওয়া হল, উপরের আমাদের বর্ধিত উদাহরণ থেকে নেওয়া হয়েছে:
… case 3: cout<<"There are 3 days until the weekend!"; break; …
সুতরাং, উপরের উদাহরণে, যদি dayOfWeek 3 এর সমান হয়, তাহলে আমাদের প্রোগ্রাম একটি বিরতি বিবৃতি কার্যকর করবে যাতে আর কোনো ক্ষেত্রে মূল্যায়ন না হয়। এটি বোধগম্য কারণ যদি dayOfWeek 3 এর সমান হয় তবে এটি 4 বা 5 এর সমান হতে পারে না, যা আমাদের সুইচ স্টেটমেন্টের পরবর্তী কেস।
যদি dayOfWeek 3 এর সমান হয়, তাহলে বার্তা There are 3 days until the weekend!
কনসোলে প্রিন্ট করা হয়। তারপরে, সুইচ স্টেটমেন্টটি কার্যকর করা বন্ধ করে দেয় কারণ একটি বিরতি বিবৃতি প্রোগ্রামটিকে সুইচ ব্লকের অতীতে যেতে নির্দেশ দেয়।
C++ ডিফল্ট
C++ এ, ঐচ্ছিক ডিফল্ট কেস কীওয়ার্ড আমাদের কোডকে বলে যে কোনো কেস সত্যে মূল্যায়ন না হলে কী করতে হবে।
আমাদের উপরের উদাহরণে, আমাদের কোড শুধুমাত্র সপ্তাহের দিনের জন্য অ্যাকাউন্ট করে। সুতরাং, যদি এটি ইতিমধ্যেই সপ্তাহান্তে হয় তবে আমাদের প্রোগ্রাম কিছুই করবে না। যদি আমরা একটি ডিফল্ট কোড বিবৃতি ব্যবহার করি, তাহলে আমরা আমাদের কোডকে নির্দেশ দিতে পারি যদি আমাদের কোনো ক্ষেত্রেই পূরণ না হয়।
ধরুন আমরা It’s the weekend!
বার্তাটি প্রিন্ট করতে চাই শনিবার বা রবিবার হলে কনসোলে। এই কাজটি সম্পন্ন করতে আমরা উপরে থেকে আমাদের সুইচ স্টেটমেন্টের উদাহরণ এবং নিম্নলিখিত কোডটি ব্যবহার করতে পারি:
… case 5: cout<<"There is 1 day until the weekend!"; break; default: cout<<"It's the weekend!"; break; …
এই কোড অনুসারে, যদি dayOfWeek আমাদের নির্দিষ্ট করা কোনো ক্ষেত্রের সমান না হয়—অথবা, অন্য কথায়, যদি dayOfWeek 6 বা 7-এর সমান হয়—ডিফল্ট স্টেটমেন্টের বিষয়বস্তু কার্যকর করা হবে। সুতরাং, যদি আজ শনিবার হয়, উদাহরণস্বরূপ, নিম্নলিখিত বার্তাটি কনসোলে মুদ্রিত হবে:
It's the weekend!
উপসংহার
একাধিক সম্ভাব্য ফলাফলের বিরুদ্ধে একটি বিবৃতি মূল্যায়ন করতে সুইচ বিবৃতিটি C++ এ ব্যবহৃত হয়। যদি এই অভিব্যক্তিগুলির একটিকে সত্য হিসাবে মূল্যায়ন করা হয়, তাহলে প্রোগ্রামটি সেই ফলাফলের সাথে যুক্ত কোডটি কার্যকর করবে। যদি কোনো অভিব্যক্তি সত্যে মূল্যায়ন না করা হয়, যদি নির্দিষ্ট করা থাকে তবে প্রোগ্রামটি একটি ডিফল্ট বিবৃতির বিষয়বস্তু চালাবে।
এই টিউটোরিয়ালে একটি উদাহরণ সহ আলোচনা করা হয়েছে, কিভাবে C++ সুইচ স্টেটমেন্ট ব্যবহার করতে হয় এবং কিভাবে ব্রেক ব্যবহার করতে হয় এবং সুইচ সহ ডিফল্ট কীওয়ার্ড। এখন আপনি একজন পেশাদারের মতো আপনার কোডে সুইচ স্টেটমেন্ট ব্যবহার শুরু করতে প্রস্তুত!