hola estoy practicando funciones y me puse a realizar un programa que compila pero los resultados no son lo que esparaba, si alguno me dice donde esta mi error me ayudaria mucho
el codigo es:
/*
Confeccionar un programa que solicite el ingreso de un número entero positivo de 4 cifras y pueda calcular e
informar la suma de sus dígitos hasta llegar a una sola cifra. Ej:2561 → 5
*/
#include <iostream>
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int obtener_datos(int numero);
void calculo_datos(int suma);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
using namespace std;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int numero;
int suma;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int main()
{
obtener_datos(numero);
calculo_datos(suma);
return 0;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int obtener_datos(int numero)
{
do
{
cout<<"Digite un numero de 4 cifras mayor a cero: ";
cin>>numero;
if(numero>1000)
{
return numero;
}
else
{
cout<<"El numero ingresado no cumple los requisitos pedidos"<<endl;
cout<<"Digite un numero de 4 cifras mayor a cero: ";
}
}while(numero<=999);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void calculo_datos(int suma)
{
int unidad_mil;
int decena;
int centena;
int unidad;
int unidad2;
int decena2;
unidad_mil=numero/1000;
centena=(numero%1000)/100; //1234
decena=((numero%1000)%100)/10;
unidad=((numero%1000)%100)%10;
suma=unidad+decena+centena+unidad_mil;
if(suma>0&&suma<=9)
{
cout<<"El resultado es: "<<suma<<endl;
}
else
{
decena2=suma/10;
unidad2=suma%10;
suma=decena2+unidad2;
cout<<"El resultado es: "<<suma<<endl;
}
}
el codigo es:
/*
Confeccionar un programa que solicite el ingreso de un número entero positivo de 4 cifras y pueda calcular e
informar la suma de sus dígitos hasta llegar a una sola cifra. Ej:2561 → 5
*/
#include <iostream>
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int obtener_datos(int numero);
void calculo_datos(int suma);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
using namespace std;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int numero;
int suma;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int main()
{
obtener_datos(numero);
calculo_datos(suma);
return 0;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int obtener_datos(int numero)
{
do
{
cout<<"Digite un numero de 4 cifras mayor a cero: ";
cin>>numero;
if(numero>1000)
{
return numero;
}
else
{
cout<<"El numero ingresado no cumple los requisitos pedidos"<<endl;
cout<<"Digite un numero de 4 cifras mayor a cero: ";
}
}while(numero<=999);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void calculo_datos(int suma)
{
int unidad_mil;
int decena;
int centena;
int unidad;
int unidad2;
int decena2;
unidad_mil=numero/1000;
centena=(numero%1000)/100; //1234
decena=((numero%1000)%100)/10;
unidad=((numero%1000)%100)%10;
suma=unidad+decena+centena+unidad_mil;
if(suma>0&&suma<=9)
{
cout<<"El resultado es: "<<suma<<endl;
}
else
{
decena2=suma/10;
unidad2=suma%10;
suma=decena2+unidad2;
cout<<"El resultado es: "<<suma<<endl;
}
}