Otra opción es hacer una función recursiva
Código:
int SumaCuadrados(int &valor)
{
if (valor == 1) return 1;
return SumaCuadrados(*valor--) + (valor * valor);
}
No lo he comprobado y como he dicho "por ahí" estoy empezando con c++ y mi sintaxis no es mi fuerte y seguro que hay algún error, pero la base sería esa :P
El tipo de dato devuelto limitará el valor pasado por parámetro (hay que controlarlo para que no se pase de rango y pete el programa).
Espero te sirva
Nos leemos