সি++ প্রোগ্রামিং – ফর লুপ

ফর লুপ(for loop)

ফর লুপ(for loop) এর প্রথম ব্রাকেট এর মাঝে তিনটি অংশ থাকে, যার প্রতিটি অংশের মাঝে সেমিকোলন(;) দিতে হয়। যথাঃ

১) initialization expression : যেমনঃ i=0;
২) loop condition : যেমনঃ i<5
৩) increment/decrement expression :
যেমনঃ i++

ফর লুপ(for loop) এর সাধারণ প্রকাশ (Basic structure of for loop)

for (initialization_expression;loop_condition;increment/decrement_expression)
{
   // ফর লুপের মাঝে অন্যান্য কোড থাকবে।
}

 

loop

প্রথমে initialization থেকে শুরু হয়, তারপর কন্ডিশন যাচাই করে। যদি কন্ডিশন সত্য হয় তাহলে ফর লুপ এর মাঝের কোড execute করে, সত্য না হলে ফর লুপ শেষ হয়ে যায়। এখন ফর লুপ এর মাঝের কোড execute করার পর increment/decrement করে পুনরায় কন্ডিশন যাচাই করে। যদি কন্ডিশন সত্য হয় তাহলে ফর লুপ এর মাঝের কোড execute করে, সত্য না হলে ফর লুপ শেষ হয়ে যায়। এভাবে চলতেই থাকে যতক্ষণ পর্যন্ত কন্ডিশন মিথ্যা হয়।

উদাহরণ ০১

একটি প্রোগ্রাম দেখি যা 0 থেকে 4 পর্যন্ত প্রিন্ট করবে।

#include <iostream>
using namespace std;
int main()
{
    int i;
    for(i = 0; i < 5; i++)
    {
        cout<<i<<" ";
    }
    return 0;
}
Output: 0 1 2 3 4

উপরের প্রোগ্রামটিতে প্রথমে initialization মান(i = 0) এর জন্য কন্ডিশন যাচাই করে। কন্ডিশন সত্য হওয়ায় ফর লুপ এর মাঝের কোড execute করে, অর্থাৎ i এর মান(i = 0) প্রিন্ট করে । এখন প্রিন্ট করার পরে i এর মান(i = i + 1) বৃদ্ধি পেয়ে পুনরায় কন্ডিশন যাচাই করে। কন্ডিশন সত্য কেননা(1<5) তাই ফর লুপ এর মাঝের কোড execute করে, অর্থাৎ i এর মান(i = 1) প্রিন্ট করে । এভাবে i এর মান 0 থেকে শুরু করে এক এক করে বেড়ে যখন 5 হবে তখন কন্ডিশন মিথ্যা হবে এবং for loop শেষ হয়ে যাবে।

উদাহরণ ০২

একটি প্রোগ্রাম লিখো যেখানে ৬টি সংখ্যা ইনপুট নিবে এবং তুমি সবচেয়ে বড় মান আউটপুটে প্রিন্ট করবে।

#include <iostream>
using namespace std;

int main()
{
    int num, i,max;
    cout<<"Enter six numbers: n";
    cin>>num;
    max = num;
    for(i=1;i<=5;i++)
    {
        cin>>num;
        if (num>max)
            max=num;
    }
    cout<<"Maximum sumber is: "<<max<<"n";
    return 0;
}

এখানে প্রথমে লুপের বাইরে একটি সংখ্যা ইনপুট নিয়ে তা max নামক চলক এর মধ্যে রাখা হয়েছে। যেহেতু, তুমি লুপের বাইরে একটি সংখ্যা ইনপুট নিয়ে নিয়েছো তাই লুপের ভিতরে বাকি পাচটি সংখ্যা ইনপুট নিতে হবে। পাঁচটি সংখ্যা ইনপুট নেয়ার জন্য লুপ -এ for(i=1;i<=5;i++) এর বদলে for(i=0;i<5;i++) লিখলেও হবে। এখন প্রতিবার একটি সংখ্যা ইনপুট নেয়ার সময় ঐ সংখ্যাটি, অর্থাৎ num চলক এর মান max এর মধ্যে বিদ্যমান সংখ্যা থেকে বড় কিনা যাচাই করে। যদি বড় হয় তাহলে max=num করে দেয়। লুপে সবগুলো সংখ্যা ইনপুট শেষে max এর মধ্যে বিদ্যমান সংখ্যা প্রিন্ট করে দেয়।

সি++ প্রোগ্রামিং – লুপ

সি++ প্রোগ্রামিং ভাষায় লুপ কন্ট্রোল স্টেটমেন্ট গুলো কোন ক্রমে প্রোগ্রাম কার্য সম্পাদন করবে তা নির্দিষ্ট করে। প্রোগ্রাম এর স্টেটমেন্ট গুলো কোন ক্রমে কাজ করবে তা নির্ধারণ করার জন্য লুপ কন্ট্রোল স্টেটমেন্ট। সি++ প্রোগ্রামিং ভাষায় লুপ কন্ট্রোল স্টেটমেন্ট গুলোকে মোটামুটি তিনভাগে ভাগ করা যায়। যথাঃ-

  1. for loop
  2. while loop
  3. do while loop

সি++ প্রোগ্রামিং – লুপ

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি++ প্রোগ্রামিং – switch

Switch

সরাসরি কোনো স্টেটমেন্ট নির্বাচন করার জন্য Switch ব্যবহার করে থাকি। কোন interger বা character ধ্রবক Switch এর expression এ ব্যবহার করা হয়। এই ধ্রুবক পর্যায়ক্রমে যাচাই করে, যেই case এর ধ্রুবক এর সাথে মিলে যায় ঐ case এর সকল স্টেটমেন্ট execute করে।

switch (expression) {
case constant1:
statement sequence
break;
case constant2:
statement sequence
break;
case constant3:
statement sequence
break;
.
.
default:
statement sequence
}

দশমিক মান(floating-point) switch এর expression এ দেয়া যায় না।

#include <iostream>
using namespace std;
void main()
{
    int num;
    cout<<"Enter a number :";
    cin>>num;
        switch(num)
        {
        case 1:
            {
                cout<<"You Typed 1.n";
                break;
            }
        case 2:
            {
                cout<<"You Typed 2.n";
                break;
            }
        case 3:
            {
                cout<<"You Typed 3.n";
                break;
            }
        default:
                cout<<"You did not type between 1 to 3.n";
        }
    return 0;
}
Sample Input: 1
Output: You Typed 1.

 

সি++ প্রোগ্রামিং – conditional statement – nested if-else – তৃতীয় পর্ব

সি++ প্রোগ্রামিং – conditional statement – nested if-else – তৃতীয় পর্ব 

if(condition)
{
    if(condition)
    {
        statements;
    }
    else
    {
        statements;
    }
}
else
{
    statements;
}

 

উদাহরণ – ০৫

