[C con Clase] practico funciones y el valor cambia a nulo

Jose DLG josesoftwarem en gmail.com
Jue Sep 12 09:47:16 CEST 2019


Creo que el problema es que no estás devolviendo el valor.
Una función tiene la característica de que además de realizar un algoritmo,
devuelve un valor. Para ello, al final del código debes indicar qué valor
devuelves con la orden "return".
En ninguna de las dos funciones que tienes en ese código tienes esa orde,
por lo que te devuelve un entero inicializado. Es decir, el equivalente al
valor que tendrías en una declaración de un entero (ej: int num;) que por
defecto se inicializa a cero.
No se si me he explicado bien. Si no, dilo y lo vuelvo a intentar, que a
veces me explico regular jeje

¡Ánimo!

El mié., 11 sept. 2019 a las 19:55, Emanuel Cristaldo (<
imeniuel.3.6 en gmail.com>) escribió:

> 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 en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20190912/dcaa4138/attachment-0001.html>


Más información sobre la lista de distribución Cconclase