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

C++-এ Switch Statement: ব্যবহার করার পদ্ধতি

C++-এ Switch Statement কীভাবে ব্যবহার করবেন

কন্ডিশনাল স্টেটমেন্ট সকল প্রোগ্রামিং ভাষার একটি সাধারণ ফিচার। এই স্টেটমেন্টগুলো একটি প্রোগ্রামের ফ্লো কন্ট্রোল করতে এবং নির্দিষ্ট কোড ব্লক কখন এক্সিকিউট হবে তা স্পেসিফাই করতে ব্যবহৃত হয়।

C++-এ ব্যবহৃত মূল কন্ডিশনাল স্টেটমেন্টগুলো হলো if এবং if … else স্টেটমেন্ট। এর পাশাপাশি, C++ switch স্টেটমেন্ট অফার করে। এই স্টেটমেন্ট একটি এক্সপ্রেশনকে মাল্টিপল পটেনশিয়াল কেসের বিপক্ষে মূল্যায়ন করে এবং এক্সপ্রেশন যদি সেই ব্লকের কর্সপন্ডিং কেসের সাথে ম্যাচ করে তবে একটি কোড ব্লক এক্সিকিউট করে। switch স্টেটমেন্ট একইভাবে behave করে একটি if স্টেটমেন্টের মতো যাতে অনেক if … else স্টেটমেন্ট থাকে।

এই টিউটোরিয়ালে, আমরা উদাহরণসহ আলোচনা করব কীভাবে C++-এ switch স্টেটমেন্ট ব্যবহার করতে হয়। আমরা break এবং default কিওয়ার্ড switch স্টেটমেন্টের সাথে কীভাবে ব্যবহার করবেন তাও আলোচনা করব। এই গাইড পড়ার পর, আপনি C++ switch স্টেটমেন্ট ব্যবহারে এক্সপার্ট হবেন।

C++ কন্ডিশনাল স্টেটমেন্ট

if এবং if … else স্টেটমেন্টের মতো কন্ডিশনাল স্টেটমেন্ট একটি প্রোগ্রামে ডিসিশন लेने জন্য ব্যবহৃত হয়। উদাহরণস্বরূপ, একটি if স্টেটমেন্ট একটি প্রোগ্রামকে ইনস্ট্রাক্ট করতে পারে একটি কোড ব্লক রান করতে যদি একজন ইউজার ১৬ বছরের বেশি বয়সে থাকে, অথবা আজ বুধবার হলে।

if এবং if … else স্টেটমেন্ট কন্ডিশনাল স্টেটমেন্টের সবচেয়ে সাধারণ ফর্ম। if এবং if … else স্টেটমেন্ট একটি কোড ব্লক রান করে যদি একটি কন্ডিশন true হয়; অন্যথায়, কিছুই করে না। এখানে একটি C++ if স্টেটমেন্টের উদাহরণ:

int age = 15; if (age > 16) { cout<<"This user is over the age of 16." }

এই উদাহরণে, আমাদের কোড মূল্যায়ন করে ভেরিয়েবল age ১৬-এর চেয়ে বড় কিনা। যদি হয়, সেন্টেন্স This user is over the age of 16. কনসোলে প্রিন্ট হয়; অন্যথায় কিছুই হয় না। এই কেসে, আমাদের ইউজার ১৫ বছরের, তাই age > 16 false evaluare করে। অতএব, প্রোগ্রাম আমাদের if স্টেটমেন্টের সাথে যুক্ত কোড এক্সিকিউট করে না।

কিন্তু যদি আপনি মাল্টিপল কন্ডিশনের বিপক্ষে মূল্যায়ন করতে চান?

সেটাই যেখানে switch স্টেটমেন্ট কাজে আসে। আপনি if … else স্টেটমেন্ট ব্যবহার করতে পারেন একটি if স্টেটমেন্টে মাল্টিপল কন্ডিশন মূল্যায়ন করতে, কিন্তু এই অ্যাপ্রোচ inefficient হতে পারে এবং আপনার কোডকে পড়া কঠিন করতে পারে। তাই ডেভেলপাররা প্রায়শই switch স্টেটমেন্ট ব্যবহার করে একটি স্টেটমেন্টকে মাল্টিপল পটেনশিয়াল কেসের বিপক্ষে মূল্যায়ন করতে।