#include <iostream>
using namespace std;
int main()
{
    int num;
    cout<<"Enter a number :";
    cin>>num;
    if(num>0)
    {
        cout<<"Number is greater than 0 !");
    }
    else
    {
        if(num==0)
        {
            printf("It is 0 !");
        }
        else
        {
            printf("Number is less than 0");
        }
    }
    return 0;
}

 

Input: -12
Output: Number is less than 0

 

উদাহরণ – ০৬

তিনটি সংখ্যার মধ্যে বৃহত্তম সংখ্যা নির্ণয়

if_else

 

#include <iostream>
using namespace std;
int main()
{
    int x,y,z ;
    cout<<"Enter three numbers :n";
    cin>> x >> y >> z;
    if(x > y)
    {
        if(x > z)
            cout<<"X is biggest numbern";
        else
            cout<<"Z is biggest numbern";

    }
    else
    {
        if(y > z)
            cout<<"Y is biggest numbern";
        else
            cout<<"Z is biggest numbern";

    }
    return 0;
}

 

উদাহরণ – ০৭

ছয়টি সংখ্যার মধ্যে বৃহত্তম সংখ্যা নির্ণয়

maximun_number

 

#include <iostream>
using namespace std;
int main()
{
    int a,b,c,x,y,z,max1,max2,max3,maximum;
    cout<<"Enter six numbers :n";
    cin>> a>>b>>c>>x >> y >> z;
    if(a > b)
    {
        max1=a;
    }
    else
    {
        max1=b;
    }

    if(c > x)
    {
        max2=c;
    }
    else
    {
        max2=x;
    }

    if(y > z)
    {
        max3=y;
    }
    else
    {
        max3=z;
    }

    if(max1 > max2)
    {
        if(max1 > max3)
            maximum=max1;
        else
            maximum=max3;

    }
    else
    {
        if(max2 > max3)
            maximum=max2;
        else
            maximum=max3;
    }
    cout<<"Maximum number is "<< maximum;
    return 0;
}

 

 

সি++ প্রোগ্রামিং – conditional statement – else if – দ্বিতীয় পর্ব

সি++ প্রোগ্রামিং – conditional statement – else if – দ্বিতীয় পর্ব :

if(condition_1)
{
    statements;
}
else if(condition_2)
{
    statements;
}
.
.
.
else
{
    statements;
}

 

উদাহরণ – ০৪

গ্রেড শিট তৈরি

তোমার ক্লাসটিচার তোমাকে একটি প্রোগ্রাম তৈরি করতে হবে যেখনে শিক্ষার্থীদের প্রত্যেক বিষয়ে প্রাপ্ত নম্বর ইনপুট দিলে ঐ বিষয়ে প্রাপ্ত গ্রেড আউটপুট দিবে।

#include <iostream>
using namespace std;
int main()
{
    int num ;
    cout<<"Enter a number :n";
    cin>>num;
    if(num>=80)
        cout<<"Grade A+";
    else if(num>=60 && num<80)
        cout<<"Grade A";
    else if(num>=40 && num<60)
        cout<<"Grade B",num;
    else
        cout<<"Fail";
    return 0;
}
Input: 67
Output: Grade A

সি++ প্রোগ্রামিং – conditional statement – if-else – প্রথম পর্ব

সি++ প্রোগ্রামিং – conditional statement – if-else – প্রথম পর্ব 

এর মাঝে আমরা if….else, else if এবং nested if নিয়ে আলচনা করবো।

১) if…else

if সর্বদা true অথবা false শর্ত যাচাই করে , যদি true হয় তবেই if condition এর জন্য যেই statement তা output দেখায়, অন্যথায় else এর জন্য যেই statement তা output দেখায়।

if(condition)
{
    statements;
}
else
{
    statements;
}

উদাহরণ – ০১

জোড় অথবা বিজোড় যাচাই করা

আর একটু বোঝার জন্য কোনো একটি সংখ্যা জোড় অথবা বিজোড় কিনা বের করার একটা প্রোগ্রাম দেখি:

তার আগে আমাদের মডুলাস অপারেটর সম্পর্কে জানতে হবে, যা অপারেটর অধ্যায়ে আলোচনা করা হয়েছে। নতুন একটি অপারেটর মডুলাস(%, Modulus) অপারেটর। মডুলাস কোন সংখ্যাকে অপর একটি সংখ্যা দিয় ভাগ করলে যেই ভাগশেষ থাকে তার মান বোঝায়। যেমন 10 কে 3 দ্বারা ভাগ করলে ভাগশেষ 1 থাকে।

অর্থাৎ 10 % 3 = 1

যদি কোন সংখ্যাকে ২ দিয়ে ভাগ করলে ভাগশেষ শুন্য থাকে তাহলে ঐ স্নগখ্যাটি জোড় এবং ভাগশেষ ১ থাকলে ঐ সংখ্যাটি বিজোড় হবে। তাহলে প্রোগ্রামিংটি নিম্ন রূপ হবে-

#include <iostream>
using namespace std;
int main()
{
    int num ;
    cout<<"Enter a number :n";
    cin>>num;
    if(num%2==0)
        cout<<"The number is an even.n";
    else
        cout<<"The number is an odd.n";
    return 0;
}
Output:
Enter a number : 12
The number is an even

 

এখানে int ডাটা টাইপ এর চলক num এর মাঝে একটি সংখ্যা ইনপুট নিবে।

এখন if এর মাঝের কন্ডিশন এ যাচাই করবে num কে 2 দ্বারা ভাগ করলে ভাগশেষ শূন্য হয় কিনা, যদি শূন্য হয় তাহলে if এর মাঝে থাকা কন্ডিশন সত্য। তাই কম্পাইলার if এর মাঝের স্টেটমেন্ট execute করবে।

আর যদি if এর মাঝের কন্ডিশন সত্য না হয় তাহলে else এর মাঝের স্টেটমেন্ট execute করবে।

if অথবা else এর স্টেটমেন্টগুলো সেকেন্ড ব্রাকেট {} এর মাঝে রাখতে হবে, তবে if অথবা else এর যদি একটি মাত্র স্টেটমেন্ট থাকে তখন সেকেন্ড ব্রাকেট {} না দিলেও হবে।

উদাহরণ – ০২

একটু গণিত ও প্রোগ্রামিং (কোন সংখ্যার পরমমান নির্ণয়)

x>0 হলে, x এর পরমমান x

x<0 হলে, x এর পরমমান -x

এবং x=0 হলে, x এর পরমমান 0 হবে।

x এর পরমমানকে |x| প্রতীক দ্বারা প্রকাশ করা হয়। অর্থাৎ,

|x|=x,যদি x>0

|x|=-x,যদি x<0

|x|=0,যদি x=0

 

এখন আমরা যেকোনো বাস্তব সংখ্যার পরমমান বের করার একটি প্রোগ্রাম লিখবো। যেখানে

