এই সমস্যায়, আমাদের ব্যবহারকারীর কাছ থেকে ইনপুট দেওয়া হয়। আমাদের কাজ হল 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