Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Dudas con funcion

Estas en el tema de Dudas con funcion en el foro de C/C++ en Foros del Web. Hola estoy estudiando de una pagina y tengo que hacer "Escribe una función suma_cifras que reciba un número entero y devuelva la suma de sus ...
  #1 (permalink)  
Antiguo 01/11/2015, 09:59
 
Fecha de Ingreso: octubre-2015
Mensajes: 17
Antigüedad: 8 años, 6 meses
Puntos: 0
Dudas con funcion

Hola estoy estudiando de una pagina y tengo que hacer "Escribe una función suma_cifras que reciba un número entero y devuelva la suma de sus cifras. Utiliza la función para escribir un programa que muestre todos los números menores de 1000 cuya suma de cifras es igual a 5." la funcion la hice la probe y Funciona!! , el problema me surge luego al intentar usarla :s.

Esta es la funcion

int suma_cifras(int num){

int cont = 0;

while(num > 0){
cont += num % 10;
num = num /10;
}

return cont;
}

Y aqui la implementacion

cout<<endl<<"Suma cifras."<<endl<<endl;

for(int i = 1 ; i <= 1000 ; i++){

if(suma_cifras(i)% 5 == 0){
cout<<i<<" ";

}
}

si me pueden decir en donde esta el error se agradece .
  #2 (permalink)  
Antiguo 01/11/2015, 10:14
Avatar de xKuZz  
Fecha de Ingreso: febrero-2015
Ubicación: nullptr
Mensajes: 183
Antigüedad: 9 años, 2 meses
Puntos: 27
Respuesta: Dudas con funcion

Tal y como tú lo tienes puesto has escrito:
Código C++:
Ver original
  1. ...
  2. if (suma_cifras(i)%5==0)
  3. ...

Esto quiere decir que el resto de dividir la suma de cifras entre 5 es igual a 0 y eso no es lo que quieres, porque te cogerá también números cuya suma sea 10 como el 55.

Lo que tu quieres es que suma_cifras sea igual a 5 es decir

Código C++:
Ver original
  1. ...
  2. if (suma_cifras(i)==5)
  3. ...
  #3 (permalink)  
Antiguo 02/11/2015, 08:37
 
Fecha de Ingreso: octubre-2015
Mensajes: 17
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Dudas con funcion

Si era error de operadores , gracias por la correccion =)

Etiquetas: dudas, funcion, int, programa, suma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:01.