Citar
se desea redondear un entero positivo N a la centena mas proxima y visualizar la salida.
Para ello la entrada de datos debe de sr los cuatro digitos A,B,C,D del entero N. Por ejemplo, si A es 2, B es 3, C es 6 y D es2, entonces N será 2362 y el resultado redondeado será 2400. SiN es 2342, el resultado seeá 2300 , y si N=2962, entonces el numero será 3000
Para ello la entrada de datos debe de sr los cuatro digitos A,B,C,D del entero N. Por ejemplo, si A es 2, B es 3, C es 6 y D es2, entonces N será 2362 y el resultado redondeado será 2400. SiN es 2342, el resultado seeá 2300 , y si N=2962, entonces el numero será 3000
En C++ moderno es inmediato, por ejemplo:
Código
#include <cmath> #include <iostream> long redondear_a_la_centena(int n) { return std::lround(n / 100.0) * 100; } int main() { std::cout << "2362 redondedo a la centena: " << redondear_a_la_centena(2362) << '\n'; std::cout << "2342 redondedo a la centena: " << redondear_a_la_centena(2342) << '\n'; std::cout << "2962 redondedo a la centena: " << redondear_a_la_centena(2962) << '\n'; }
Ventajas?
Ver la documentación, en especial "Error handling"
https://en.cppreference.com/w/cpp/numeric/math/round