[ Foro de C++ ]

Redondear en C++

19-Oct-2018 02:35
Daniel Gonzalez
1 Respuestas

Buenas tardes, alguien me puede ayudar con este código, lo que debe hacer es sacar el promedio entre 5 calificaciones y si el promedio es por ejemplo 85.5 redondear a 86, solo me falta el redondeo, por favor y gracias

/* Ejercicio: Introduzca desde teclado 5 números enteros positivos que representen calificaciones (de 0 a 100)
y muestre el promedio redondeado al entero próximo, termine el programa en error.
Nota: un promedio de 85.5 se redondea a 86. */

#include <stdio.h>
#include <math.h>
#include <locale.h> /* Librería para hacer uso de la acentuación*/
 
 int main (void){
     int control;
     double prom=0, calif1=0, calif2=0, calif3=0, calif4=0, calif5=0;
     
     setlocale(LC_ALL, ""); /*Esta función sirve para poder agregar la acentuación en los puts y printf*/
     
     printf ("Introduzca numero de control:");
     scanf("%d",&control);
     printf("Calificación 1:");
     scanf("%lf", &calif1);
     printf("Calificación 2:");
     scanf("%lf", &calif2);
     printf("Calificación 3:");
     scanf("%lf", &calif3);
     printf("Calificación 4:");
     scanf("%lf", &calif4);
     printf("Calificación 5:");
     scanf("%lf", &calif5);
     
     prom=(calif1+calif2+calif3+calif4+calif5)/5;  /* Operación para obtener el promedio */
     
     printf("Numero de control:%i\n", control);
     printf("Promedio final:%0.2f", prom);
     return 0;
   
}


27-Oct-2018 23:54
Nacho Cabanes (+84)

Para redondear al entero más cercano, no uses

"%0.2f", prom

sino

"%d", (int) prom






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)