Input: যে কোনো বাস্তব সংখ্যা
Output: ঐ বাস্তব সংখ্যার পরমমান

 

#include <iostream>
using namespace std;
int main()
{
    int num ;
    cout<<"Enter a number :n";
    cin>>num;
    if(num>0)
        cout<<"num;
    else
        cout<<"-num;
    return 0;
}

 

Input: -2
Output: 2

 

উদাহরণ – ০৩

দুইটি সংখ্যার মধ্যে বৃহত্তম সংখ্যা বের করা

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

#include <iostream>
using namespace std;
int main()
{
    int num1, num2 ;
    cout<<"Enter two numbers :n";
    cin>>num1>>num2;
    if(num1>num2)
        cout<<num1<<" is greater than "<<num2<<"n";
    else
        cout<<num2<<" is greater than "<<num1<<"n";
    return 0;
}

 

সি++ প্রোগ্রামিং – ইনপুট ও আউটপুট

সি++ প্রোগ্রামিং – ইনপুট ও আউটপুট

ইনপুট

যে কোনো প্রোগ্রামিং ভাষাতে ইনপুট বোঝায় যে কোনো ডাটা প্রোগ্রামএ ইনপুট করা। C++ প্রোগ্রামিং লাঙ্গুয়েজ এর কতগুলো built-in functions আছে যা প্রদত্ত ইনপুট পড়ে এবং প্রোগ্রামে প্রবেশ করায়। সি++ প্রোগ্রামিং ভাষায় আমরা cinফাংশন ব্যবহার করে থাকি ডাটা ইনপুট দেয়ার জন্য।

আউটপুট

যে কোনো প্রোগ্রামিং ভাষাতে আউটপুট বোঝায় যে কোনো ডাটা স্ক্রীন এ, প্রিন্টার এ অথবা যেকোনো ফাইল এ দেখানো। cout এর পর << চিহ্ন দিয়ে যা আউটপুটে দেখতে চাই তা লিখতে হবে। কোন ভেরিয়েবল লিখলে তাতে কোন ডাবল কোটেশন (” “) দেয় লাগবে না। তবে কোন স্ট্রিং সরাসরি লিখে আউটপুটে দেখাতে হলে তা ডাবল কোটেশন (” “) এর মাঝে লিখতে হবে।

#include <iostream>
using namespace std;
int main()
{
   int x;
   cout<<"Enter an integer: n"<<x;
   cin>>x;
   if ( x>= 0)
       cout<<"The number is positive.n";
   else
       cout<<"The number is negative.n";
}

 

সি++ প্রোগ্রামিং – অপারেটর

অপারেটর

কম্পাইলারকে যেই সংকেত সমূহ গাণিতিক বা লজিকাল কোন কাজ করার জন্য নির্দেশনা দেয় তাদের কম্পিউটার প্রোগ্রামিং-এ অপারেটর বলে। মনে করো z = (x+y), এখানে x,y,z হলো অপারেন্ড এবং =, + হলো অপারেটর।

ইউনারি অপারেটর (Unary Operator)

যে সকল অপারেটর শুধুমাত্র একটি অপারেন্ড নিয়ে কাজ করে তাদের ইউনারি অপারেটর বলে।
যেমনঃ যোগচিহ্ন (+), বিয়োগ চিহ্ন (-), বৃদ্ধি (++), হ্রাস (–) ইত্যাদি ইউনারি অপারেটর।
যোগচিহ্ন (+) ও বিয়োগ চিহ্ন (-):

উদাহরণঃ int age = +16; int num = -5; float num1 = -num2;

বৃদ্ধি (++), হ্রাস (–):

উদাহরণঃ int i++; int i–; int count++;

i++ বোঝায় i = i + 1 এবং i– বোঝায় i = i – 1;

এখন বৃদ্ধি (++), হ্রাস (–) অপারেটর ভেরিয়েবল এর আগে বসলে আগে (যেমনঃ ++count) ওই ভেরিয়েবল এর মান যথাক্রমে বাড়বে বা কমবে তারপর অন্য কাজ করবে। অনুরূপভাবে বৃদ্ধি (++), হ্রাস (–) অপারেটর ভেরিয়েবল এর পরে বসলে (যেমনঃ count++) আগে অন্যান্য কাজ আগে করবে তারপর ওই ভেরিয়েবল এর মান যথাক্রমে বাড়বে বা কমবে।

উদাহরণ

নিচের উদাহরণ গুলো দেখলে আরো সহজে বুঝতে পারবে।

#include <iostream>
using namespace std;
int main()
{
   int count, number;
   count = 4;
   number = count++;
   cout<<number;
   return 0;
}
Output: 4

উপরের প্রোগ্রাম এ number = count++; বিদ্যমাণ, count এর পর ++ থাকার করনে, count এর মান এক বাড়ানোর আগে number = count হবে তার পর count এর মান এক বাড়াবে।

উদাহরণ

#include <iostream>
using namespace std;
int main()
{
   int count, number;
   count = 4;
   number = ++count;
   cout<<number;
   return 0;
}
Output: 5

 

উপরের প্রোগ্রাম এ number = ++count; বিদ্যমাণ, count এর আগে ++ থাকার করনে, count এর মান এক বাড়াবে তারপর number = count হবে।

অপারেটরগুলোকে আরো কয়েক ভাগে ভাগ করা যায়। যেমনঃ

  1. অ্যারিথমেটিক অপারেটর
  2. এসাইনমেন্ট অপারেটর
  3. রিলেশনাল অপারেটর
  4. লজিকাল অপারেটর
  5. বিটওয়াইজ অপারেটর
  6. টাইপ কাস্টিং

১) অ্যারিথমেটিক অপারেটরঃ

অ্যারিথমেটিক অপারেটর সম্পর্কে জানাতে হলে নিচের কোডটি তোমার কম্পাইলারে লিখে কম্পাইল ও রান করো তুমি নিজেই বুঝে যাবে।

যোগ করার জন্য + অপারেটর
বিয়োগ করার জন্য - অপারেটর
গুন করার জন্য * অপারেটর
ভাগ করার জন্য / অপারেটর ব্যবহার করা হয়
ভাগশেষ বের করার জন্য % অপারেটর ব্যবহার করা হয়

মডুলাস অপারেটর

নতুন একটি অপারেটর মডুলাস(%, Modulus) অপারেটর। মডুলাস কোন সংখ্যাকে অপর একটি সংখ্যা দিয় ভাগ করলে যেই ভাগশেষ থাকে তার মান বোঝায়। যেমন 10 কে 3 দ্বারা ভাগ করলে ভাগশেষ 1 থাকে।