৮১% পার্টিসিপেন্ট заяви করেছেন যে বুটক্যাম্পে অংশগ্রহণের পর তাদের টেক জব প্রস্পেক্টস নিয়ে তারা আরও আত্মবিশ্বাসী মনে করছেন। আজই একটি বুটক্যাম্পে ম্যাচ করুন।

গড় বুটক্যাম্প গ্র্যাজুট ক্যারিয়ার ট্রানজিশনে ছয় মাসের কম সময় ব্যয় করেছেন, বুটক্যাম্প শুরু থেকে প্রথম জব পাওয়ার পর্যায়ে।

C++ switch স্টেটমেন্ট

switch স্টেটমেন্ট, যাকে switch … case স্টেটমেন্টও বলা হয়, আপনাকে চেক করতে দেয় একটি এক্সপ্রেশন একাধিক কেসের একটি সাথে সমান কিনা। যদি স্টেট করা এক্সপ্রেশন ম্যাচ করে (অর্থাৎ, সমান হয়) switch ব্লকে একটি কেসের সাথে, সেই কেসের সাথে যুক্ত স্পেসিফিক কোড এক্সিকিউট হবে।

switch স্টেটমেন্টে এক বা একাধিক case স্টেটমেন্ট থাকে। প্রোগ্রাম case স্টেটমেন্ট(গুলো) ব্যবহার করে কন্ডিশন(গুলো) ডিক্লেয়ার করে যেগুলোর বিপক্ষে আপনার টার্গেট এক্সপ্রেশন মূল্যায়ন করা উচিত।

switch স্টেটমেন্ট একটি এক্সপ্রেশন টেস্ট করার জন্য গ্রহণ করে, যা প্যarethেসিস দ্বারা ঘেরা থাকে, সেইসাথে এক বা একাধিক কেস которых বিপক্ষে আপনি আপনার এক্সপ্রেশন মূল্যায়ন করতে চান। এই কেসগুলো কার্লি ব্র্যাকেটের মধ্যে এনক্লোজড থাকে।

C++ switch স্টেটমেন্টের সিনট্যাক্স:

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++ switch স্টেটমেন্টের লজিক:

  1. প্রোগ্রাম এক্সপ্রেশনটি মূল্যায়ন করে।
  2. expression firstCase-এর সাথে তুলনা করা হয়। যদি ম্যাচ করে, প্রোগ্রাম firstCase ব্লকের কোড এক্সিকিউট করবে। তারপর, break কিওয়ার্ড রান করবে, যা switch ব্লক টার্মিনেট করবে।

নোট: break কিওয়ার্ডকে আমরা এই আর্টিকেলের পরবর্তী সেকশনে আলোচনা করব। মূলত, এই কিওয়ার্ড প্রোগ্রামকে বোঝায় বর্তমান switch ব্লকের পাশে যাওয়ার জন্য।

  1. যদি expression firstCase-এর সাথে ম্যাচ না করে, expression secondCase-এর সাথে তুলনা করা হবে।
  2. যদি expression secondCase-এর সাথে ম্যাচ করে, প্রোগ্রাম secondCase ব্লকের ভিতরের কোড এক্সিকিউট করবে, এবং break স্টেটমেন্ট switch ব্লক টার্মিনেট করবে।
  3. যদি expression switch ব্লকে কোনো কেসের সাথে ম্যাচ না করে, প্রোগ্রাম default case স্টেটমেন্টের কন্টেন্ট এক্সিকিউট করবে।

নোট: default স্টেটমেন্টের কনসেপ্ট, যেটি switch স্টেটমেন্টের সাথে সম্পর্কিত, আমরা এই আর্টিকেলের পরবর্তী সেকশনে আলোচনা করব। default হলো একটি কিওয়ার্ড যা প্রোগ্রামকে বলে কী করতে হবে যদি একটি switch ব্লকের কোনো case স্টেটমেন্ট এক্সপ্রেশনের সাথে ম্যাচ না করে।

