if-else if-else দিয়ে একটি সি প্রোগ্রাম (এসএসসি পরীক্ষার ফলাফল কে GPA তে প্রকাশ)
সমস্যা: এসএসসি পরীক্ষার ফলাফল কে GPA তে প্রকাশ করার একটা সি প্রোগ্রাম লিখুন। যেমন আপনি যদি কীবোর্ড থেকে 70 ইনপুট দেন তাহলে দেখাবে A+ (GPA-5.00)
সমাধানঃ এসএসসি পরীক্ষার ফলাফলকে GPA তে প্রকাশ করার নিয়মটা লক্ষ্য করুন :
যদি 80 বা তার বেশি হয়
তবে GPA 5.00 বা A+
অথবা যদি 70 বা 70 থেকে বেশি এবং 80 থেকে কম হয়
তবে GPA 4.00 বা A
অথবা যদি 60 বা 60 থেকে বেশি এবং 70 থেকে কম হয়
তবে GPA 3.50 বা A-
অথবা যদি 50 বা 50 থেকে বেশি এবং 60 থেকে কম হয়
তবে GPA-3.00 বা B
অথবা যদি 40 বা 40 থেকে বেশি এবং 50 থেকে কম হয়
তবে GPA-2.00 বা C
অথবা যদি 33 বা 33 থেকে বেশি এবং 40 থেকে কম হয়
তবে GPA-1.00 বা D
অথবা
Fail
সি প্রোগ্রামিং এ
যদি বুঝাতে if
অথবা যদি বুঝাতে else if
অথবা বুঝাতে else ব্যবহার করা হয়।
সম্পূর্ন কোডঃ
Code Example
OUTPUT
Enter marks : 45
you have obtained C(GPA-2.00)
ব্যাখ্যাঃ
উপরের প্রোগ্রামটা টা রান করার পর আউটপুটে এ Enter marks : লেখাটা দেখানোর পর কীবোর্ড থেকে 45 ইনপুট দেওয়া হয়েছে এবং scanf(“%f”,&mark); স্টেটমেন্ট এর মাধ্যমে 45 কে mark ভেরিয়েবলে রাখা হয়েছে।
তারপর ‘if (mark>80)’ লাইনটা এক্সিকিউট হবে। এখন দেখবে যে if এর ভেতরে যে শর্ত দেওয়া আছে তা ভুল কারণ mark এর মান 45 হওয়ায় mark>80 সত্য নয়। তাই if(mark>80) এর পরে যে স্টেটমেন্ট টা আছে সেটা এক্সিকিউট করবে না।
তারপর else if(mark>=70 && mark<80) পাবে এবং এখানেও else if এর ভেতরের শর্ত টা সত্য নয়। তাই else if(mark>=70 && mark<80) এর পরে যে স্টেটমেন্ট টা আছে সেটা এক্সিকিউট করবে না। এভাবে বাকি else if এর ভেতরের শর্তগুলো যাচাই করবে এবং যখন else if(mark>40 && mark<50) পাবে তখন দেখবে যে else if(mark>=40 && mark<50) এর ভেতরে যে শর্ত দেওয়া আছে তা সত্য কারণ mark এর মান 45 হওয়ায় mark>=40 && mark<50 সত্য। তাই else if(mark > = 40 && mark<50) এর পরে যে স্টেটমেন্ট আছে সেটা এক্সিকিউট করবে। অর্থাৎ printf(“ you have obtained C(GPA-2.00)”); স্টেটমেন্ট টা এক্সিকিউট করবে।
বিঃদ্র: যখন if এবং else if এর ভেতরের কোন শর্ত ই সত্য হয় না তখন else এর নিচের স্টেটমেন্ট টা এক্সিকিউট হবে।
যেমন: উপরের প্রোগ্রামে যদি আপনি 31 ইনপুট দেন তাহলে
sorry you have failed
লেখাটা দেখতে পাবেন।