C প্রোগ্রামিং: শর্ত (if-else ও switch)

অধ্যায় ৫: প্রোগ্রামিং ভাষা লেসন ২৯ / ৩৬

if-else

উদাহরণ ১: জোড় না বিজোড়

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    if (n % 2 == 0)
        printf("Even\n");
    else
        printf("Odd\n");
    return 0;
}

উদাহরণ ২: তিনটি সংখ্যার মধ্যে বড়টি

#include <stdio.h>

int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    if (a >= b && a >= c)
        printf("Largest = %d\n", a);
    else if (b >= c)
        printf("Largest = %d\n", b);
    else
        printf("Largest = %d\n", c);
    return 0;
}

উদাহরণ ৩: গ্রেড নির্ণয়

#include <stdio.h>

int main() {
    int m;
    scanf("%d", &m);
    if (m >= 80)      printf("A+\n");
    else if (m >= 70) printf("A\n");
    else if (m >= 60) printf("A-\n");
    else if (m >= 50) printf("B\n");
    else if (m >= 40) printf("C\n");
    else if (m >= 33) printf("D\n");
    else              printf("F\n");
    return 0;
}

ওপর থেকে একটি শর্ত সত্য হলে বাকিগুলো আর দেখা হয় না। তাই এখানে m < 80 আলাদা করে লেখা লাগে না।

switch

একটি চলকের নির্দিষ্ট মান অনুযায়ী কাজ করতে switch সুবিধাজনক।

#include <stdio.h>

int main() {
    int day;
    scanf("%d", &day);
    switch (day) {
        case 1:  printf("Saturday\n"); break;
        case 2:  printf("Sunday\n");   break;
        case 3:  printf("Monday\n");   break;
        default: printf("Other day\n");
    }
    return 0;
}

break না দিলে পরের case-ও চলতে থাকে। কোনো case না মিললে default চলে।

মনে রাখো: if-এ শর্ত যেকোনো রকম হতে পারে; switch শুধু নির্দিষ্ট পূর্ণসংখ্যা বা অক্ষরের মান মেলায়।
অনুশীলনী
  1. একটি বছর অধিবর্ষ কি না নির্ণয়ের প্রোগ্রাম লেখো।
  2. একটি সংখ্যা ধনাত্মক, ঋণাত্মক না শূন্য তা বের করো।
  3. switch-এ break না দিলে কী হয়? উদাহরণ দাও।