Dev - C++ - Numeros enteros y decimales

   
Vista:

Numeros enteros y decimales

Publicado por Daniela (1 intervención) el 30/05/2014 23:03:20
Buenas tardes, quisiera saber como ejecutar un programa en el que al ingresar un numero, por ejemplo 2 me diga es positivo y es entero, pero si ingreso 2.7 que me diga es positivo pero no es entero, y viceversa con los números negativos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de vangodp

Numeros enteros y decimales

Publicado por vangodp (287 intervenciones) el 31/05/2014 06:24:15
Para eso vas a tener que entrar los datos como string ya que el teclado lee caracteres asc2 =)
luego usar funciones como isadigit() isalpha() y otras para determinar si es letra, numero o lo que sea.
y luego aplicar algo como esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <typeinfo>   //incluir typeinfo para usar typeid()
using namespace std;
 
int main () {
	unsigned int variable = 10;  //cambiar el tipo de dato a int char float o lo que quieras y comprobar el funcionamiento ;)
 
	if (typeid(variable) == typeid(unsigned int)){
	  cout << "yes" << endl;
	}else{
	    cout << "no" << endl;
	}
	cin.ignore();
	return 0;
}

Es algo complejo pero no es tan difícil.
Si sabes como trabaja esas funciones pues no creo que te cueste mucho implementar algo, pero si no las conoces te sugiero que primero averigües primero sobre ellas y sus valores de retorno.
El problema que tenemos es que en c/c++ debemos declarar el tipo antes de ingresar el dato, y lo que quieres tu es justo el contrario XDDD
suerte ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Numeros enteros y decimales

Publicado por Pico (24 intervenciones) el 31/05/2014 08:24:50
También puedes capturar como float o double. Si es negativo o no te lo dice si es mayor que 0 o no. Si tiene decimales o no te lo dice si pasándolo a long o int conserva el mismo valor. Mismo valor o aproximado, por so acaso le da por meter el 34 como un 34,0000000000001 en el float.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Numeros enteros y decimales

Publicado por Daniela (1 intervención) el 01/06/2014 00:55:39
si muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar