প্রোগ্রামিং সি তে SWITCH ……CASE স্টেটমেন্ট

SWITCH……CASE এমন একটি স্টেটমেন্ট যা দিয়ে সাধারনত কোনো কিছুকে বাছাই (CHOICE) করা হয় অনেকগুলো স্টেটমেন্ট থেকে।যখন কোন প্রোগ্রামারকে অনেক গুলো OPTION থেকে একটিকে বেছে নিতে হয় তখন SWITCH……CASE স্টেটমেন্ট ব্যবহৃত হয়।কিন্তু এ ব্যাপারটা IF….ELSE ও NESTED IF ELSE দ্বারাও করা যায়। এবং ব্যাপারটা আরও জটিল হয়ে পড়ে।তাই এরকম সমস্যাগুলোর সুন্দর সমাধান নিয়ে আসার জন্য SWITCH……CASE স্টেটমেন্ট এর ব্যবহার।

মনে করি, আমাদের সামনে একটি সমস্যা দাড়াল যে, কোনো একজন ছাত্রের পরীক্ষার গ্রেড পয়েন্ট এভারেজ বের করতে হবে। ধরি ,

1 হলো D গ্রেড,

2 হলো C গ্রেড,

3 হলো B গ্রেড

এবং 4 হলো A গ্রেড।

এছাড়া F  গ্রেড।

এখন ছাত্রটি কত পয়েন্ট পেল তা প্রোগ্রামে ইনপুট হিসেবে দিলে প্রোগ্রাম আমাদের তার গ্রেড দেখাবে।

এই প্রোগ্রামটা আমরা IF….ELSE দ্বারা করতে পারি। কিন্তু SWITCH……CASE স্টেটমেন্ট IF….ELSE এর কাজ কে আরো সহজ করে দেয় এখানে।

প্রোগ্রামটা শুরু করার আগে আমরা দেখবো SWITCH……CASE স্টেটমেন্ট এর সাধারন স্ট্রাকচার বা গঠন।

 

switch (n) { //n এখানে ভেরিয়েবল

case constant1:  // case এর পর : চিহ্ন ব্যবহার করতে হবে

code/s to be executed if n equals to constant1;

break; // এটি দ্বারা প্রোগ্রাম এখানেই বন্ধ বুঝাবে।

case constant2:

code/s to be executed if n equals to constant2;

break;

.

.

.

default:

code/s to be executed if n doesn’t match to any cases;

}

 

উপরের SYNTEX এ আমরা কিভাবে SWITCH……CASE স্টেটমেন্ট লিখব তার ধারণা পাব। উপরের স্ট্রাকচারটি লক্ষ্য করি। switch (n) এ লেখাটার মাঝে n এর টাইপ INTEGER বা CHARACTER হতে পারে। মূল ব্যাপারটা হলো আমরা কি টাইপ নিচ্ছি তার উপর n নির্ভর করবে। একটু বুঝতে সমস্যা হতে পারে এখন কিন্তু আস্তে আস্তে পুরো ব্যাপারটা অনেক সহজ হয়ে যাবে। এই n এর মানের সাথে CASE মিলিয়ে পুরো প্রোগ্রামটা এক্সিকিউট করব আমরা।n হচ্ছে ভেরিয়েবল। n এর মান দাওয়ার পর তা  CASE এর মাঝে ঢুকবে। CASE এর সাথে n তুলনা করবে এবং CASE এর ভিতর এর স্টেটমেন্ট এক্সিকিউট করবে। CASE অনেক গুলো হতে পারে। n প্রতিটি CASE এর সাথে তুলনা করে যার সাথে মিলবে তার স্টেটমেন্ট এক্সিকিউট করবে।

নিচের চিত্রটি দেখলে আরও পরিস্কার ধারণা পাওয়া যাবে।

c programming switch case statement

 

এখানে একটি বিষয় রয়েছে। সেটা হলো DEFAULT এবং BREAK SWITCH……CASE স্টেটমেন্টে অবশ্যই  DEFAULT থাকবে। এটিও একটি CASE BREAK মানে হলো এখানে প্রোগ্রাম বন্ধ। সে আর পরবর্তী স্টেটমেন্টে যাবে না। একটি CASE শেষ করে আমরা BREAK ব্যবহার করবো।

আশা করি এখন পুরো ব্যাপারটা সম্পর্কে অনেকটাই ধারণা পাচ্ছি আমরা। আমরা এখন শুরুতে ফিরে যাব যেখানে আমরা একটি প্রোগ্রাম এর কথা বলেছিলাম। এখন আমরা সে প্রোগ্রামটাই করে দেখবো।

switch case program example

 

প্রোগ্রামটিতে     4  ইনপুট দিলে নিচের রেজাল্ট দেখাবে।

switch case program solution

লক্ষ্য করি, উপরের প্রোগ্রামটিতে কি হচ্ছে। আমরা একটি ভেরিয়েবল নিলাম যার নাম point । এই ভেরিয়েবলে আমরা মান ইনপুট করবো। ধরি আমরা দিলাম 1 । তাহলে কি হবে তা আমরা পর্যায়ক্রমে দেখি। 1 ইনপুট ভেরিয়েবল point এ ঢুকল। এখন point এর মান 1। point এখন case  গুলো ঘুরে ঘুরে দেখবে। প্রথম case  হলো 4 যার সাথে মিলে  না। এভাবে প্রতিটা case  চেক করে যখন 1 পাবে তখন  case  1 এর স্টেটমেন্ট এক্সিকিউট করবে।
নোটঃ break ব্যবহার না করলে এর নিচের সকল স্টেটমেন্ট এক্সিকিউট হবে। break মানে হলো সেখানেই শেষ করা।পরে আর না আগানো।

লেখক পরিচিতিঃ

Md. Wafi Islam Omi

লজিক ভালো লাগে, নতুন নতুন সমস্যা লজিক দিয়ে সমাধান করতে ভালো লাগে। প্রোগ্রামিং এর বিশাল সমুদ্রে এক কণা বালুর নিউট্রনও এখনো আহরণ করতে পারিনি। এই অতীব ক্ষুদ্র পারার আনন্দের অংশ ছড়িয়ে দাওয়ার ক্ষুদ্র প্রচেষ্টা হলো আমার লেখাগুলো।