FUNCIONES Y PROCEDIMIENTO

Iniciado por programador10, 28 Abril 2011, 19:39 PM

0 Miembros y 3 Visitantes están viendo este tema.

programador10


BUENAS TARDE








#include <cstdlib>
#include <iostream>

using namespace std;

void leer(int,int,int);
void operacion(int ,int ,int );



int main(int argc, char *argv[])
{   
    int edad1,nac1,act1;
   
   leer(edad1,nac1,act1);
   operacion(edad1,nac1,act1);
   
                     
    system("PAUSE");
    return EXIT_SUCCESS;
}

void leer(int &edad,int &nac,int &act)
{   
             
     cout<<"ingrese Edad"<<endl;
     cin>>edad;
     cout<<"ingrese Año de Nacimiento"<<endl;
     cin>>nac;
     cout<<"ingrese Año Actual"<<endl;
     cin>>act;     
       
}

void operacion(int &edad,int &nac,int &act)
{   
     cout<<"Bueno el tendras "<<(act-nac+edad)<<endl;         
     cin>>edad;
     cout<<edad;
     
   }

El_Java

Y que nos quieres decir con esto?

Pd. para codigo usa etiquetas GeSHI

programador10

hola  gracias ... pero DONDE   ME INFORMO PARA PODER  postear de la mejor forma "EN ESTE FORO" gracias.

leogtz

Solo escribe correctamente, y si quieres poner un código, seleccionalo y elige GeShi en el editor de mensajes, ahí seleccionas el lenguaje que quieras y ya.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

programador10


Buenas TArdes El Siguiente codigo no me compila
Código (cpp) [Seleccionar]
#include <cstdlib>
#include <iostream>

using namespace std;

void leer(int,int,int);
void operacion(int ,int ,int );



int main(int argc, char *argv[])
{  
   int edad1,nac1,act1;
   
  leer(edad1,nac1,act1);
  operacion(edad1,nac1,act1);
 
                   
   system("PAUSE");
   return EXIT_SUCCESS;
}


y no comprendo por que no compila.
en la parte inferior me sale las siguistes obsevaciones.
 

 [Linker error] undefined reference to `leer(int, int, int)'
 [Linker error] undefined reference to `operacion(int, int, int)'
 ld returned 1 exit status



espero  SU AYUDA .!GRACIAS!




programador10

Código (cpp) [Seleccionar]
#include <cstdlib>
#include <iostream>

using namespace std;

void leer(int,int,int);
void operacion(int ,int ,int );



int main(int argc, char *argv[])
{   
    int edad1,nac1,act1;
   
   leer(edad1,nac1,act1);
   operacion(edad1,nac1,act1);
   
                     
    system("PAUSE");
    return EXIT_SUCCESS;
}

void leer(int &edad,int &nac,int &act)
{   
             
     cout<<"ingrese Edad"<<endl;
     cin>>edad;
     cout<<"ingrese Año de Nacimiento"<<endl;
     cin>>nac;
     cout<<"ingrese Año Actual"<<endl;
     cin>>act;     
       
}

void operacion(int &edad,int &nac,int &act)
{   
     cout<<"Bueno el tendras "<<(act-nac+edad)<<endl;         
     cin>>edad;
     cout<<edad;
     
   }

leogtz

Fijate que en el prototipo de la función leer(), no coinciden los parámetros con la definición después.

Debería ser así:

Código (cpp) [Seleccionar]
void leer(int&,int&,int&);
void operacion(int &,int &,int &);


Código (cpp) [Seleccionar]

#include <cstdlib>
#include <iostream>

using namespace std;

void leer(int&,int&,int&);
void operacion(int &,int &,int &);

int main(int argc, char *argv[])
{
    int edad1,nac1,act1;

   leer(edad1,nac1,act1);
   operacion(edad1,nac1,act1);

    system("pause");
    return EXIT_SUCCESS;
}

void leer(int &edad,int &nac,int &act)
{

     cout<<"ingrese Edad"<<endl;
     cin>>edad;
     cout<<"ingrese Año de Nacimiento"<<endl;
     cin>>nac;
     cout<<"ingrese Año Actual"<<endl;
     cin>>act;

}

void operacion(int &edad,int &nac,int &act)
{
     cout<<"Bueno el tendras "<<(act-nac+edad)<<endl;
     cin>>edad;
     cout<<edad;
}
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

programador10

disculpa podrias especificar mejor en donde esta mi error. GRACIAS ;)    :huh:

leogtz

Tu lo tenías así:

Código (cpp) [Seleccionar]
void leer(int,int,int);
void operacion(int ,int ,int );


Y debe ser así:

Código (cpp) [Seleccionar]
void leer(int&,int&,int&);
void operacion(int &,int &,int &);


C++ tiene sobrecarga de funciones, por lo que el procedimiento:

Código (cpp) [Seleccionar]
void leer(int&,int&,int&);
es distinto a:
Código (cpp) [Seleccionar]
void leer(int,int,int);

Saludos.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

programador10

TENIAS MUCHA RAZON. GRACIAS , UN ABRAZO A LA DISTANCIO. QUE CHEVERE COMPILO