#include <iostream>
using namespace std;
int main()
{
   int a, b;
   a = 10;
   b = 3;
   cout<<"a + b = "<<a + b<<"n";
   cout<<"a - b = "<<a - b<<"n";
   cout<<"a * b = "<<a * b<<"n";
   cout<<"a / b = "<<a / b<<"n";
   cout<<"a % b = "<<a % b<<"n";
}
a + b = 13
a - b = 7
a * b = 30
a / b = 3
a % b = 1

২) এসাইনমেন্ট অপারেটরঃ

কোন ভেরিয়েবল এর মাঝে কোন মান রাখার জন্য এসাইনমেন্ট অপারেটর ব্যবহার করা হয়। যেমনঃ num1 ও num2 এর যোগফল num3 এর মাঝে রাখতে হবে, তাহলে লিখতে হবে num3 = num1+num2; এখানে num1+num2 = num3 লেখা যাবে না।

num3 = num1+num2    num3 = (num1+num2)
a+=b                a = a+b
a-=b                a = a-b
a*=b                a = a*b
a/=b                a = a/b

 

This topic is not complete. Comming soon :)

সি++ প্রোগ্রামিং – স্ট্রিং(String) ডাটা টাইপ

সি++ প্রোগ্রামিং – স্ট্রিং(String) ডাটা টাইপ

স্ট্রিং

সি++ প্রোগ্রামিং ভাষাতে স্ট্রিং একটি নতুন ডাটা টাইপ হিসেবে ধরা হয়।

তবে অবশ্যই standard library (header <string>) অন্তর্ভুক্ত করতে হবে। Code::Blocks এ হেডার ফাইলে ইহা অন্তর্ভুক্ত না করলে error দেখায় না। কিন্তু অবশ্যই standard library (header <string>) অন্তর্ভুক্ত করতে হবে।

স্ট্রিং ডিক্লেয়ার করাঃ

string name = "Faisal";
string name ("Faisal");
string name {"Faisal"};
// my first string
#include <iostream>
#include <string>
using namespace std;
int main ()
{
  string name;
  name = "This is a string";
  cout << mystring;
  return 0;
}
Output: This is a string

C-plus-plus String Data Type

সি++ প্রোগ্রামিং – character ডাটা টাইপ

সি++ প্রোগ্রামিং – character ডাটা টাইপ

char (character) ডাটা টাইপ এর ময়নাতদন্ত

কোন বর্ণ বা চিহ্ন সংরক্ষণ করার জন্য char ডাটা টাইপ এর ভেরিয়েবল ব্যবহার করা হয়।
a) char বর্ণ বা চিহ্নের ডাটা টাইপ বোঝায়।
b) কোন বর্ণ বা চিহ্ন সংরক্ষণ করার জন্য char ডাটা টাইপ এর ভেরিয়েবল ব্যবহার করা হয়।
c) char এর ডাটা টাইপের জন্য মেমরিতে 1 বাইট (8 বিট) জায়গা বরাদ্দ হয়।
d) char এর ডাটা টাইপ একটির বেশি character ধারণ করতে পারে না। e) char এর ডাটা টাইপ এর ভেরিয়েবল এ রাখা character টি single quotes এর মাঝে রাখতে হয়। যেমনঃ char ch = ‘A’;

উপরের লেখা গুলোর কিছুই বুঝি নাই ? シ তাহলে তোমার কোড::ব্লকস(Code::Blocks) open করে আমার সাথে নিচের কোড গুলি লিখে কম্পাইল ও রান করো। シ

#include <iostream>
using namespace std;
int main()
{
    char ch;
    cout<<"Enter a character.n";
    cin>>ch;
    cout<<"You typed "<<ch<<".n";
}
Sample Input: A
Output:You typed A.

 

সি++ প্রোগ্রামিং – character ডাটা টাইপ

সি++ প্রোগ্রামিং – float ডাটা টাইপ

সি++ প্রোগ্রামিং – float ডাটা টাইপ

float ডাটা টাইপ এর ময়নাতদন্ত

একটি ভগ্নাংশের(floating number) ভেরিয়েবল ডিক্লারেশন করার জন্য float ব্যবহার করা হয়। যেমন দুইটি পূর্ণসংখ্যা 12.023432 এবং 3.893213, সংখ্যা দুইটির যোগফল 12.023432+3.893213 = 15.916645 ।
a) float ভগ্নাংশের ডাটা টাইপ বোঝায়।
b) একটি ভগ্নাংশের(floating number) মান ধারণ করার জন্য float ডাটা টাইপ এর ভেরিয়েবল ব্যবহার করা হয়।
c) float ডাটা টাইপ 2/4 বাইট-এ পূর্ণসংখ্যার মান সংরক্ষণ করে। আমাদের ব্যবহৃত কম্পিউটার এর CPU তে যেই প্রসেসর থাকে তার উপর নির্ভর করে পরিবর্তিত হয়। আমাদের কম্পিউটার-এ 16 বিট প্রসেসর ব্যবহার করলে float এর ডাটা টাইপের জন্য মেমরিতে 2 বাইট (16 বিট) জায়গা বরাদ্দ হয়।
d) আবার আমাদের কম্পিউটার-এ 32 বিট প্রসেসর ব্যবহার করলে float এর ডাটা টাইপের জন্য মেমরিতে 4 বাইট (32 বিট) জায়গা বরাদ্দ হয়। আমরা সচারাচর 32 বিট এর কম্পিউটার ব্যবহার করে থাকি ও কোড::ব্লকস(Code::Blocks) 32 বিট এর “Program File” এ ইন্সটল হয়, অর্থাৎ আমাদের কম্পিউটার 32/64 বিট এর হোক না কেনো,float এর ডাটা টাইপের জন্য মেমরিতে 4 বাইট জায়গা বরাদ্দ হবে।
e) float ভগ্নাংশের ডাটা টাইপ এ দশমিক এর পর ৬ ঘর পর্যন্ত মান বসে।
উপরের লেখা গুলোর কিছুই বুঝি নাই ? シ তাহলে তোমার কোড::ব্লকস(Code::Blocks) open করে আমার সাথে নিচের কোড গুলি লিখে কম্পাইল ও রান করো। シ

ভাগ করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 10 এবং 3, প্রথম সংখ্যাকে দ্বিতীয় সংখ্যা দিয়ে ভাগ করলে ভাগফল 10 ÷ 3 = 3.333333, নিচের কোড আমাদের কম্পাইলারে কম্পাইল ও রান করালে আউটপুট স্ক্রিনে দেখানো হবে “10.000000 divided by 3.000000 is 3.333333 .”

#include <iostream>
using namespace std;
int main()
{
   float num1,num2,num3;
   num1 = 10;
   num2 = 3;
   num3 = num1 / num2;
   cout<<num1<<" divided by "<<num2<<" is "<<num3<<".n";
}
Output: 10 divided by 3 is 3.333333 .

 

double ডাটা টাইপ এর ময়নাতদন্ত

