C and C++

From Notun boi
Jump to: navigation, search

প্রোগ্রামিং এর জন্যে লাগবে একটি কম্পিউটার / android মোবাইল । আপনার যদি android মোবাইল থাকে সেটি দিয়েও আপনি প্রোগ্রামিং করতে পারবেন। আর লাগবে একটি কম্পাইলার ।

কম্পাইলার হলো এমন একটি সফটওয়্যার যা আপনার কোড গুলোকে বাইনারীতে রুপান্তর করে কম্পিউটারেরে কাছে পাঠাবে এবং কম্পিউটার সেই অনুযায়ী কাজ করবে। কেননা কম্পিউটার বাইনারী ( 0,1) ছাড়া কিছুই বুঝতে পারেনা।

কম্পিউটারেরে জন্যে সবচেয়ে ভালো compiler CODE BLOCKS. আমরা এখানে CODE BLOCKS ব্যবহার করবো । অনেকে ব্যবহার করেন turbo C। দুইটির মধ্যে খুব বেশি পার্থক্য নেই।

android এর জন্যে ব্যাবহার করুন C4Droid.

গুগলে সার্চ দিলেই পাবেন CODE BLOCKS । আর android এর জন্যে প্লে স্টোর তো আছেই।

তারপর ইন্সটল করে নিন সফটওয়্যারটি। চলুন শুরু করি এখন প্রোগ্রামিং...... code blocks ওপেন করুন। তারপর press ctrl+Shift+n or file => new => empty file then save it by pressing ctrl+s . যে কোনো একটা নাম দিয়ে সেভ করে ফেলুন।

তারপর এই কোডটি লিখুন।

#‎include‬<stdio.h>
int main()
{
printf("Hello MSW");
return 0;
}

code run করান । Run করতে build => build & run ... or F9 key press করলেই হয়ে যাবে।

কি দেখতে পারছেন ??? Hello MSW

এই লিখাটাই উঠেছে তাইনা?? এখানে ///

  1. include

দিয়ে আমরা কম্পিউটারকে বলছি যে তুমি include করো stdio.h টাইপের লাইব্রেরী Function । অর্থাৎ আমরা এখন যা কাজ করবো তা stdio.h লাইব্রেরী ফাংশনের under এ কাজ করবো । লাইব্রেরী ডাইরেকটরী নিয়ে পরে কথা বলবো।

/// int main()

এটি দ্বারা বোঝানো হচ্ছে যে এটি মেইন ফাংশনের অংশ। এ গুলো আপাতত ভুলে যান।

