-->
.

domingo, 25 de noviembre de 2012

FUNCIONES DEFINIDAS POR EL USUARIO (CON ENVÍO Y RETORNO DE PARÁMETROS.)

Este tipo de funciones a diferencia de las anteriores que se las declara con la palabra reservada void que significa que no retorna algún valor desde su dominio a la función main, se las define intercambiando la palabra void por el tipo de dato que queremos traer de vuelta como resultado.
Las funciones de este tipo se las define como acontinuación muestra:

Librerias
tipo_dato funcion( tipo_dato variable,tipo_dato1 variable1);
void main()
{
 tipo_dato var1,var2;
bloques de códigos

funcion(var1,var2);
}
tipo_dato funcion(tipo_dato variable,tipo_dato1 variable1)
{
bloques de códigos
}
Al igual que el grafico explicativo de las Funciones Definidas por el Usuario (con envío y sin retorno de parametros) el orden de la variables de envío es el mismo.
Pero en las lineas de codigo internas a la función hay una diferencia total en cuanto a la programación ya que este tipo de funciones usa una palabra reservada en su dominio que es "return", que es la que nos permite devolver un valor resultante a la funcion principal o main.

  1. #include<conio.h>
  2. #include<stdio.h>
  3.   int suma(int numero1,int numero2);
  4.   void main()
  5.   {
  6.    clrscr();
  7.    int n1,n2;
  8.    printf("Ingrese un numero: ");
  9.    scanf("%d",&n);
  10.    printf("Ingrese otro numero: ");
  11.    scanf("%d",&n1);
  12.    printf("La suma es: %d",suma(n1,n2));
  13.    getch();
  14.   }
  15.   int suma(int numero1,int numero2)
  16.    {
  17.     int s;
  18.     s=numero1+numero2;
  19.     return s;
  20.    }
Se puede apreciar que en la función suma declaramos una variable  's' a la cual se le asigna la operación suma de numero1 y numero2 y en la siguiente linea hay un return s; que significa que el valor resultante de la suma de esos dos valores me la retornara a la función main justo cuando mande a llamar a la función suma es decir desde el printf.
El ejercicio también pudo quedar así.

  1. #include<conio.h>
  2. #include<stdio.h>
  3.   int suma(int numero1,int numero2);
  4.   void main()
  5.   {
  6.    clrscr();
  7.    int n1,n2,s;
  8.    printf("Ingrese un numero: ");
  9.    scanf("%d",&n);
  10.    printf("Ingrese otro numero: ");
  11.    scanf("%d",&n1);
  12.    s=suma(n1,n2);
  13.    printf("La suma es: %d",s);
  14.    getch();
  15.   }
  16.   int suma(int numero1,int numero2)
  17.    {
  18.     return numero1+numero2;
  19.    }
Lo cual nos ahorra la declaración de la variable s en la función suma pero la declaramos en la función main(), y a su vez también se pudo ahorrar la declaración de la variable s en las dos funciones usando el main() del primer ejemplo y la función suma del segundo.

NOTA: No olvidar que para que nuestra función retorne un valor hay que definirla con el tipo de dato correspondiente, en este caso use un dato de tipo int dado que la suma de dos enteros me resulta otro entero.

Popular Posts

Followers