double ডাটা টাইপ float ডাটা টাইপের মতই। একটি বড় ভগ্নাংশের(floating number) ভেরিয়েবল ডিক্লারেশন করার জন্য double ব্যবহার করা হয়। যেমন দুইটি পূর্ণসংখ্যা 12.023432 এবং 3.893213 । সংখ্যা দুইটির যোগফল 12.023432+3.893213 = 15.916645 ।
a) double ভগ্নাংশের ডাটা টাইপ বোঝায়।
b) একটি বড় ভগ্নাংশের(floating number) মান ধারণ করার জন্য double ডাটা টাইপ এর ভেরিয়েবল ব্যবহার করা হয়।
c) double এর ডাটা টাইপের জন্য মেমরিতে 8 বাইট (64 বিট) জায়গা বরাদ্দ হয়
d) double ভগ্নাংশের ডাটা টাইপ এ দশমিক এর পর 6 ঘর পর্যন্ত মান

 

# সি++ float ডাটা টাইপ

সি++ প্রোগ্রামিং – রিটার্ণ শূন্য নিয়ে কিছু কথা

সি++ প্রোগ্রামিং – রিটার্ণ শূন্য নিয়ে কিছু কথা

কোন ফাংশন “return 0;” পাওয়া মাত্র ওই ফাংশন এর কাজ শেষ হয়। অর্থাৎ ফাংশন যদি “return 0;” প্রথমেই মেইন ফাংশন এর মাঝে থাকতো তাহলে কম্পাইলার ওইখানেই কম্পাইল করা থামিয়ে দিতো। বলে রাখি কম্পাইলার লাইন বাই লাইন পড়ে কম্পাইল করে। নিচের কোডটি দেখো।

#include <iostream>
using namespace std;
int main()
{
   return 0;
   int num1,num2,num3;
   num1 = 12;
   num2 = 3;
   num3 = num1 + num2;
   cout<<"Sum of two numbers is "<<num3<<".n";
}
Output: কোনো কিছুই আউটপুট স্ক্রিনে দেখাবে না।

main() ফাংশন এর মাঝে প্রথমেই "return 0;" পাওয়ায় কম্পাইলার ওইখানেই কম্পাইল করা থামিয়ে দি্বে।তাই পরের অংশ আর কম্পাইলার পড়বে না। যেহেতু নিচের অংশগুলো কম্পাইলার পড়েনি তাই আউটপুট এ কিছুই দেখবে না।

সি++ প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – দ্বিতীয় পর্ব

সি++ প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – দ্বিতীয় পর্ব

যোগ করার জন্য + অপারেটর 
বিয়োগ করার জন্য - অপারেটর 
গুন করার জন্য * অপারেটর 
ভাগ করার জন্য / অপারেটর ব্যবহার করা হয়।

গুন করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 10 এবং 3, প্রথম সংখ্যাকে দ্বিতীয় সংখ্যা দিয়ে গুন করলে গুনফল 10 * 3 = 30 হবে।

#include <iostream>
using namespace std;
int main()
{
   int num1,num2,num3;
   num1 = 10;
   num2 = 3;
   num3 = num1 * num2;
   cout<<num1<<" multiplied by "<<num2<<" is "<<num3<<"/n";
   return 0;
}
Output: 10 multiplied by 3 is 30.


ভাগ করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 10 এবং 3, প্রথম সংখ্যাকে দ্বিতীয় সংখ্যা দিয়ে ভাগ করলে ভাগফল 10 ÷ 3 = 3.333, কিন্তু আমরা যখন 10 এবং 3 কে int ডাটা টাইপ এর ভেরিয়েবল এ রাখবো তখন দশমিক সংরক্ষণ করতে পারবো না। তাই নিচের কোড আমাদের কম্পাইলারে কম্পাইল ও রান করালে আউটপুট স্ক্রিনে দেখানো হবে “10 divided by 3 is 3.” এই সমস্যা সমাধানের জন্য আমাদের নতুন একটি ডাটা টাইপ float অথবা double ব্যবহার করা হয়।

#include <iostream>
using namespace std;
int main()
{
   int num1,num2,num3;
   num1 = 10;
   num2 = 3;
   num3 = num1 / num2;
   cout<<num1<<" divided by "<<num2<<" is "<<num3<<"/n";
   return 0;
}
Output: 10 divided by 3 is 3.

 

সি++ প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – প্রথম পর্ব

সি++ প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – প্রথম পর্ব

পূর্ণসংখ্যার (Integer) ডাটা টাইপ এর ময়নাতদন্ত

একটি পূর্ণসংখ্যার (integer number) ভেরিয়েবল ডিক্লারেশন করার জন্য int ব্যবহার করা হয়। যেমন দুইটি পূর্ণসংখ্যা 12 এবং 3 , সংখ্যা দুইটির যোগফল 12+3 = 15 ।

  1. int পূর্ণসংখ্যার ডাটা টাইপ বোঝায়।
    একটি পূর্ণসংখ্যার (integer) মান ধারণ করার জন্য int ভেরিয়েবল ব্যবহার করা হয়।
  2. পূর্ণসংখ্যার ডাটা টাইপ 2/4 বাইট-এ পূর্ণসংখ্যার মান সংরক্ষণ করে। আমাদের ব্যবহৃত কম্পিউটার এর CPU তে যেই প্রসেসর থাকে তার উপর নির্ভর করে পরিবর্তিত হয়।
    আমাদের কম্পিউটার-এ 16 বিট প্রসেসর ব্যবহার করলে int এর ডাটা টাইপের জন্য মেমরিতে 2 বাইট (16 বিট) জায়গা বরাদ্দ হয়।
  3. আবার আমাদের কম্পিউটার-এ 32 বিট প্রসেসর ব্যবহার করলে int এর ডাটা টাইপের জন্য মেমরিতে 4 বাইট (32 বিট) জায়গা বরাদ্দ হয়।
    আমরা সচারাচর 32 বিট এর কম্পিউটার ব্যবহার করে থাকি ও কোড::ব্লকস(Code::Blocks) 32 বিট এর “Program File” এ ইন্সটল হয়, অর্থাৎ আমাদের কম্পিউটার 32/64 বিট এর হোক না কেনো,int এর ডাটা টাইপের জন্য মেমরিতে 4 বাইট জায়গা বরাদ্দ হবে।
  4. int ভেরিয়েবল যদি 2 বাইট এর হয় তাহলে -32,768 থেকে +32,767 পর্যন্ত মান সংরক্ষণ করতে পারে।
  5. int ভেরিয়েবল যদি 4 বাইট এর হয় তাহলে -2,147,483,648 থেকে +2,147,483,647 পর্যন্ত মান সংরক্ষণ করতে পারে।


