Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 사용자 입력의 데이터 유형을 찾는 프로그램

<시간/>

이 문제에서는 사용자로부터 입력을 받습니다. 우리의 임무는 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