Sie sind auf Seite 1von 9

Tipos de funciones en C++

Los tipos de funciones en c++ son 4, aunque en realidad son las combinaciones de las 2 cosas que
una función puede hacer.

Una función, puede hacer (o no) dos cosas: 1 – Recibir datos y 2 – Retornar datos.

De esto surgen los cuatro tipos de funciones:

 No reciben ni retornan
 Reciben y no retornan
 No reciben y retornan
 Reciben y retornan

No reciben ni retornan

Las más sencillas.

Se crean de esta forma en general:

tipo nombre(){}

El ‘tipo’ se refiere al tipo de dato (int, float, void, char) y en las funciones que no retornan siempre
es void.

El ‘nombre’ es el nombre de la función: cualquiera que empiece con una letra, que sea significativo
y que no sea una palabra reservada.

Para llamarlas sólo hay que escribir el nombre de la función seguido de sus paréntesis y un punto y
coma (;).

nombre();
EJEMPLO
#include<iostream>
#include<string>
using namespace std;

void sumar()
{
int num1, num2, r;
cout << "Numero 1: "; cin >> num1;
cout << "Numero 2: "; cin >> num2;
r = num1 + num2;
cout << "La suma es " << r;
}

int main()
{
sumar();
}

Una función siempre, tiene que ir antes del main.

Reciben y No Retornan

¿Cómo se haría para pedir los dos números en el main y que la función haga la suma? Para ello
hay que hacer una función capaz de recibir datos, la sintaxis cambia un poco:

tipo nombre(tipo_var1 nombre_var1, tipo_var2 nombre_var2){}

‘tipo’ y ‘nombre’ se refieren a lo mismo y como no retorna el tipo siempre es void.

Dentro del paréntesis tenemos otros aspectos:

‘tipo_var1′ se refiere al tipo de la variable que nuestra función va a recibir.


‘nombre_var1′ se refiere al nombre de esa variable.

Si queremos recibir una variable hasta ahí es suficiente, si queremos otra variable ponemos una
coma (,) y declaramos la siguiente variable.

Para llamar la función hay que poner las variables que vamos a enviar dentro del paréntesis en el
mismo orden en que las declaramos en la función:

nombre(var1, var2);

EJEMPLO
#include<iostream.h>

#include<string>

using namespace std;

void sumar(int num1, int num2)

int r;

r = num1 + num2;

cout << "La suma es " << r;

int main()

int num1, num2;

cout << "Numero 1: "; cin >> num1;

cout << "Numero 2: "; cin >> num2;

sumar(num1, num2);

}
Retornan y No Reciben
Si queremos lo contrario Pedir los números en la función, pero mostrar el resultado en el
main. Para eso necesitamos una función que retorne.

RECIBIR ES ENVIAR DATOS DEL MAIN A LA FUNCIÓN. RETORNAR


ES ENVIAR DATOS DE LA FUNCIÓN AL MAIN.

Para retornar datos hay que hacer dos cosas:

NO USAR VOID COMO TIPO

Y USAR RETURN.

De forma general:
tipo nombre() { return var; }
El ‘tipo’ tiene que ser del tipo de variable que queremos retornar, si nuestra variable retorna
una variable int, pues el tipo de la función es int.

Para indicar qué variable estamos retornando usaremos la palabra return seguido de la
variable. Usualmente esto va al final de la función.

Para llamar a la función hay que preparar un colchón en donde caiga la variable que está
retornando.
var = nombre();
La variable que está retornando nuestra función se va a almacenar en la variable ‘var’.

LAS VARIABLES DECLARADAS ENTRE DOS LLAVES {} ÚNICAMENTE


EXISTEN ENTRE ESAS DOS LLAVES.

O sea que la variable ‘var’ de la función no es la misma que la variable ‘var’ de la función;
sin embargo la var del main está adquiriendo el valor de la var del main.

EJEMPLO
#include<iostream.h>

#include<string>
using namespace std;

int sumar()

int num1, num2, r;

cout << "Numero 1: "; cin >> num1;

cout << "Numero 2: "; cin >> num2;

r = num1 + num2;

return r;

int main()

int r;

r = sumar();

cout << "La suma es " << r;

Reciben y Retornan
Ahora queremos que la función únicamente sume, el main se va a encargar de pedir los
números y sumar los resultados. Para eso necesitamos que nuestra función reciba las
variables y además retorne el resultado.

Es sólo cuestión de combinar las funciones que reciben y no retornan con las que retornan y
no reciben
EJEMPLO A 1
#include<iostream.h>

#include<string>

using namespace std;

int sumar(int num1, int num2)


{
int r;
r = num1 + num2;
return r;
}

int main()
{
int num1, num2, r;
cout << "Numero 1: "; cin >> num1;
cout << "Numero 2: "; cin >> num2;
r = sumar(num1, num2);
cout << "La suma es " << r;
}

EJEM PLO A2

#include<iostream>
#include<string>

using namespace std;

int sumar(int num1, int num2)


{
return num1 + num2;
}

int main()
{
int num1, num2;
cout << "Numero 1: "; cin >> num1;
cout << "Numero 2: "; cin >> num2;
cout << "La suma es " << sumar(num1, num2);
}

Crear una función que calcule el cubo de un número real (float). El resultado deberá
ser otro número real. Probar esta función para calcular el cubo de 3.2 y el de 5

#include <stdio.h>

float cubica(float numero)

float cubica;

cubica = numero * numero * numero;

return cubica;

int main()

float numero;

float cubo;

int i=0;
while(numero >= -1000000)

if(i==0)

printf("\nEscriba un numero real");

else

printf("\nEscriba otro numero real");

scanf("%f", &numero);

printf("%f elevado al cubo es %f\n",

numero,cubo=cubica(numero));

i ++;

return 0;

EJERCICIOS
1. Crear una función que calcule cual es el menor de dos números enteros.

2. Crear una función llamada símbolo, que reciba un número real, y devuelva un número
entero con el valor: -1 si el número es negativo, 1 si es positivo o 0 si es cero.

3. Crear una función que devuelva la primera letra de una cadena de texto.

4. Crear una función que reciba un número y muestre en pantalla el perímetro y la superficie
de un cuadrado que tenga como lado el número que se ha indicado como parámetro
5. Crear una función que reciba una letra y un número, y escriba un triángulo formado por
esa letra, que tenga como anchura inicial la que se ha indicado. Por ejemplo, si la letra es
* y la anchura es 4, debería escribir
****
***
**
*

Das könnte Ihnen auch gefallen