দুইটি পূর্ণসংখ্যা 12 এবং 3, এখন 12 কে 3 দ্বারা ভাগ করলে ভাগফল হবে 4, কিন্তু যদি দুইটি পূর্ণসংখ্যা 10 এবং 3 হয়, তাহলে 10 কে 3 দ্বারা ভাগ করলে ভাগফল হবে 3.3333, ভাগফলএ দশমিক বিদ্যমান। পূর্ণসংখ্যার (Integer) ডাটা টাইপ int এর ভেরিয়েবল ভগ্নাংশ সংরক্ষণ করতে পারে না। এক্ষেত্রে নতুন একটি ডাটা টাইপ float অথবা double ব্যবহার করা হয়।

  • int পূর্ণসংখ্যার ডাটা টাইপ দশমিক মান সংরক্ষণ করতে পারে না।
  • int পূর্ণসংখ্যার ডাটা টাইপ এ দশমিক এর পরের অংশ বাদ যায়। যেমনঃ 10 ÷ 3 = 3.3333 না হয়ে 3 হবে, দশমিক এর পরের অংশ বাদ যায়।

উপরের লেখা গুলোর কিছুই বুঝি নাই ? シ তাহলে তোমার কোড::ব্লকস(Code::Blocks) open করে আমার সাথে নিচের কোড গুলি লিখে কম্পাইল ও রান করো। シ

int ডাটা টাইপ এর ময়নাতদন্তের মূল অংশ (কোড লিখা)

যোগ করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 12 এবং 3, সংখ্যা দুইটির যোগফল 12+3 = 15 , এখন মনে করো আমি যোগ করতে পারি না। シ কিন্তু আমি কিন্তু সি++ প্রোগ্রামিং ভাষায় কোড লিখতে পারি। তো এখন দুইটি সংখ্যা যোগ করার জন্য আমার কাছে একটা উপায় হল সি++ দিয়ে যোগ করার একটি কোড লিখে ফেলা। চলো লিখে ফেলি। তুমি হয়তো ভাবছো তুমি যোগ করতে পারো তাহলে তোমার তো সি++ দিয়ে যোগ করার কোড লেখার কোনো দরকার নেই। না দরকার আছে, বলছি কেনো দরকার। প্রথম প্রথম যতো বেশি কোড লিখবে ততোবেশি ভালো ভাবে সি++ দিয়ে কোড লেখা আয়ত্ত করতে পারবে।

// Determining Sum of Two number
#include <iostream>
using namespace std;
int main()
{
   int num1,num2,num3;
   num1 = 12;
   num2 = 3;
   num3 = num1 + num2;
   cout<<"Sum of two numbers is "<<num3<<"/n";
   return 0;
}
Output: Sum of two numbers is 15.

কোডের ব্যাখ্যা: এখানে তিনটি int ডাটা টাইপ এর ভেরিয়েবল বিদ্যমান যথাক্রমে num1, num2 ও num3, যা মেমরিতে এই তিনটি ভেরিয়েবল এর জন্য 4 বাইট করে তিনটি জায়গা নিয়ে নিবে। এখন num1 = 12 ও num2 = 3 মানে num1 এর মা 12 এবং num2 এর মান 3 করলাম। এটাকে assign করা বলে। এখন num3 = num1 + num2; অর্থাৎ num3 এর মাঝে num1 ও num2 এর যোগফল রাখলাম।

যোগ করার জন্য + অপারেটর
বিয়োগ করার জন্য - অপারেটর
গুন করার জন্য * অপারেটর
ভাগ করার জন্য / অপারেটর ব্যবহার করা হয়।

 

সি++ প্রোগ্রামিং ভাষার একটি অনন্য বৈশিষ্ট্য হল এটি case sensitive, অর্থাৎ কম্পাইলারের upper case এবং lower case এর জন্য আলাদা গুরুত্ব বহন করে। তুমি লিখেছো int num; এখন মান রাখার সময় যদি লিখো “Num = 2;” তাহলে কম্পাইলার এরর বার্তা দিবে কেননা তুমি ডিক্লিয়ার করেছো int num। আবার যদি cout এর জায়গায় Cout বা COUT লিখো তাহলেও কম্পাইলার error বার্তা দিবে।

বিয়োগ করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 12 এবং 3, প্রথম সংখ্যা দ্বিতীয় সংখ্যার বিয়োগফল 12-3 = 9 । এখন মনে করো আমি বিয়োগও করতে পারি না। シ কিন্তু তাতে কি ! আমি তো কিন্তু সি প্রোগ্রামিং ভাষায় কোড লিখতে পারি। তো এখন প্রথম সংখ্যা হতে দ্বিতীয় সংখ্যার বিয়োগফল বের করার জন্য আমার কাছে একটা উপায় হল সি দিয়ে বিয়োগ করার একটি কোড লিখে ফেলা। চলো লিখে ফেলি। তুমি হয়তো ভাবছো তুমি বিয়োগ করতে পারো তাহলে তোমার তো সি দিয়ে বিয়োগ করার কোড লেখার কোনো দরকার নেই। আগেই বলেছি দরকার আছে, প্রথম প্রথম যতো বেশি কোড লিখবে ততোবেশি ভালো ভাবে সি দিয়ে কোড লেখা আয়ত্ত করতে পারবে।

#include <iostream>
using namespace std;
int main()
{
   int num1,num2,num3;
   num1 = 12;
   num2 = 3;
   num3 = num1 - num2;
   cout<<"Difference of two numbers is"<<num3<<"/n";
   return 0;
}
Output: Difference of two numbers is 9.

এখানে তিনটি int ডাটা টাইপ এর ভেরিয়েবল বিদ্যমান যথাক্রমে num1, num2 ও num3, যা মেমরিতে এই তিনটি ভেরিয়েবল এর জন্য 4 বাইট করে তিনটি জায়গা নিয়ে নিবে। এখন num1 = 12 ও num2 = 3 মানে num1 এর মা 12 এবং num2 এর মান 3 করলাম। এটাকে assign করা বলে। এখন num3 = num1 – num2; অর্থাৎ num3 এর মাঝে প্রথম সংখ্যা (num1) হতে দ্বিতীয় সংখ্যার( num2) বিয়োগফল রাখলাম।

সি++ প্রোগ্রামিং ভাষার একটি অনন্য বৈশিষ্ট্য হল এটি case sensitive, অর্থাৎ কম্পাইলারের upper case এবং lower case এর জন্য আলাদা গুরুত্ব বহন করে। তুমি লিখেছো int num; এখন মান রাখার সময় যদি লিখো “Num = 2;” তাহলে কম্পাইলার এরর বার্তা দিবে কেননা তুমি ডিক্লিয়ার করেছো int num। আবার যদি cout এর জায়গায় Cout বা COUT লিখো তাহলেও কম্পাইলার error বার্তা দিবে।

এভাবে যোগ, বিয়োগ, গুণ, ভাগ এর সহজ প্রোগ্রাম তুমি লিখে ফেলতে পারো। তবে int ডাটা টাইপ এর ভেরিয়েবল এ সর্বদা পূর্ণসংখ্যা ব্যবহৃত হবে।

