Enero 22, 2018, 02:54:25 pm

Autor Tema: Redondeo de números  (Leído 1988 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: 1770
  • 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
1894 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
2026 Vistas
Último mensaje Mayo 21, 2010, 08:52:03 pm
por EddyW
xx
Numeros 900

Iniciado por Universal SAC

4 Respuestas
5486 Vistas
Último mensaje Abril 09, 2007, 02:33:42 am
por taustano
question
numeros amigos en c

Iniciado por alcatang

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

Iniciado por jjc400

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

Iniciado por martitaa_19

7 Respuestas
1727 Vistas
Último mensaje Agosto 31, 2007, 07:52:03 am
por g6kb
exclamation
Numeros decimales en VB6

Iniciado por Alexey-Volkov

4 Respuestas
2230 Vistas
Último mensaje Octubre 23, 2009, 04:32:45 pm
por Alexey-Volkov
exclamation
[C] Numeros que se repiten

Iniciado por mr.blood

0 Respuestas
1098 Vistas
Último mensaje Marzo 23, 2013, 05:58:02 am
por mr.blood
xx
generador de numeros

Iniciado por zuco

0 Respuestas
1945 Vistas
Último mensaje Julio 13, 2006, 12:08:44 pm
por zuco
xx
numeros timo

Iniciado por programmer021

4 Respuestas
2089 Vistas
Último mensaje Agosto 01, 2007, 12:50:17 pm
por RaKi0N