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.
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).
Casualmente lo mismo que en este hilo, https://foro.elhacker.net/programacion_cc/duda_sobre_mi_programa_en_c-t487550.0.html
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;
}
Si, atof() te da valores flotantes y atoi() valores enteros, te lo cuento porque según indicas en el ejercicio necesitarás las dos.
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.