Usuario: anónimo

Usuarios en línea: 1
Invitados: 1

FAQ

Hilo

3m
practico funciones y el valor cambia a nulo
U(Emanuel) 2019-09-11 16:30:13

Hola estoy con un problema que siempre se me presenta y no se como

solucionarlo.

el problema es que creo una funcion que obtenga datos y a la hora de usarlo

los datos se transforman en cero, y no se porque ocurre esto.

no espero que me resuelvan el codigo(ese es mi trabajo)pero me gustaria

saber porque ocurre este problema siempre que aplico esto.

el codigo que reslize es este:

/*

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);

int calculo_datos(int suma,int numero);

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

using namespace std;

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

int numero;

int suma;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

int main()

{

    obtener_datos(numero);

  calculo_datos(suma,numero);

    return 0;

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

int obtener_datos(int numero)

{

    do

    {

        cout<<"Digite un numero de 4 cifras mayor a 1000 y menor a 9999: ";

        cin>> numero;

        cout<<"el numero es: "<<numero<<endl; //mensaje para mostrar el

valor del numero que obtiene

        if(numero<999||numero>9999)

        {

            cout<<"Error"<<endl;

            cout<<"Digite un numero de 4 cifras mayor a 1000 y menor a

9999: ";

        }

    }while(numero<999||numero>9999);

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

int calculo_datos(int suma,int numero)

{

    int unidad_mil;

    int decena;

    int centena;

    int unidad;

    int unidad2;

    int decena2;

    unidad_mil=numero/1000;

    centena=(numero%1000)/100;

    decena=((numero%1000)%100)/10;

    unidad=((numero%1000)%100)%10;

    suma=unidad+decena+centena+unidad_mil;

    cout<<"el numero es: "<<numero<<endl;

    if(obtener_datos(suma)<9)

    {   cout<<"el numero es: "<<numero<<endl;

        cout<<"El resultado es: "<<suma<<endl;

    }

    else

    {       cout<<"el numero es: "<<numero<<endl;

            suma=unidad+decena+centena+unidad_mil;

        decena2=suma/10;

        unidad2=suma%10;

        suma=decena2+unidad2;

        cout<<"El resultado es: "<<suma<<endl;

    }

}

_______________________________________________

Lista de correo Cconclase Cconclase@listas.conclase.net

http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net

Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