সি++ প্রোগ্রামিং ডাটা টাইপ

সি++ প্রোগ্রামিং ডাটা টাইপ

সি++ প্রোগ্রামিং ভাষায় কয়েকটি মূল ডাটা টাইপ আমরা বেশি ব্যবহার করি। ডাটা টাইপগুলো ভেরিয়েবল সংজ্ঞায়িত করার জন্য ব্যবহৃত হয়।

১. int [পূর্ণসংখ্যা (integer) ভেরিয়েবল বোঝানোর জন্য]
২. float [ভগ্নাংশ (floating) ভেরিয়েবল বোঝানোর জন্য] ৩. char [character ভেরিয়েবল বোঝানোর জন্য] ৪. string [ অনেক গুলো character নিয়ে string তৈরি হয়]

সি++ প্রোগ্রামিং – ধ্রুবক

সি++ প্রোগ্রামিং – ধ্রুবক

ধ্রুবক (Constant)

ধ্রবক (Constant) নির্দিষ্ট মান বোঝায় যা প্রোগ্রাম এ প্রথম থেকে শেষ পর্যন্ত একই থাকে। যেমন মনে করো তোমার প্রোগ্রাম এ কোথাও পাই(π) ব্যবহার করা লাগবে, এখন প্রোগ্রাম এর কোথাও পাই এর মান এর পরিবর্তন হবে না। নম্বর, অক্ষর, স্ট্রিং সবই প্রোগ্রাম এ ধ্রবক (Constant) হিসেবে ব্যবহৃত হয়। প্রোগ্রাম এ ধ্রবক (Constant) ব্যবহার করা হলে int, char, float, double ইত্যাদি ডাটা টাইপ এর ভেরিয়েবল এর মান পরিবর্তন করা যায় না।

অনেক রকম ধ্রবক (Constant) হতে পারে, যেমনঃ-

  1. Integer constants,
  2. Floating-point constants,
  3. Character constants,
  4. String constants

কোন ডাটা ধ্রবক হিসেবে ব্যবহার করতে হলে তার ডাটা টাইপের পূর্বে const কীওয়ার্ড ব্যবহার করতে হয়। যেমনঃ

const int length = 12;
const char ch = 'A';
const float pi = 3.1416;
const char name[] = "icche code";

সি++ প্রোগ্রামিং ভাষায় ধ্রবক define প্রিপ্রসেসর দিয়েও ডিক্লেয়ার করা যায়।

যেমনঃ#define PI = 3.1416

আমরা জানি, কোন বৃত্তের ব্যাসার্ধ r হলে, বৃত্তের ক্ষেত্রফল πr^2। এখন এমন একটি প্রোগ্রাম লিখতে হবে যাতে বৃত্তের ব্যাসার্ধর মান ইনপুট দিলে আউটপুটে ঐ বৃত্তের ক্ষেত্রফল এর মান প্রিন্ট করবে।

#প্রথম কোড
ধ্রুবক – প্রথম উদাহরণ

using namespace std;
int main()
{
const float PI = 3.1416;
float radius, area;
cin>>radius;
area = PI * r * r;
cout<<"The area of the circle is "<<area<<"\n");
return 0;
}

দ্বিতীয় কোড

#include <iostream>
using namespace std;

#define PI 3.1416
int main()
{
   float radius, area;
   cin>>radius;
   area = PI * r * r;
   cout<<"The area of the circle is "<<area<<"\n");
}

 

Output: The area of the circle is 20.

সি++ প্রোগ্রামিং এ আমরা কিছু ব্যাকস্লাস ধ্রুবক ব্যবহার করি। ইতিমধ্যে তোমরা “n” সম্পর্কে জেনেগেছো, যা একটি নতুন লাইন প্রিন্ট এর জন্য ব্যবহিত হয়।

সি++ প্রোগ্রামিং – ধ্রুবক

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি++ প্রোগ্রামিং – চলক

সি++ প্রোগ্রামিং – চলক

সি++ প্রোগ্রামে কোন সংখ্যা রাখা এবং তা নিয়ে নানা রকম কাজ করা হয় বোঝার জন্য চলকের প্রয়োজন। এখানে সি++ প্রোগ্রামিং এ চলক নিয়ে আলোচনা করা হয়েছে।

মনে করো তোমাকে কম্পিউটার দুইটি সংখ্যা ইনপুট নেয়া লাগবে। কোথায় রাখবে ? মনে করো তোমাকে পানি সংরক্ষণ করতে হবে। তার জন্য দরকার একটি পাত্র। ঠিক তেমনি কম্পিউটার এ কিছু সংখ্যা ইনপুট নিয়ে তা রাখার জন্য ভেরিয়েবল দরকার।

অনেক রকম ভেরিয়েবল (Variable) হতে পারে, যেমনঃ-

  1. Integer Variabl,
  2. Floating-point Variabl,
  3. Character Variabl,
  4. String Variabl
// my first string
#include <iostream>
#include <string>
using namespace std;

int main ()
{
  string mystring;
  mystring = "This is a string";
  cout << mystring;
  return 0;
}
এখানে mystring নামে একটি ভেরিয়েবল ডিক্লেয়ার করা হয়েছে।

সি++ প্রোগ্রামিং – চলক

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি++ প্রোগ্রামিং আইডেন্টিফায়ার

সি++ প্রোগ্রামিং আইডেন্টিফায়ার

আইডেন্টিফায়ার

প্রোগ্রাম এর উপাদানগুলো যেমন ভেরিয়েবল, ধ্রুবক, ফাংশন, যে কোনো ডাটা ইত্যাদির যেই নাম দেয়া হয় তাই আইডেন্টিফায়ার। সি++ প্রোগ্রামিং ভাষায় আইডেন্টিফায়ার আলফানিউমেরিক অক্ষরের সংমিশ্রণে গঠিত। এর প্রথম বর্ণমালার একটি অক্ষর(uppercase or lowercase) বা একটি নিম্নরেখা(underline) দিয়ে শুরু হয়। পরে যেকোনো অক্ষর বা নম্বর বস্তে পারে।

আইডেন্টিফায়ার নামকরনের নিয়মাবলীঃ

