En principio la solución debería ser esto:
Código
int main(){ int num; int sum=0; cin >> num; while(num>0){ sum+=num%10; // esto era para pruebas cout <<"suM:" <<sum<< endl; num=num/10; // esto era para pruebas cout << "num:" << num << endl; } cout << sum << endl; return 0;}
El código lo que hace es, una vez le introduces el número (ahora si funciona con cifras como 0031416):
mientras num > 0
A sum le añade el resto de dividir entre 10 num (345%10 = 5) (Num aqui no se ha modificado)
Dividimos num entre 10 (345/10=34 (recordemos que estamos hablando de división de enteros))