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