একটি switch স্টেটমেন্টে, প্রোগ্রাম প্রথমে প্রথম কেসটি মূল্যায়ন করবে। যদি সেটি true evaluare না করে, প্রোগ্রাম পরবর্তী কেসগুলো মূল্যায়ন করবে যতক্ষণ না একটি কন্ডিশন মেট হয় বা সব কন্ডিশন মূল্যায়ন হয়।

C++ switch-এর উদাহরণ

চলুন ধাপে ধাপে একটি উদাহরণ দিয়ে অন্বেষণ করি কীভাবে switch স্টেটমেন্ট C++-এ কাজ করে।

ধরা যাক আমরা একটি প্রোগ্রাম লিখছি যা আমাদের বলে কত দিন বাকি আছে উইকএন্ড পর্যন্ত। এই প্রোগ্রামে, সপ্তাহের প্রতিটি দিন একটি ইন্টিজার দ্বারা রিপ্রেজেন্ট করা হবে—উদাহরণস্বরূপ, মঙ্গলবার ১, মঙ্গলবার ২, বুধবার ৩, এবং niin далее।

এই প্রোগ্রাম করেন্ট ডে অফ দ্য ويক (এক ইন্টিজার হিসেবে রিপ্রেজেন্টেড) নেবে এবং সেটিকে একটি কেস সেটের সাথে তুলনা করবে। প্রতিটি কেস প্রোগ্রামকে ডাইরেক্ট করবে একটি সেন্টেন্স প্রিন্ট করতে যা করেন্ট วিকডে ভিত্তি করে উইকএন্ড পর্যন্ত বাকি দিনের সংখ্যা বলে।

এই টাস্ক সম্পন্ন করার জন্য আমরা যে কোড ব্যবহার করতে পারি:

#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 নামে একটি ভেরিয়েবল ডিক্লেয়ার করি যা করেন্ট ডে অফ দ্য ويক একটি ইন্টিজার হিসেবে সংরক্ষণ করে। তারপর আমরা একটি switch স্টেটমেন্ট ব্যবহার করি যেটি পাঁচটি কেস স্পেসিফাই করে।

প্রথমে, আমাদের প্রোগ্রাম চেক করে dayOfWeek ১-এর সমান কিনা। যদি হয়, আমাদের প্রোগ্রাম There are 5 days until the weekend! কনসোলে প্রিন্ট করে, এরপর switch স্টেটমেন্ট থেকে বের হয়।

যদি dayOfWeek ১-এর সমান না হয়, প্রোগ্রাম পরবর্তী কেসটি মূল্যায়ন করবে। এটি চলতে থাকবে যতক্ষণ না প্রোগ্রাম আমাদের switch স্টেটমেন্টের সব কেস মূল্যায়ন করে—যদি না একটি কেস true evaluare করে, সেক্ষেত্রে একটি break স্টেটমেন্ট রান করবে এবং আমাদের loop switch স্টেটমেন্ট টার্মিনেট হবে।

আমাদের উদাহরণে, আমরা স্টেট করলাম যে দিনটি ৩—অর্থাৎ বুধবার। ফলস্বরূপ, আমাদের প্রোগ্রাম There are 3 days until the weekend! কনসোলে প্রিন্ট করে। তারপর, আমাদের প্রোগ্রাম switch ব্লক অফ কোড টার্মিনেট করে এবং মেইন প্রোগ্রাম চালিয়ে যাবে।

C++ Break

C++ switch স্টেটমেন্ট সাধারণত প্রতিটি কেসে break কিওয়ার্ড ব্যবহার করে, যেমন আমরা উপরের উদাহরণে করেছি। যখন প্রোগ্রাম একটি break স্টেটমেন্ট এক্সিকিউট করে, একটি দেওয়া ব্লকের মধ্যে কোড এক্সিকিউট করা বন্ধ করবে এবং প্রোগ্রামের বাকি অংশ চালিয়ে যাবে।

break স্টেটমেন্ট প্রায়শই switch স্টেটমেন্টের সাথে ব্যবহৃত হয় কারণ এগুলো প্রোগ্রামকে switch স্টেটমেন্টের বাকি কেসগুলো মূল্যায়ন করা থেকে বিরত রাখে।

