Validacion de numero int y float

Iniciado por Tan17, 18 Septiembre 2018, 04:26 AM

0 Miembros y 1 Visitante están viendo este tema.

Tan17

Buena noches, ocupo de su guía.


Al iniciar el programa el sistema deberá solicitar al usuario si desea trabajar con valores
enteros o valores de punto flotante (dos decimales).

Según lo seleccionado por el usuario así serán los cálculos a realizar.

Como regla , si el usuario selecciona trabajar con números enteros, el sistema
no deberá permitir que los números ingresados por el usuario sean de punto flotante y
viceversa.

Soy estudiante, es para un trabajo de la U, no estoy pidiendo que me hagan el ejercicio, sino una guía para poder hacerlo.

saludos gracias.

MAFUS

Consigue los números cómo cadenas de texto.
Los enteros no deberán tener más que dígitos, los reales deberán tener, además de dígitos, una coma o punto decimal (según tu país).


Tan17

#3
Ok, gracias

La conversion en cadena de texto seria de esta forma?

#include<iostream>
#include<stdlib.h>

using namespace std;


int main(){

char laCadenaDeentrada[20];
cin.get(laCadenaDeentrada,10,'\n');
float elValorConvertidoAFlotante;

elValorConvertidoAFlotante= atof(laCadenaDeentrada);

cout<<"El valor es: "<<elValorConvertidoAFlotante;



return 0;
}

srWhiteSkull

Si, atof() te da valores flotantes y atoi() valores enteros, te lo cuento porque según indicas en el ejercicio necesitarás las dos.

MAFUS

Pero eso después de controlar la cadena. A atof le puedes pasar un entero y no se quejará, cosa que va contra el enunciado del problema.