১. প্রথম অক্ষর অবশ্যই analphabet (uppercase or lowercase) অথবা নিম্নরেখা (underscore) হতে হবে।
যেমনঃ var1, _var, var_1 ইত্যাদি ভেরিয়েবল বা ফাংশন এর নাম হিসেবে ব্যবহার করা যাবে। কিন্তু 1var, %var, @var ইত্যাদি ভেরিয়েবল বা ফাংশন এর নাম হিসেবে ব্যবহার করা যাবে না।
২. underscore বাদে অন্য কোন বিশেষ অক্ষর বা punctuatio চিহ্ন ব্যবহার করা যাবে না।
৩. কোন কীওয়ার্ড এর নাম ভেরিয়েবল হিসেবে লেখা যাবে না। যেমন, int, chat, float ইত্যাদি ভেরিয়েবল হিসেবে লেখা অবৈধ। কিন্তু Int, FLOAT, CHAR ইত্যাদি ভেরিয়েবল এর নাম হিসেবে ব্যবহার করা যাবে।
৪. সি++ প্রোগ্রামিং ভাষার একটি অনন্য বৈশিষ্ট্য হল এটি case sensitive, অর্থাৎ কম্পাইলারের upper case এবং lower case এর জন্য আলাদা গুরুত্ব বহন করে। তুমি লিখেছো int num; এখন মান রাখার সময় যদি লিখো “Num = 2;” তাহলে কম্পাইলার এরর বার্তা দিবে কেননা তুমি ডিক্লিয়ার করেছো int num। আবার যদি cout এর জায়গায় COUT বা COut লিখো তাহলেও কম্পাইলার এরর বার্তা দিবে।

কোন সরল দোলকের ঝুলন বিন্দু হতে ববের ভরকেন্দ্র পর্যন্ত দৈর্ঘ্যকে সরল দোলকের কার্যকরী দৈর্ঘ্য L বলে। সুতার দৈর্ঘ্য l এবং ববের ব্যসার্ধ r হলে সরল দোলকের কার্যকরী দৈর্ঘ্য L = l + r হবে। এখন এমন একটি প্রোগ্রাম লিখো যাতে সুতার দৈর্ঘ্য এবং ববের ব্যসার্ধ ইনপুট দেয়া হলে আউটপুট এ সরল দোলকের কার্যকরী দৈর্ঘ্য এর মান দেখাবে ।

#include <iostream>
using namespace std;
int main()
{
   float _length,radius,effective_length;
   cin>>_length>>radius;
   effective_length = _length + radius;
   cout<<"Effective Length is "<< effective_length<<"n";
}
Sample in put: 2 3
Output: Effective Length is 5

 

এখানে _length, radius ও effective_length তিনটি float ডাটা টাইপ এর ভেরিয়েবল। যদি %length, 1radius ইচ্যাদি নামে ভেরিয়েবল ডিক্লেয়ার করি তা কম্পাইলারে এরর দেখাবে। আবার “int _length,radius,effective_length;” নামে ভেরিয়েবল ডিক্লেয়ার করে যদি “scanf(“%f %f”,&_Length, &RADIUS);” লিখলেও কম্পাইলার এরর দেবে। কেননা _length,radius এবং _Length,RADIUS সি++ প্রোগ্রামিং ভাষায় একই বোঝায়

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি++ প্রোগ্রামের গঠন

একটি সরল সি++ প্রোগ্রাম (সি++ প্রোগ্রামের গঠন)

নিচের সাধারণ সি++ প্রোগ্রামটি মনে রাখি এবং সামনের লেকচার গুলিতে এগিয়ে যাই। আরো ২-৩ টা লেকচার পড়লেই ভালভাবে বোঝা যাবে। যেহেতু সকল C++ প্রোগ্রাম এর common syntax একই রকম তাই প্রথমে আমরা এমন একটা খুবই সাধারণ C++ প্রোগ্রাম দেখি যা run করলে Hello World print করবে। এই প্রোগ্রামটি বুঝতে পারলে C++ এর অন্যান্য প্রোগ্রাম গুলো বুঝতে সুবিধা হবে।

#include <iostream>
using namespace std;

int main ()
{
   cout << "Hello World";
   return 0;
}

উপরের প্রোগ্রামটিতে প্রথম লাইনে #include হল Preprocessor Commands।
দ্বিতীয় লাইনেint main() বিদ্যমান। প্রতিটি সি++ প্রোগ্রামএ main() ফাংশন থাকবেই।int হচ্ছে main() ফাংসন এর return type অর্থাত integer টাইপ value return করবে।
উপরের প্রোগ্রামটিতে

{
   cout << "Hello World";
   return 0;
}

প্রোগ্রাম এর এই অংশকে প্রোগ্রাম এর body বলে। >এখানে cout হচ্ছে নিজে আর একটা ফাংশন যা কোনো কিছু print করে।

সি++ প্রোগ্রাম লেখার পূর্বে

সি++ প্রোগ্রামিং ভাষায় যেকোনো কোড লেখার পূর্বেই নিচের অংশটুকু লিখে ফেলবে। কেননা সব সি++ প্রোগ্রাম এ নিচের অংশটুকু থাকবেই।

#include <iostream>
using namespace std;
int main ()
{
   /*কোড এখানে লিখতে হবে।*
   return 0;
}

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি++ প্রোগ্রাম লেখা এবং কম্পাইল করা

সি++ প্রোগ্রাম লেখা এবং কম্পাইল করা

কম্পাইলার-এ প্রোগ্রাম লেখা এবং কম্পাইল করা

কোড::ব্লকস(Code::Blocks) এ প্রোগ্রাম লেখার জন্য নিচের ধাপ গুলো অনুসরণ করোঃ-
ধাপ ১কোড::ব্লকস(Code::Blocks) সফটওয়্যারটি Open করো।

codeblocks

 

ধাপ ২এবার একটি নতুন একটি Empty File খুলতে হবে। File >>New >>Empty File

ধাপ ৩এখন ফাইলটি save করো। খেয়াল রাখবে যেখানে save করছো ওই খানেই তোমার সকল সি++ প্রোগ্রামগুলো রাখতে, তাহলে পরবর্তীতে খুঁজে পেতে সুবিধা হবে। ফাইলের নাম তোমার ইচ্ছা মতো দিলেই হবে, তবে পরবর্তীতে যাতে বোঝা যায় এটা কিসের কোড সেইভাবেই নাম দেয়া ভালো। save করার সময় অবশ্যই ফাইলের নামের শেষে .cpp রাখতে হবে। আমি আমার সি প্রোগ্রাম এর নাম দিয়েছি HelloWorld.cpp

codeblocks_6

 

এবার সি++ প্রোগ্রামটি লিখে ফেলি। প্রথমে কিচ্ছু বোঝা লাগবে না চোখ বন্ধ করে নিচের কোডটি কোড ব্লকস এ লিখে রান করি। পরের অধ্যায়ে বিস্তারিত আলোচনা করা হবে।

#include <iostream>
using namespace std;

int main ()
{
  cout << "Hello World! ";
}

codeblocks_7

 

কোড::ব্লকস(Code::Blocks)-এ Build and run এ ক্লিক করলে আমাদের প্রগ্রামটি প্রথমে কম্পাইল হবে ও পরে run করবে।

codeblocks_8

#সি++ প্রোগ্রাম লেখা এবং কম্পাইল করা

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।