Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรมตรวจสอบชนิดข้อมูลของอินพุตผู้ใช้ใน C++

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