ในปัญหานี้ เราได้รับข้อมูลจากผู้ใช้ งานของเราคือสร้างโปรแกรมเพื่อค้นหาประเภทข้อมูลของผู้ใช้ที่ป้อนใน 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