इस प्रॉब्लम में हमें यूजर की तरफ से इनपुट दिया जाता है। हमारा कार्य 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