Hola, tengo un problema con el siguiente programa en C++. Alguien sabe porque no calcula correctamente la nota máxima?
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int n,i;
int sum;
int max(0);
float prom;
for(i=1;i<=5;i++)
{
cout<<"¿Introduce una nota? ";
cin >>n; // lee la nota
if(n>10)
{
cout<<"Nota no válida";
exit (0);
}
sum=sum+n;
}
prom=(float)sum/5;
{
cout<<"Nota media = "<<prom<<endl;
}
if (n>max)
{
max=n;
cout << "Nota máxima = "<<max<<endl;
}
return 0;
}
Los Códigos deben ir en etiquetas GeSHi...
corro el código y funciona bien, aunque debes tener cuidado con sum y max, que los usas pero no los incializas... en c/c++ un numero declarado no contiene 0 necesariamente (depende del compilador y las opciones de compilación) la mayor parte de las veces contiene "basura" de la ram