Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - imeniuel

#1
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;
    }
}