[C con Clase] practico funciones y el valor cambia a nulo
Emanuel Cristaldo
imeniuel.3.6 en gmail.com
Mie Sep 11 18:29:56 CEST 2019
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;
}
}
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20190911/90c4d5c4/attachment.html>
Más información sobre la lista de distribución Cconclase