Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình tìm ra kiểu dữ liệu người dùng nhập trong C ++

Trong vấn đề này, chúng tôi được cung cấp đầu vào từ người dùng. Nhiệm vụ của chúng tôi là tạo một chương trình để tìm ra kiểu dữ liệu mà người dùng nhập vào trong C ++.

Mô tả sự cố - Chúng tôi sẽ lấy thông tin đầu vào từ người dùng và kiểm tra kiểu dữ liệu của giá trị đầu vào.

Hãy lấy một ví dụ để hiểu vấn đề,

Ví dụ 1:

Đầu vào - 34

Đầu ra - Nó là một số nguyên

Ví dụ 2:

Đầu vào - điểm hướng dẫn

Đầu ra - Nó là một chuỗi

Cách tiếp cận Giải pháp:

Chúng tôi sẽ kiểm tra xem chuỗi đầu vào là một số hay không phải là một số.

Nếu đó là một số, chúng tôi sẽ kiểm tra xem nó là số nguyên hay giá trị thực.

Nếu nó không phải là một số, chúng tôi sẽ kiểm tra xem nó có phải là một chuỗi hay không.

Ví dụ

#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");
}

Đầu vào:

452

Đầu ra:

The input is an integer