
Problem :
Simple Calculator Application using Switch
switch ব্যবহার করে নির্দিষ্ট অপারেশন চালানো।case এর ব্যবহার এবং ভুল অপারেটর চেক করার জন্য default.scanf() দিয়ে দুটি সংখ্যা এবং একটি অপারেটর ইনপুট নেওয়া হবে।
switch দিয়ে অপারেটর চেক করে কাজ করানো।switch(operator)
{
case '+' → যোগফল
case '-' → বিয়োগ
case '*' → গুণ
case '/' → ভাগ
default → ভুল অপারেটর
}
#include <stdio.h>
int main() {
double num1, num2;
char op;
printf("প্রথম সংখ্যা লিখুন: ");
scanf("%lf", &num1);
printf("অপারেটর লিখুন (+, -, *, /): ");
scanf(" %c", &op); // Notice the space before %c
printf("দ্বিতীয় সংখ্যা লিখুন: ");
scanf("%lf", &num2);
switch(op) {
case '+':
printf("ফলাফল: %.2lf", num1 + num2);
break;
case '-':
printf("ফলাফল: %.2lf", num1 - num2);
break;
case '*':
printf("ফলাফল: %.2lf", num1 * num2);
break;
case '/':
if(num2 != 0)
printf("ফলাফল: %.2lf", num1 / num2);
else
printf("ভাগ করা যাবে না (০ দ্বারা ভাগ নিষিদ্ধ)");
break;
default:
printf("ভুল অপারেটর! অনুগ্রহ করে +, -, *, / দিন।");
}
return 0;
}
ইনপুট:
প্রথম সংখ্যা লিখুন: 20
অপারেটর লিখুন (+, -, *, /): *
দ্বিতীয় সংখ্যা লিখুন: 5
আউটপুট:
ফলাফল: 100.00
ইনপুট:
প্রথম সংখ্যা লিখুন: 15
অপারেটর লিখুন (+, -, *, /): /
দ্বিতীয় সংখ্যা লিখুন: 0
আউটপুট:
ভাগ করা যাবে না (০ দ্বারা ভাগ নিষিদ্ধ)
ইনপুট:
প্রথম সংখ্যা লিখুন: 12
অপারেটর লিখুন (+, -, *, /): -
দ্বিতীয় সংখ্যা লিখুন: 8
আউটপুট:
ফলাফল: 4.00
scanf("%lf", &num1); → ফ্লোট/ডাবল ইনপুট নেয়।scanf(" %c", &op); → অপারেটর ইনপুট নিতে %c এর আগে স্পেস প্রয়োজন।switch(op) → অপারেটরের উপর ভিত্তি করে কোন গাণিতিক অপারেশন চালাবে তা নির্ধারণ করে।default → ভুল অপারেটর দিলে সতর্ক বার্তা দেয়।if(num2 != 0) → ভাগ করার আগে চেক করা হয়, ০ হলে error দেখানো হয়।