NOTE: int main() এর পর অবশ্যই second bracket “ { “ use করতে হবে।

///

printf()

printf() এমন একটি ফাংশন যার কাজ হলো আপনাকে প্রিন্ট করে দেখানো। অর্থাৎ এর মধ্যে আপনি যা লিখবেন সেটিই সে প্রিন্ট করে দেখাবে। তবে অবশ্যই সেটিকে “ ” double quotation এর মধ্যে রাখতে হবে। NOTE: printf এর p কিন্তু ছোটো হাতের p । বড় হাতের দিছেন তো মরছেন tongue emoticon ///

তারপর “ ; ” আমরা যখন বাক্য লেখা শেষ করি তখন আমরা দাড়ি দেই, যেমন “ । ” tongue emoticon সি প্রোগ্রামিং এ দাড়ি তো আমরা ব্যাবহার করতে পারবোনা, তার বদলে আমরা সেমিকোলন ব্যবহার করি। অর্থাৎ কোনো স্টেটমেন্ট লিখার পর আমরা সেমিকোলন ব্যবহার করবো। এটি ব্যবহার করতে হবে। নাহলে কম্পাইলার এরর দেখাবে।

///

return 0 আমরা যখন int main() ব্যবহার করবো তখন সবসময়ই আমাদের return 0 ব্যবহার করতে হবে। NOTE: return 0 এর পর কিন্তু সেমিকোলন আছে। কেনো return 0 তা পরে বলবো। আপাতত জেনে রাখুন এর মানে ফাংশন কোনো value return করবেনা।

///

তারপর আমরা “ } ” দিয়ে শেষ করে দিবও প্রোগ্রামটা। কারন এর আগে আমরা “{” ব্যবহার করেছিলাম । এটাতো করতে হবে। তাইনা ??

এখন printf() এর ভিতরে অন্য কিছু লিখে দেখেন সেটি প্রিন্ট করে কিনা।

NOTE: আপনার Girlfriend অথবা Boyfriend এর নাম লিখেও দেখতে পারেন :-P ।





প্রোগ্রাম দিয়ে যোগ , বিয়োগ , গুন এবং ভাগ[edit]

খুবই সহজ করে আপনাদের প্রোগামিং শিখানোর চেস্টা করছি। এতটা সহজ করে হয়তো কোনো বইতেও লেখা নেই। সাথে থাকুন। ইনশাল্লাহ উপকার পাবেন।

যাহোক, গত পর্বে আমরা দেখেছিলাম আমরা কোনো কিছু কিভাবে প্রিন্ট করবো। গত কালকের কোডটা মনে আছে আপনাদের ???

গতকালকের কোডটি ছিলো,

#‎include‬<stdio.h>
int main()
{
printf(“Hello MSW”);
return 0;
}

\\\ এখানে আমরা int main() এর পরিবর্তে void main() ব্যবহার করতে পারি।

\\\ তাহলে কি দুইটার মধ্যে কোনো পার্থক্য নেই ???

অবশ্যই আছে। আমরা যখন int main() ব্যবহার করেছি তখন শেষে লিখেছি return 0 । কিন্তু আমরা যখন void main() ব্যবহার করবো তখন return 0 ব্যবহার করতে হবেনা। অর্থাৎ তখন কোডটি দাড়ায়...

  1. include<stdio.h>

void main() { printf(“Hello MSW”); }

অর্থাৎ void লিখলে return 0 এর কোনো প্রয়োজন নেই।

\\\ এখন আসুন আমরা এমন একটি প্রোগ্রাম বানাবো যেখানে কম্পিউটার দুইটি সংখার যোগফল বের করে দেখাবে... চলুন বানিয়ে ফেলি

নিচের এই কোডটি লিখুন......

  1. include<stdio.h>

int main()

{ int a, b, sum;

a=5; b=6; sum=0;

sum= a+b;

printf("%d",sum); return 0;

}

কোডটি লিখে রান করুন। কি দেখাচ্ছ ??? ১১ দেখাচ্ছে তাইনা ??

৫ + ৬ = ১১ ।

\\\\ কীভাবে হলো??? দেখুন int main() এর ভেতরে আমরা আবার int ব্যবহার করেছি। এটা করেছি কারন আমরা যে মান দুটি নিয়েছি তা integer type । integer type বলতে মূলত যে পূর্ণ সংখ্যা গুলো আছে সেগুলোকে বুঝানো হয়। যেমন ১, ২, ৩, -১৫, ৩৫ ইত্যাদি। দশমিক সংখ্যার জন্যে ব্যবহার করা হয় float । এগুলো Data Variable. এসব নিয়ে পরে কথা হবে আপাতত এতটুকু জেনে রাখুন। বিস্তারিত পরে জানানো হবে।

অর্থাৎ পূর্ণ সংখ্যার ক্ষেত্রে আমরা int লিখবো a, b এর আগে। এখানে a, b দুইটি variable declare করেছি কারন আমরা যে মান গুলো নিবো তা এদের মধ্যেই রাখব।তারপর a, b যোগ করলাম। এখন a, b যোগ করে আমরা মানটা কোথায় রাখবো ??? মানটা রাখার জন্যেই আমরা আরেকটি variable declare করেছি sum নামের। sum= a+b; অর্থাৎ sum এর মান হবে a, b যোগফলের সমান। গতকাল আমরা লেখা প্রিন্ট করা শিখেছি। কিন্তু এখানে তো আমার মান প্রিন্ট করতে হবে। মান প্রিন্ট করবো কিভাবে ???

\\\ integer type এর জন্যে আমরা printf() এর double quotation মধ্যে লিখেছি %d তারপর কমা দিয়ে লিখেছি sum । integer type এর মান প্রিন্ট করার জন্যে আমাদের সবসময় %d লিখতে হবে। সবসময়... । float এর জন্যে %f । এই দুইটা মুখস্ত করে ফেলেন । যাহোক, তো আমি %d দিয়ে কম্পাইলারকে বুঝাচ্ছি যে আমাকে integer type এর মান দেখাতে হবে। কম্পাইলারো বুঝতে পারলো যে তাকে integer type এর মান দেখাতে হবে। কিন্তু কম্পাইলার কে কি আমরা বলেছি যে কার মান দেখতে চাচ্ছি আমরা ?? সেখানে a, b এর মান আছে , sum এর মান আছে। আমরা তো a, b এর মান দেখতে চাইনা। আমরা চাই sum এর মান। তাই কমার পর আমরা sum এর কথাটা উল্লেখ করে দিয়েছি।

\\\ এখন একটা কাজ করেন তো কমার পর sum এর জায়গায় একবার a , আরেকবার b দিয়ে দেখেনতো মান কত দেখায় ???

যখন কমার পর a দিয়েছি তখন a এর মান দেখাচ্ছে । আর যখন b দিয়েছি তখন b এর মান।

\\\ আর আমরা জদি চাই যে আমকে এভাবে মান দেখাবে The addition of a and b is 11

তাহলে আমাদের কি করতে হবে ??? // তখন আমরা printf() এর মধ্যে লিখবো printf(“The addition of %d and %d is %d”,a,b,sum);

এখানে ৩টা % d আছে। সুতরাং তিনটা মান প্রিন্ট হবে। কিন্ত কোন তিনটা মান??? \\ দেখুন কমার পর দিয়েছি a,b,sum অর্থাৎ প্রথমে a এর মান পরে b এর মান এবং সব শেষে sum এর মান প্রিন্ট হবে। এখন কমার পর সব ৩টাই a অথবা b অথবা sum দিয়ে দেখুন তো কি হয় ।।





গত পর্বে তো আমরা মান নির্দিষ্ট করে যোগ বিয়োগ করেছি। কোডটি ছিলো

#‎include‬<stdio.h>
int main()
{
int a, b, sum;
a=5;
b=6;
sum=0;
sum= a+b;
printf("%d",sum);
return 0;
}

এখানে আমরা a, b এর মান নির্দিষ্ট করে ৫ এবং ৬ দিয়েছি। কিন্তু আমরা কি সব সময় এরকম নির্দিষ্ট মান নিয়েই কাজ করবো ???? অবশ্যই না। আমরা এখন এমন একটি প্রোগ্রাম বানাবো যেখানে আমরা ইচ্ছে মত মান দিতে পারবো এবং তা আমাকে যোগ করে দেখাবে। তো নিচের কোডটি ঝটপট বসিয়ে রান করে ফেলুন

\\\\

#include<stdio.h>
int main()
 
{
int a, b, sum=0;
 
printf("Enter the value of a: ");
scanf("%d",&a);
 
printf("\n\n Enter the value of b: ");
scanf("%d",&b);
 
sum= a+b ;
 
printf("\n\n%d",sum);
 
return 0;
 
}

এটা রান করলে কি বলছে???? প্রথমে একটার মান দিতে বলছে তাইনা?? ইচ্ছে মত মান দিন তারপর এন্টার চাপুন। তারপর দ্বিতীয়টার মান দিন। তারপর এন্টার চাপুন। যোগফল দেখতে পাবেন। এখানে গত কালকের মতই সব কিছু শুধু ২টা জিনিস নতুন। \\\\

scanf

এটির কাজ হলো মান ইনপুট নেয়া। অর্থাৎ printf যেমন কোনো কিছু প্রিন্ট করে ঠিক তেমনি scanf মান ইনপুট নেয়। তারপর দেখুন দেয়া আছে । &a । এটা মানে হল এইখানে যে মানটা আমি কীবোর্ড থেকে দিবো সেই মানটি সে a তে রাখবে। তার পরেরটাতে &b মানে সে সেখানে যে মানটা পাবে তা b তে রাখবে। তো আমরা % d আমরা কেনো ব্যবহার করছি তা নিশ্চয়ই বুঝতে পারছেন ?? কারন আমরা যে মান গুলো নিবো তা পূর্ণ সুংখা নিবো তাইনা??? তাই আমরা int ব্যাবহার করেছি। আর int ব্যবহার করলে মানের জন্যে তো % d ব্যবহার করতেই হয়

\\\\ আমরা printf এর মধ্যে \ n (ব্যাক্সলাশ n) ব্যবহার করেছি। এটি কেনো ব্যাবহার করলাম প্রশ্ন জাগছে তাইনা?? \ n ব্যবহার করা হয় নিচের লাইনে নামার জন্যে। যখন প্রোগ্রাম চলবে তখন সে \ n দেখা মাত্র এক লাইন নিচে চলে যাবে। তারপর কোনো কিছু প্রিন্ট করবে। যদি এক সাথে ২টি \ n থাকে তাহলে ২ লাইন নিচে নামবে। কোডটি থেকে \ n সরিয়ে দিয়ে একবার রান করে দেখুন। তারপর \ n দিয়ে আরেকবার রান করান । পার্থক্যটা বুঝতে পারবেন।

এখানে printf এর মধ্যে a ও b এর পর যে সেমিকোলন ব্যবহার করেছি তা শুধু মাত্র সুন্দর দেখার জন্যে। আপনি দিবেন নাকি না তা সম্পূর্ণ আপনার ইচ্ছা।


\\\\

জেনে রাখুন............


\ t – এক লাইনেই রাখে কিন্তু ডাবল স্পেস এর মত কাজ করে। নিচের কোডটি রান করান । সহজেই বুঝতে পারবেন

#include<stdio.h>
int main()
{
 
printf("I\tam\ta\tstudent");
 
return 0;
 
}

\\

\a

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

#include<stdio.h>
int main()
{
 
printf("Hello msw\a");
 
return 0;
 
}

সাউন্ড শুনতে পেয়েছেন ???


বিঃদ্রঃ এগুলো প্রিন্ট এর মধ্যে লিখা হলেও এগুলু প্রিন্ট হবেনা। শুধু মাত্র এর যা কাজ করার কথা সেই কাজ করবে।


\\\\ এখন আলাদা প্রোগ্রামটি দেখুন ।

#include<stdio.h>
int main()
 
{
int a, b, sum=0;
 
printf("Enter the value of a: ");
scanf("%d",&a);
 
printf("\n\n Enter the value of b: ");
scanf("%d",&b);
 
sum= a+b ;
 
return sum;
}

এখানে আমরা যোগফল দেখার জন্যে কি কোনো printf ব্যাবহার করেছি??? না করিনি। তার বদলে আমরা return ০ এর জায়গায় return sum ব্যবহার করেছি। তার মানে আমি বলেছি আমকে তুমি sum এর মানটা return করো। কম্পাইলার আমাকে sum এর মান return করেছে। অর্থাৎ আমরা sum এর মানটা return কে মান দেখার জন্যেও ব্যাবহার করতে পারি।





Data Type => সি প্রোগ্রামিং ল্যাংগুয়েজ এ আমরা চার ধরনের Data Type দেখতে পাই। যথাঃ- ১. Integer Data Type প্রোগ্রামে int ২. Float Data Type প্রোগ্রামে float ৩. Character Data Type প্রোগ্রামে char ৪. Double Data Type প্রোগ্রামে double


\\\ Integer Data Type

এই Data Type এ সকল পূর্ণ সংখ্যা লিখা হয়। আমরা যদি পূর্ণ সংখ্যা ইনপুট নিতে চাই, কিংবা পূর্ণ সংখ্যা আউটপুট হিসেবে দেখতে চাই তাহলে আমাদের Integer Data Type ব্যবহার করতে হবে। আমরা প্রোগ্রামে Integer Data Type এর সংক্ষিপ্তরুপ int ব্যবহার করি। এই Data Type এর মান দেখার জন্যে printf এর ভেতরে আমাদের %d ব্যবহার করতে হবে। আর Integer Data Type এর নির্দিষ্ট সীমা আছে। -৩২৭৬৮ থেকে ৩২৭৬৭ পর্যন্ত এর সীমা। কোনো একটা ইনপুট সীমার বাইরে নিলে অপ্রত্যাশীত মান আসবে। এর বাইরে কী তাহলে কোনো ভাবেই মান নেয়া যাবেনা ??? নেয়া যাবে কিন্তু সেক্ষেত্রে long long ব্যাবহার করতে হবে। যাহোক long long নিয়ে পরে আলোচনা করা হবে।

\\\

Float Data Type

এই Data Type এ রাখা হয় দশমিক জাতীয় সংখ্যা গুলো। অর্থাৎ আমরা যদি দশমিক জাতীয় ইনপুট অথবা আউটপুট দেখতে চাই তাহলে আমাদের এই Data Type ব্যবহার করতে হবে। এই Data Type এর ক্ষেত্রে আমরা সংক্ষিপ্ত ভাবে লিখি float। এই Data Type এ দশমিক এরপর সব্বোচ্চ ৬ ঘর নিয়ে কাজ করা যায়। এবং আমরা এই Data Type এর ক্ষেত্রে আমরা printf এর ভেতরে %f ব্যবহার করি।

\\\

Character Data Type

এই Data Type এ আমরা বিভিন্ন Character Type Data রাখতে পারি। এখানে Character Type Data বলতে মুলতো আমরা যে বর্ণ গুলো ব্যাবহার করি যেমন a, b, c ইত্যাদি। আমাদের কীবোর্ড এ যখন আমরা এসব বর্ণ ব্যবহার করি তখন আমাদের এসব প্রত্যেকটি বর্ণের জন্যে কম্পিউটার একটি নির্দিষ্ট মান প্রদান করে। এদের কে বলা হয় ANSII মান। যেমন A এর ANSII মান 65. এরপর B এর মান ৬৬। এরপর C এর মান ৬৭ । এভাবে মান ক্রমান্বয়ে বাড়তে থাকবে। এই Data Type এর ক্ষেত্রে আমরা printf এর ভেতরে %C ব্যবহার করি। এছাড়া আমরা Character Type Data এর ক্ষেত্রে a, b, c ছাড়াও কারো নাম, পোস্ট ইত্যাদিও রাখতে পারবো। প্রোগ্রাম করতে করতে এটা ক্লীয়ার হয়ে যাবেন।

ANSII মান সব গুলো মান চেক করার জন্যে এই প্রোগ্রামটি দেখুন।

#‎include‬<stdio.h>
 
int main()
 
{
char ch;
 
ch='A';
 
printf("%d",ch);
 
return 0;
 
}

এই প্রোগ্রামটিতে ch='A'; এ A এর জায়গা B ,C দিয়ে দেখুন মান দেখতে পাবেন। এইখানে একটা দিকে বিশেষ দৃষ্টি দিতে হবে বড় হাতের অক্ষর গুলোর মান আলদা এবং ছোট হাতের অক্ষর গুলোর মান আলাদা।

\\\\ Double Data Type


এই Data Type টাও Floating Data Type এর মতই। এটিও দশমিক সংখ্যার ক্ষেত্রে ব্যবহার করা হয়। শুধু পার্থক্য এটাই যে এদের দশমিক এর পর ১৫ ঘর পর্যন্ত নিয়ে কাজ করা যায়। এবং এদের ক্ষেত্রে printf এর ভেতরে %lf ব্যবহার করা হয়।





আজকে আমরা Increment Decrement শিখার চেষ্টা করবো। এটা আমাদের অনেক কাজে লাগবে...

. . .

আসুন শিখি Increment Decrement সম্পর্কে। . . . এটি একটু ভালো ভাবে দেখুন। কেননা অনেকেই এখানে ভুল করে থাকেন। কিন্তু বিষয়টি একদমই সহজ। . . .

Increment অর্থ বৃদ্ধি। জ্বি ঠিকই ধরেছেন... এটাও বৃদ্ধি করবে । অর্থাৎ বাড়াবে। কিন্তু কি বাড়াবে ??? আসলে এটা কোনো ভ্যারিয়বেল মান বাড়াবে। যেমন এই কোডটি দেখুন...

#‎include‬<stdio.h>
int main()
{
int i,j;
i=4;
j=++i;
 
printf("%d”,j);

এখানে কি মান দেখাচ্ছে j এর ??? ৫ দেখাচ্চে । তাইনা ??? অর্থাৎ এর মান আগের চেয়ে এক বেড়ে গেছে... তাইনা ??? এটাই Increment । । কম্পাইলার ++ দেখলেই এক বাড়াতে হবে বুঝতে পারে। Increment মূলত দুই প্রকার। pre increment & post increment.

pre increment : pre increment এর অর্থ আগে increment হবে অর্থাৎ মান আগে বাড়বে। আর post increment অর্থ পরে বাড়বে।

বুঝতে কষ্ট হচ্ছে??? একটু অপেক্ষা করুন বুঝতে পারবেন। আগে কোডটি রান করান। . . .

#include<stdio.h>
int main()
{
int i,j;
i=4;
j=++i;
 
printf("the value of i is %d \t the value of j is %d\n\n\n",i,j);
 
return 0;
}

.. .

. কোডটি রান করালে কি দেখছেন??? I & j এর মান ৫ দেখাচ্ছে তাইনা??? . .

Pre increment কে লেখা হয় যার increment হবে তার আগে ++ লিখতে হবে... যেমন আমি i এর increment চাই। তাই আমি i এর আগে ++ লিখেছি। compiler এই ++ দেখা মাত্রই সে ১ যোগ করে নিবে। কিন্তু কিসের সাথে করবে??? ++ এর পর যে ভ্যারিয়েবল আছে তার সাথে ১ যোগ করবে। উপরের কোডটিতে দেখুন I এর মান ৪। তারপর যখন j এর মানে আসলো কম্পাইলার তখন দেখলো ++ i । so সে i এর মানের সাথে ১ যোগ করে নিবে। সুতরাং মান হবে ৪+১=৫। সুতরাং j এর মান ৫। তো এখন আমরা i এর মান বাড়িয়েছি. ৪ থেকে ৫ হয়েছে... সুতরাং I এর মান এখন ৫ হয়ে গেছে। সুতরাং এখন i এর মান দেখতে চাইলে ৫ দেখাবে। কারন ১ বেড়ে গেছে। সুতরাং i & j উভয়ের মানই ৫। এটা pre increment.

. . .

তারপর এই কোডটি দেখুন।

#include<stdio.h>
int main()
{
int i,j;
i=4;
j=i++;
 
printf("the value of i is %d \t the value of j is %d\n\n\n",i,j);
 
return 0;
}

. . .. এই কোডটি রান করালে কি দেখতে পাচ্ছেন ??? i এর মান ৫ , j এর মান ৪ । কিন্তু এটা কিভাবে হলো??? এখানে দেখুন i এর মান ৪ ছিলো। তারপর j এর জায়গায় এসে i এর মান ৪ বসালো... বসানোর পর দেখলো যে ++ আছে... কোনো ভ্যারিয়েবলের পর যদি ++ থাকে তাহলে তা নিচের লাইনে যখনি সেই ভ্যারিয়েবলটি দেখবে তখনি মানটি বাড়াবে... অর্থাৎ ওই লাইনটাতে বাড়বেনা। তারপরের লাইনে যখন ভ্যারিয়েবলটিকে দেখবে তখন মান বাড়াবে... এটা শুধু মাত্র পরে ++ এর ক্ষেত্রে। এটাকে বলে post increment. এই জন্যেই j এর মান কোডটিতে ৪ ছিলো...আর post increment এর জন্যে printf এ যেয়ে i কে পেলো কম্পাইলার । তখনি সে i এর মান বাড়ায়ে দিবে। আর তখন i এর মান ৫ হয়ে যাবে।

.. ..

এখন কারো মাথায় আসতে পারে... শুধু কি এক করেই বাড়বে??? আর বেশি করে বাড়ানো যাবেনা ?????

হ্যা যাবে। এটি বুঝার জন্যে নিচের কোডটি দেখুন...

#include<stdio.h>
int main()
{
int i,j;
i=4;
i+=2;
 
printf("the value of i is %d \n\n\n",i);
 
return 0;
}

.. এখানে আছে i+=2 । এছাড়া যা আছে সব আগের মতই। তো এখানে i+=2 দিয়ে কি বুঝানো হয় ??? i+=2 মানে হলো i=i+2 . অর্থাৎ i এর আগের মানের সাথে সে ২ যোগ করবে... ১ এর জায়গায় যেই সংখাই লেখবেন সেটাই সে i এর মানের সাথে যোগ করবে। এভাবে আপনি i এর মান ইচ্ছে মত বারাতে পারবেন... ... ... ...

DECREMENTS>>>>>

increment & decrement পুরোপুরি একই... increment (++) মান এক করে বাড়াবে... এবং decrement (--) মান এক করে কমাবে... এখানেও pre decrement & post dercrement আছে জা increment এর রুলস ফলো করেই চলবে। decrement dite hoy -- লিখে। এর কাজ just কমানো। এটির সব রুলস increment এর মতই।




আমরা মাঝে মাঝে বিভিন্ন মোবাইল অপারেটরদের হেল্প নাম্বার গুলোতে ফোন দিলে বলে “বাংলার জন্যে ১ press করুন। for english press 2. অমুকের জন্যে তমুক press করুন. আরো হাবি জাবি অনেক আছে .” :3

. .

তাহলে দেখুন এখানে একটা condition আছে। যদি ১ press করেন তাহলে সে বাংলায় বলবে। ২ press করলে english এ বলবে। এটা কিভাবে হয় ??? আসুন দেখাই। . .

      1. if else হলো এমন একটা পদ্ধতি যেখানে আপনি condition বলে দিবেন। যদি condition মানে তাহলে সে কাজ টা করবে আর না মানলে করবেনা।

. .

নিচের কোডটি দেখুন বুঝতে পারবেন :) . . .

#‎include‬<stdio.h>
int main()
 
{ int choice;
 
printf("Welcome to our helpline. For bangla press 1 and for english press 2 \n\n\n");
scanf("%d",&choice);
 
if (choice==1)
{
printf("\n\nBangla vasay apnake sagotom. ekhane apni suddho banglay kotha bolben :p \n\n\n");
}
 
else if (choice==2)
{
printf("\n\n Welcome sir. you can talk in english :D \n\n\n");
}
 
else
printf(" \n\n muri khao. cz we don't know other language :/ \n\n ");
 
return 0;
}

কোডটি রান করে দেখুন তো কি দেখায় :P কোডটিতে একবার ১ আরেকবার ২ আরেকবার 3 or অন্য কোন নাম্বার press করে দেখুন তো কি দেখায়??? . .

আসুন এখন কোডটি বুঝি। . .


      1. এখানে আমি সাধারন ভাবে একটা integer টাইপের একটা choice variable নিয়েছি। যেখানে choice শুধুমাত্র interger টাইপের ডাটা নিবে। তারপর scanf দিয়ে মান choice এ assing করলাম।

. .

    1. তারপর আমি condition দিয়েছি। if (choice==1) অর্থাৎ choice যদি ১ হয় তাহলে প্রিন্ট করো বাংলা কথা বলারটা।।

. .


    1. তারপর আমি ব্যাবহার করেছি else if । অর্থাৎ যদি if এর condition না মানে তাহলে সে else if এ ঢুকবে। আপনি যখন ২ press করবেন তখন choice এর মান হবে ২। তখন সে প্রথমে if এ যাবে। কিন্তু if এর condition হলো choice 1 হতে হবে। কিন্তু choice তো ১ না। তখন সে পরের else if এ যাবে।

. .

    1. else if এ যেয়ে দেখবে choice 2 হতে হবে। choice এর মান তো তখন ২ ই। তাই সে সেখানে ঢুকবে আর প্রিন্ট করবে english কথা বলারটা। তারপর প্রোগ্রাম শেষ করে দিবে।

. .

    1. আর যদি আপনি ১ কিংবা ২ এর কোনোটাই press না করেন তাহলে সে আপনাকে মুড়ি খেতে বলবে :P

. .

@@@@ আসুন if esle ব্যবহারের কিছু নিয়ম জেনে নেই। . .

১. if else এর কোডিং শুরু হবে if দিয়ে। আর শেষ হবে else দিয়ে। মাঝখানে যত বার খুশি condition দিতে হলে else if ব্যবহার করতে হবে। else if আপনি যত খুশি ব্যবহার করতে পারবেন। কিন্তু if একটা থাকবে আর else ও একটা। (যদিনা nested হয়) . . .

২. if , else if, else এ ৩ ক্ষেত্রেই এদের ভেতর কার statement কে অবশ্যই second bracket এর ভেতর রাখবেন। . .

৩. choice == 1 এখানে দেখুন ডাবল সমান ব্যবহার করেছি। এভাবেই করতে হবে। single দিলে কাজ করবেনা। . .

৪. if conditon এর পর সেমিকোলন (;) ব্যবহার করা যাবেনা। করলে প্রোগ্রাম রান করবেনা। কেননা আমরা সেমিকোলন ব্যবহার করি দাড়ি হিসেবে। অর্থাৎ statement এর শেষে ।এখানে কোনো statement শেষ হয়নি।


Share your opinion