Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Darklexis312 en 19 Abril 2018, 02:50 AM

Título: Sacar promedio [C]
Publicado por: Darklexis312 en 19 Abril 2018, 02:50 AM
Hola a todos como le hago para que cuando ingrese calificaciones con  valores mayores a 100 no saque el promedio y solo imprima un error.

int promedio() {
int a, b, c, Promedio;
printf("Introduce tus tres calificaciones: \n");
scanf_s("%d %d %d", &a, &b, &c);
if ((a >= 0 && a <= 100) && (b >= 0 && b <= 100) && (c >= 0 && c <= 100))
printf("Valores validos\n");
else
printf("ERROR\n");
Promedio = (a + b + c) / 3;
printf("El promedio es %d",Promedio);
return Promedio;
}
Título: Re: Sacar promedio [C]
Publicado por: engel lex en 19 Abril 2018, 03:06 AM
printf("ERROR\n");
return -1;


y en la sección que ejecutas la funcion "si promedio es -1, entonces no hacer nada" ya que -1 es un numero imposible como promedio


consejo: siempre coloca las llaves en el if... a menos que estés muy pulido en C y algoritmia, no colocar llaves usualmente lleva a errores
Título: Re: Sacar promedio [C]
Publicado por: Adry_cr23 en 19 Abril 2018, 22:13 PM
despues del printf("ERROR"); tienes que poner un exit(0) o un  return 0, para que el programa acabe.
Y seria mejor crear la variable promedio de tipo float o double, para que al hacer el promedio salgan los numeros decimales. (%f o %g) respestivamente.
Título: Re: Sacar promedio [C]
Publicado por: Xargam en 19 Abril 2018, 22:26 PM
Colocale llaves al if y al else. El codigo que calcula el promedio y el printf("") que lo muestra metelo dentro del if, para que se ejecute unicamente si el numero es valido.