এই সমস্যায়, আমাদের ব্যবহারকারীর কাছ থেকে ইনপুট দেওয়া হয়। আমাদের কাজ হল C++ এ ব্যবহারকারীর ইনপুটের ডেটা প্রকার খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা।
সমস্যা বর্ণনা − আমরা ব্যবহারকারীর কাছ থেকে ইনপুট নেব এবং ইনপুট মানের ডেটা প্রকার পরীক্ষা করব।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
উদাহরণ 1:
ইনপুট − 34
আউটপুট - এটি একটি পূর্ণসংখ্যা
উদাহরণ 2:
ইনপুট - টিউটোরিয়ালপয়েন্ট
আউটপুট - এটি একটি স্ট্রিং
সমাধান পদ্ধতি:
আমরা পরীক্ষা করব ইনপুট স্ট্রিংটি একটি সংখ্যা না সংখ্যা নয়৷
যদি এটি একটি সংখ্যা হয়, আমরা এটি একটি পূর্ণসংখ্যা বা একটি ফ্লোট মান কিনা তা পরীক্ষা করব৷
যদি এটি একটি সংখ্যা না হয় তবে আমরা এটি একটি স্ট্রিং কিনা তা পরীক্ষা করব৷
উদাহরণ
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
char input[50] = "";
double temp;
int intVal;
char stringVal[50] = "";
double val = 1e-12;
fgets(input, 100, stdin);
if (sscanf(input, "%lf", &temp) == 1) {
intVal = (int)temp;
if (fabs(temp - intVal) / temp > val)
printf("The input is a floating point\n");
else
printf("The input is an integer\n");
}
else if (sscanf(input, "%s", stringVal) == 1)
printf("The input is a string\n");
else
printf("input not recognized\n");
} ইনপুট:
452
আউটপুট:
The input is an integer