ในปัญหานี้ เราได้รับอินพุตจากผู้ใช้ งานของเราคือสร้างโปรแกรมตรวจสอบชนิดข้อมูลของอินพุตผู้ใช้ใน C++
คำอธิบายปัญหา – เราจะรับอินพุตจากผู้ใช้และตรวจสอบชนิดข้อมูลของค่าอินพุต
ตัวอย่างเพื่อความเข้าใจ
ตัวอย่าง 1:
อินพุต – 34
เอาต์พุต – It is an integer
ตัวอย่าง 2:
อินพุต – tutorialspoint
เอาต์พุต – It is a string
วิธีแก้ปัญหา:
เราจะตรวจสอบว่าสตริงอินพุตเป็นตัวเลขหรือไม่
ถ้าเป็นตัวเลข เราจะตรวจสอบว่าเป็นจำนวนเต็มหรือทศนิยม
ถ้าไม่ใช่ตัวเลข เราจะตรวจสอบว่าเป็นสตริง
ตัวอย่าง
#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