Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Mrxxxxx en 30 Marzo 2017, 02:18 am



Título: Ayuda c++ promedio
Publicado por: Mrxxxxx en 30 Marzo 2017, 02:18 am
Hola, tengo un problema con el promedio, al calcularlo me dice que es infinito, el resto del programa funciona bien, alguien sabe cual es el error?



Este es el programa: "el if seleccion, es porque es la opcion de un menu"


  
Código
  1.  if (seleccion==2){
  2.    int cantidad;
  3.    float numero;
  4.    float mayor=0;
  5.    float menor=999999999;
  6.    float promedio=0;
  7.    float resultado=0;
  8.  
  9.    cout << "Usted ha seleccionado opcion 2 " << endl;
  10.    cout << "ingrese la cantidad de numeros que usted desea " << endl;
  11.    cin >> cantidad;
  12.  
  13. while (cantidad > 0){
  14.        cin >> numero;
  15.        cantidad= cantidad - 1;
  16.  
  17.    if (numero > mayor){
  18.            mayor = numero;
  19.   }
  20.    resultado = resultado + numero;
  21.    if (numero < menor ){
  22.    menor = numero;
  23. resultado--;
  24.   }
  25.  
  26.  
  27.    }
  28.  
  29.   cout << "El mayor es " << mayor << endl;
  30.   cout << "El menor es " << menor << endl;
  31.       promedio = resultado / cantidad;
  32.   cout << "El promedio es " << promedio << endl;
  33.        }
  34.  


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: Ayuda c++ promedio
Publicado por: Pelusatron en 30 Marzo 2017, 03:19 am
Creo que el error es porque nunca almacenaste ningún dato dentro de la variable promedio


Título: Re: Ayuda c++ promedio
Publicado por: Mrxxxxx en 30 Marzo 2017, 03:26 am
y como la podria almacenar?


Título: Re: Ayuda c++ promedio
Publicado por: engel lex en 30 Marzo 2017, 03:37 am
pasa esto

Código
  1. while (cantidad > 0){ //linea 13
  2.  cantidad= cantidad - 1; //linea 15

cuanto vale cantidad al salir del ciclo?

Código
  1. promedio = resultado / cantidad; //linea 31

cuanto vale cualquier numero dividido entre lo que quedó de cantidad al salir del ciclo?


por cierto es más "bonito" que uses
Código
  1. cantidad--
en lugar de
Código
  1. cantidad= cantidad - 1; //linea 15

por otro ladola linea 23 no tiene mucho sentido... si hay un numero menor le restas 1 al resultado?