উপরের এক্সটেনডেড উদাহরণ থেকে একটি switch স্টেটমেন্টে break কিওয়ার্ডের উদাহরণ:

… case 3: cout<<"There are 3 days until the weekend!"; break; …

তাই, উপরের উদাহরণে, যদি dayOfWeek ৩-এর সমান হয়, আমাদের প্রোগ্রাম একটি break স্টেটমেন্ট এক্সিকিউট করবে যাতে আর কোনো কেস মূল্যায়ন না হয়। এটি অর্থবহ কারণ যদি dayOfWeek ৩-এর সমান হয়, সেটি ৪ বা ৫-এর সমান হতে পারে না, যেগুলো আমাদের switch স্টেটমেন্টের পরবর্তী কেস।

যদি dayOfWeek ৩-এর সমান হয়, মেসেজ There are 3 days until the weekend! কনসোলে প্রিন্ট হয়। তারপর, switch স্টেটমেন্ট এক্সিকিউশন বন্ধ করে কারণ একটি break স্টেটমেন্ট প্রোগ্রামকে switch ব্লকের পাশে যাওয়ার জন্য ডাইরেক্ট করে।

C++ Default

C++-এ, অপশনাল default case কিওয়ার্ড আমাদের কোডকে বলে কী করতে হবে যদি কোনো কেস true evaluare না করে।

আমাদের উপরের উদাহরণে, আমাদের কোড শুধু ويকডে গণনা করে। তাই, যদি ইতিমধ্যে উইকএন্ড হয়, আমাদের প্রোগ্রাম কিছুই করবে না। যদি আমরা একটি default কোড স্টেটমেন্ট ব্যবহার করি, আমরা আমাদের কোডকে ইনস্ট্রাক্ট করতে পারি একটি অ্যাকশন পারফর্ম করতে যদি আমাদের কোনো কেস মেট না হয়।

ধরা যাক আমরা মেসেজ It’s the weekend! কনসোলে প্রিন্ট করতে চাই যদি শনিবার বা রবিবার হয়। আমরা উপরের switch স্টেটমেন্ট উদাহরণ এবং নিচের কোড ব্যবহার করে এটি সম্পন্ন করতে পারি:

… case 5: cout<<"There is 1 day until the weekend!"; break; default: cout<<"It's the weekend!"; break; …

এই কোড অনুযায়ী, যদি dayOfWeek আমরা স্পেসিফাই করা কোনো কেসের সমান না হয়—অর্থাৎ, যদি dayOfWeek ৬ বা ৭-এর সমান হয়—default স্টেটমেন্টের কন্টেন্ট এক্সিকিউট হবে। তাই, আজ যদি শনিবার হয়, উদাহরণস্বরূপ, নিচের মেসেজ কনসোলে প্রিন্ট হবে:

It's the weekend!

উপসংহার

Switch স্টেটমেন্ট C++-এ একটি স্টেটমেন্টকে মাল্টিপল পসিবল আউটকামের বিপক্ষে মূল্যায়ন করতে ব্যবহৃত হয়। যদি এই এক্সপ্রেশনগুলোর একটি true evaluare করে, প্রোগ্রাম সেই আউটকামের সাথে যুক্ত কোড এক্সিকিউট করবে। কোনো এক্সপ্রেশন true evaluare না করলে, প্রোগ্রাম default স্টেটমেন্টের কন্টেন্ট এক্সিকিউট করবে, যদি স্পেসিফাই করা থাকে।

এই টিউটোরিয়াল উদাহরণসহ আলোচনা করেছে কীভাবে C++ switch স্টেটমেন্ট ব্যবহার করতে হয় এবং break, এবং default কিওয়ার্ড switch-এর সাথে কীভাবে ব্যবহার করতে হয়। এখন আপনি আপনার কোডে switch স্টেটমেন্ট প্রো-এর মতো ব্যবহার করার জন্য প্রস্তুত!


  1. C++ STL-এ লিস্ট (List)

  2. C++-এ isnormal() ফাংশন

  3. C++-এ সিদ্ধান্ত গ্রহণের কাঠামো: if-else এবং switch-case

  4. PHP switch স্টেটমেন্ট (switch Statement)