Abril 19, 2018, 07:45:40 am

Autor Tema: Redondeo de números  (Leído 2207 veces)

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

Desconectado petrusqui

  • Me das tu IP?
  • *
  • Mensajes: 19
  • Sexo: Masculino
  • ¿Hay limites para el conocimiento?
    • Ver Perfil
    • Sobre Todo
Redondeo de números
« en: ſeptiembre 14, 2013, 07:26:37 am »
Buenas,

 Este es un programa de redondeo, donde al introducir un número real el programa te escribe el entero superior, el entero inferior y luego el redondeo. Por ejemplo:

Input: 3.49
Output: (Entero inferior) 3 (superior) (redondeo) 3

Código: You are not allowed to view links. Register or Login
// Redondeo v2
// Un programa que te escribe el entero superior al introducido, el inferior i el redondeo.

#include <iostream>

using namespace std;

int main()
{
// Definimos las variables que vamos a usar
float numeroUsuario; // El número introducido por el usuario
int numeroEnteroMenor; // El entero menor del numeroUsuario
int numeroEnteroMayor; // El entero mayor del numeroUsuario
int redondeo; // El numero redondeado
float diferencia; // La diferència entre el número del usuario i el entero

// Pedimos el número al usuario
cin >> numeroUsuario;

// Hacemos la diferencia entre el numero del usuario y el entero
diferencia = numeroUsuario - int(numeroUsuario);

// Calculamos el numeroEnteroMenor
numeroEnteroMenor = int(numeroUsuario);

// Calculamos el numeroEnteroMayor
numeroEnteroMayor = int(numeroUsuario + 1);

// Hacemos el redondeo
if ((diferencia >= 0.5))
{
redondeo = numeroEnteroMayor;
}
// En caso de que el número sea negativo
else if ((diferencia <= -0.5) and (diferencia < 0))
{
redondeo = numeroEnteroMayor;
}
else
{
redondeo = numeroEnteroMenor;
}

cout << numeroEnteroMenor << " " << numeroEnteroMayor << " " << redondeo << endl;
}/code]

Pero tengo un problema, al introducir por ejemplo 4.99999999 al convertirlo a int lo convierte directamente en 5. ¿cómo podria solucionar esto?
« Última modificación: ſeptiembre 15, 2013, 04:32:31 am por petrusqui »
Un foro modesto para hablar de la programación You are not allowed to view links. Register or Login

Desconectado jep

  • Night Elf Druid
  • Colaborador
  • ****
  • Mensajes: 1771
  • Sexo: Masculino
    • Ver Perfil
Re:Redondeo de números
« Respuesta #1 en: ſeptiembre 14, 2013, 11:22:28 am »
podrías solucionar con la función floor (o floorf para floats) de la biblioteca cmath


question
¿Cual seria el codigo para crear un pequeño sistema de redondeo?

Iniciado por Tachi04

4 Respuestas
1932 Vistas
Último mensaje Noviembre 14, 2009, 01:26:52 am
por elganster21
question
[Problema] Programa para averiguar números pares entre 2 números

Iniciado por Dreamaker

1 Respuestas
2070 Vistas
Último mensaje Mayo 21, 2010, 08:52:03 pm
por EddyW
xx
Numeros 900

Iniciado por Universal SAC

4 Respuestas
5535 Vistas
Último mensaje Abril 09, 2007, 02:33:42 am
por taustano
xx
Suma de 2 numeros

Iniciado por TXS

3 Respuestas
5057 Vistas
Último mensaje Julio 18, 2008, 04:09:32 pm
por drrg
question
Numeros aleatorios

Iniciado por mDrinky

7 Respuestas
4079 Vistas
Último mensaje Noviembre 13, 2009, 03:03:18 pm
por JaAViEr
exclamation
Numeros Primos

Iniciado por Grib_Jr.

6 Respuestas
3916 Vistas
Último mensaje Octubre 18, 2009, 08:03:23 pm
por Tulivar
question
numeros aleatorios en C

Iniciado por diablokira

3 Respuestas
1853 Vistas
Último mensaje Febrero 17, 2010, 04:06:13 pm
por Yucks
question
numeros amigos en c

Iniciado por alcatang

6 Respuestas
5966 Vistas
Último mensaje Abril 15, 2010, 09:20:30 am
por Madonia
xx
Los Numeros Primos

Iniciado por jjc400

1 Respuestas
1126 Vistas
Último mensaje Octubre 28, 2011, 08:10:09 pm
por blozzter
xx
Numeros de Ping

Iniciado por martitaa_19

7 Respuestas
1756 Vistas
Último mensaje Agosto 31, 2007, 07:52:03 am
por g6kb