IF/ELSE IN C
এখান থেকে , আসল কোডিং এর অংশ শুরু । আশা করি সময়টা মন্দ কাটবে না ।
অনেক সময় আমরা condition দেখে তারপর কি সিদ্ধান্ত নেব তাই decide করি ।
উদাহরণ হিসেবে বলা যায় ,
একটি চকলেট এর দাম ২০ টাকা । যদি আপনার কাছে ২০ টাকা বা তার বেশি থাকে তবে আপনি চকলেট কিনবেন আর তা না হলে ক্যান্ডি ।
এখন আমার একটা প্রশ্ন আছে । কিভাবে এই দৃশটি c programming এর মাধ্যমে করবো ?
এই ধরনের সিধান্ত নিতে c তে if statement ব্যবহার করা হয় ।
IF STATEMENT
# include<stdio.h>
int main()
{
int a = 10 ;
int b = 10 ;
if ( a == b )
{
printf ( “a and b are equal\n” );
}
return 0;
}
if(a==b) এখানে a==b একটি condition । যা লেখা হয়েছে ( ) এর মধ্যে । এখানে condition যদি সত্য হয় তবে if statement কাজ করবে আর মিথ্যা হলে কাজ করবে না । যেহেতু এই প্রোগ্রামে a এবং b এর মান ১০ । তাই a==b কথা টি সত্য । এবং if statement টি কাজ করবে।
if এর পর যে { } আছে সেটা হলো if এর বডি । if অংশের জন্য যাই লিখি না কেন তা এই { } এর মধ্যে লিখতে হবে । এখন উপরের প্রোগ্রামে { } এর মধ্যে printf ( “a and b are equal\n” ); কথা টি লেখা আছে । যেহেতু condition টি সত্য তাই printf এর মধ্যে লেখাটি পর্দায় প্রদর্শন করবে অর্থাৎ a and b are equal কথাটি লেখা দেখাবে ।
সব সময় মাথায় রাখতে হবে “condition যদি সত্য হয় তবে if statement কাজ করবে আর মিথ্যা হলে কাজ করবে না “
If এর structure দ্বারায়
# include<stdio.h>
int main()
{
if ( condition )
{
statement;
statement;
statement;
….
}
return 0;
}
IF…ELSE STATEMENT
এখন মনে করেন , চকলেটের দাম ২০ টাকা আর ক্যান্ডির দাম 1 টাকা । তারমানে যদি আপনার কাছে সর্ব নিম্ন ২০ টাকা থাকে তবে আপনি চকলেট কিনবেন আর তা না হলে ক্যান্ডি কিনবেন ।
আমরা এই দৃশ্য কে if…else দিয়ে করতে পারি ।
# include <stdio.h>
int main()
{
int chocolate;
scanf(“ Enter your chocolate prize :%d”,&chocolate);
if ( chocolate>= 20)
{
printf ( “We can buy a chocolate \n” );
}
else
{
printf ( “We can buy a candy\n” );
}
return 0;
}
যে ভাবে if condition কাজ করে এটি ও ঠিক একই ভাবে কাজ করবে । যদি if এর condition সত্য হয় তাহলে if এর বডির মধ্যে থাকা printf এর লেখা পর্দায় প্রদর্শিত হবে । অর্থাৎ “We can buy a chocolate লেখাটি দেখাবে । তবে if এর condition সত্য না হয় তাহলে else এর বডির মধ্যে থাকা printf এর লেখা পর্দায় প্রদর্শিত হবে । অর্থাৎ We can buy a candy লেখাটি পর্দায় প্রদর্শিত হবে ।
If..else এর structure দ্বারায়
# include <stdio.h>
int main()
{
if(condition)
{
statement;
statement;
….
}
else
{
statement;
statement;
….
}
return 0;
}
মনে রাখতে হবে যদি if এর মধ্যে থাকা condition সত্য হয় তবে if execute হবে । আর মিথ্যা হলে else execute হবে ।
আর একটা প্রোগ্রাম দেখা যাক, যদি কোন ব্যক্তির বয়স ১৮ বা তার বেশি হয় তাহলে সে ভোট দিতে পারবে আর তা না হলে ভোট দিতে পারবে না ।
প্রোগ্রামটি এমন হবে
# include <stdio.h>
int main()
{
int age ;
printf ( ” Enter your age ” );
scanf ( “%d” ,&age) ;
if ( age >= 18 )
{
printf ( ” Your age is 18+.\n” );
printf ( ” Eligible to vote\n” );
}
else
{
printf ( ” Your age is not yet 18.\n” );
printf ( ” Not eligible to vote\n” );
}
return 0;
}
অনেক সহজ একটা প্রোগ্রাম । যদি ইউজার এর কাছ থেকে নেয়া age ১৮ এর সমান বা বড় হয় তাহলে if এর বডির মধ্যে থাকা printf দুইটি কাজ করবে অর্থাৎ
Your age is 18+.
Eligible to vote
পর্দায় প্রদর্শিত হবে । আর তা নাহলে else এর মধ্যে থাকা printf দুইটি কাজ করবে অর্থাৎ
Your age not is 18+.
Not eligible to vote
পর্দায় প্রদর্শিত হবে
ELSE IF STATEMENTS
একটি প্রোগ্রাম দেখা যাক । আমার কাছে ১০ টাকা আছে । আর আমার ছোট ভাই এর কাছে ৫০,১০ ও ৫ টাকা আছে । এখন আমি চেক করে দেখব আমার এই ১০ টাকা ওর ঐ তিনটা নোটের কোনটার সমান হয় …..
# include <stdio.h>
int main()
{
int a = 10;
if(a==50)
{
printf(“It is 50\n”);
}
else if(a==10)
{
printf(“It is 10\n”);
}
else if(a==5)
{
printf(“It is 5\n”);
}
return 0;
}
এটি else if এর সব থেকে সহজ উদাহরণ ।
else if এর structure টি দ্বারায় এইরকম
# include <stdio.h>
int main()
{
if(condition)
{
statement
statement
…
}
else if(condition)
{
statement
statement
…
}
else if(condition)
{
statement
statement
…
}
else
{
statement
statement
….
}
return 0;
}
NESTED IF/ELSE
আমরা if বা else এর মধ্যেও if বা else ব্যবহার করতে পারি । যাকে Nested if/else বলা হয়ে থাকে ।
# include <stdio.h>
int main()
{
int a = 8 ;
int b = 4 ;
int c = 10 ;
if ( a > b )
{
if ( a > c )
{
printf ( “a is the greatest number.\n” ) ;
}
}
return 0;
}
উপরের প্রোগ্রামে আমাদের প্রথম যে if ছিল এবং তার মধ্যে condition ছিল (a>b) ।যদি এই condition টি সত্য হয় তবে if এর বডির মধ্যে যে condition আছে । সেই condition টি চেক হবে(মনে রাখতে হবে a>b সত্য না হয়ে মিথ্যা হলে প্রোগ্রামটি কাজ করবে না। ) । যদি condition টি সত্য হয় তবে printf এর মধ্যে থাকা a is the greatest number. লেখাটি পর্দায় প্রদর্শিত হবে । আর যদি সত্য না হয় তবে লেখাটি পর্দায় প্রদর্শিত হবে না ।
এখন আপনিই বলুন এই প্রোগ্রাম কাজ করবে কি করবে না ।
আরেকটি প্রোগ্রাম ………
প্রথমে আমরা চেক করবো ‘a’ is greater than ‘b’ কিনা । তারপর আমরা c এর সাথে তুলনা করবো ।
# include <stdio.h>
int main()
{
int a ;
int b ;
int c ;
printf(“Enter three numbers\n”);
scanf(“%d %d %d”,&a,&b,&c);
if(a>b && a>c)
{
printf(“%d is greatest\n”,a);
}
else if(b>a && b>c)
printf(“%d is greatest\n”,b);
}
else if(c>a && c>b)
{
printf(“%d is greatest\n”,c);
}
return 0;
}
একটা কথা বলে রাখি , && যুক্ত condition এর ডান ও বাম পাশের উভয় অংশই সত্য হতে হবে তা না হলে লাইন টি cxecute হবে না ।
এই কোডিং এ ইউজার এর কাছ থেকে ৩ টি নাম্বার নেবো। আর দেখবো কোন নাম্বারটি বড় । ধরি, ৩ টা নাম্বার যথাক্রমে ২,৩,৪ ।
এখন আমাদের ১ম যে শর্ত ছিল সেটা চেক করি। শর্তটি ছিল (a>b && a>c) অর্থাৎ (2>3 && 2>4)
এখন আমাদের ২য়যে শর্ত ছিল সেটা চেক করি। শর্তটি ছিল (b>a && b>c) অর্থাৎ (3>2 && 3>4)
এখন আমাদের ৩য় যে শর্ত ছিল সেটা চেক করি। শর্তটি ছিল (c>a && c>b)অর্থাৎ (4>2 && 2>3)
এখন আপনি বলুন এই ৩ টি লাইনের ভিতর কোনটি সত্য । যেই লাইনটি সত্য হবে সেই লাইন টি execute হবে। এবং তার বডির মধ্যে থাকা printf এর লেখা পর্দায় প্রদর্শিত হবে ।
IF ELSE অন্য একটি FORM
আমরা ternary operator ব্যবহার করার মাধ্যমেও if else ব্যবহার করতে পারি । এর structure টি হলো
condition ? expression1 : expression2;
যদি condition টি সত্য হয় তবে expression1 এক্সিকিউট হবে । আর না হলে expression2 এক্সিকিউট হবে
#include <stdio.h>
int main()
{
int age;
printf(“Enter age”);
scanf(“%d”, &age);
(age > 18) ? printf(“eligible to vote\n”) : printf(“not eligible to vote\n”);
return 0;
}
আরও একটি প্রোগ্রাম দেখা যাক দুটি নাম্বার এর মধ্যে কোনটি বড়………।
#include <stdio.h>
int main()
{
int num1 = 4, num2 = 5, num;
num = (num2 > num1) ? num2 : num1;
printf(“The greater number is %d\n”, num);
Return 0;
}
উত্তর আপনাদের কাছ থেকে আশা করছি ।




No comments