Funciones en C++ y ejemplos

Uso de las funciones en c++

Las funciones no son indispensables para la programación en el sentido de que sin ellas también se puede programar, a diferencia de las variables y constantes que sin ellas prácticamente nada se podría hacer en C++, el problema es que si no se usan las funciones para ciertos casos que ya veremos en los ejemplos tendríamos que escribir un código entero varias veces, cada vez que se tenga que ejecutar, mientras que con las funciones podemos llamar desde cualquier parte del código a otro segmento del código, que como su nombre lo indica sirve para realizar cierta función, por eso todo programa cotidiano en C++ fue construido usando muchas funciones.

Que es en verdad una función



Imaginemos una función es como un especialista, cada especialista tiene un conocimiento o una función así un técnico en reparación de computadoras sabrá repararlas y se le llama a el cuándo tenemos un problema en la computadora, la función de un programador por su parte es crear aplicaciones y sistemas, un traductor nos traducirá de un lenguaje a otro y así sucesivamente, esto es una función, aunque queda claro que para lograr que dicho trabajador haga su función para nosotros tenemos que llamarlo en el momento y lugar que le necesitamos, esta analogía permite entender fácil lo que es una función.

El siguiente ejemplo está en lenguaje común y no en C++ para entender más fácil que es una función en programación, imaginemos que en una aplicación mostraremos la rutina de ejercicio del día, existirán 2 rutinas que dependiendo del día se mostrara una u otra, de día por medio se mostrara cada una, se entiende que es sencillo y sin funciones se vería algo así.

if (Hoy=Lunes){
50 repeticiones de sentadillas
40 repeticiones de flexiones de brazos
70 repeticiones de abdominales
30 minutos corriendo
}
if (Hoy=Martes)
{
100 Jumping jacks
60 sentadillas
3 Series de planchas de 2 minutos cada una
15 minutos saltando la cuerda
30 sentadillas sumo
}
if (Hoy=Miercoles)
{
50 repeticiones de sentadillas
40 repeticiones de flexiones de brazos
70 repeticiones de abdominales
30 minutos corriendo
}
if (Hoy=Jueves)
{
100 Jumping jacks
60 sentadillas
3 Series de planchas de 2 minutos cada una
15 minutos saltando la cuerda
30 sentadillas sumo
}
if (Hoy=Viernes)
{
50 repeticiones de sentadillas
40 repeticiones de flexiones de brazos
70 repeticiones de abdominales
30 minutos corriendo
}
if (Hoy=Sábado)
{
100 Jumping jacks
60 sentadillas
3 Series de planchas de 2 minutos cada una
15 minutos saltando la cuerda
30 sentadillas sumo
}
if (Hoy=Domingo)
{
50 repeticiones de sentadillas
40 repeticiones de flexiones de brazos
70 repeticiones de abdominales
30 minutos corriendo
}


Importancia de las funciones en C++



Como se puede apreciar son solo 2 rutinas que se repiten de día por medio, que por cierto no recomiendo practicarlos porque las proporciones en las repeticiones están mal para iniciar un entrenamiento, esos datos son solo para el ejemplo, el problema está en que este código es gigantesco en comparación con lo que podría ser, el ahorrar espacio también nos ayuda a ahorrar tiempo, y aunque en aplicaciones pequeñas como una calculadora o un sencillo procesador de texto esto no es problema, para trabajos serios tener un código bien legible y ahorrar tiempo es valioso veamos cómo se hace lo anterior con funciones, recuerden que por ahora este no es código C++ sino que está en lenguaje común para entenderlo fácil.

rutina1 (){
50 repeticiones de sentadillas
40 repeticiones de flexiones de brazos
70 repeticiones de abdominales
30 minutos corriendo
}
rutina2 (){
100 Jumping jacks
60 sentadillas
3 Series de planchas de 2 minutos cada una
15 minutos saltando la cuerda
30 sentadillas sumo
}
if (Hoy=Lunes){
rutina 1();
}
if (Hoy=Martes){
rutina 2();
}
if (Hoy=Miercoles){
rutina 1();
}
if (Hoy=Jueves){
rutina 2();
}
if (Hoy=Sabado){
rutina 1();
}
if (Hoy=Domingo){
rutina 2();
}


No me molestaría explicar lo del ejemplo anterior muy detalladamente, pero llegados a este punto asumo que entendieron la importancia de las funciones, que una función permite llamar a un código de 10 líneas, 100 líneas o cualquier otra cantidad de líneas desde cualquier parte del código y cuantas veces queramos, sin tener que volver a escribirlo, en verdad su utilidad es mucho más amplia si tenemos en cuenta que se pueden pasar(enviar) datos a la función desde el código que la está llamando, ahora si, veamos un par de ejemplos reales en funcionamiento en C++ y la explicación de alguno que otro detalle.

Como declarar y llamar funciones en C++



Para declarar una función en C++ se escribe primero el tipo de función que será esto puede ser int, string, void u otros tipos, si la función va a procesar operaciones matematices ha de ser de tipo int, aun si no se utilizaran funciones matemáticas puede ser de tipo int, pero conviene que todas las funciones que solo piensan llamarse y no se les quiere enviar datos sean de tipo void, solo para evitar advertencias del compilador, ahora veamos un ejemplo.

Ejemplo de función en C++



Empezamos definiendo todo lo básico de una aplicación C++ empezando con las cabeceras iostream y cstdlib, esto para poder tratar al texto y creamos también la función main, además agregamos system("pause"); para que la aplicación no se cierre de inmediato, se ve así:

#include <iostream>
#include <cstdlib>
}
int main()
{
system("pause");
return 0;
}


Ahora declaramos la función, ojo que toda función tiene que ser declarada por fuera de main, y de hecho tienen que ser declaradas antes de main, esto porque main también es una función, y no se puede declarar ninguna función dentro de otra función, es importante no olvidar esto o de lo contrario les aparecerán errores y no compilara, en este caso la función imprimirá por pantalla un simple mensaje de texto que con la ayuda de cout, se ve así.

#include <iostream>
#include <cstdlib>
using namespace std;
void funcion1(){
cout << "Una prueba aqui" << endl;
}
int main()
{
funcion1();
system("pause");
return 0;
}


Como podemos ver en main hacemos la llamada a la función, porque una función jamás se lee hasta que es llamada, así si tuviésemos 20 funciones estas esperarían para procesar su código hasta que son llamadas, para llamarla simplemente se usa su nombre en este caso "funcion1", se agregan los paréntesis () y como es típico de C++ el punto y coma al final.

Para declararla lo hicimos con el tipo void, porque solo queremos que el código se procese y no queremos enviarle datos, aunque de igual forma se podía declarar con el tipo int u otro y hubiese funcionado.

Esto es todo lo básico sobre este tema, al igual que el ejemplo de la función anterior son todas las que tengan que hacer, por eso podríamos simplificarlo en 3 sencillos pasos y estos son:
1 Declarar la función
2 Ingresar el código que se procesara dentro de la función
3 Llamarlo donde lo necesitemos

Si tienen alguna duda, o algo les está saliendo mal, adelante pueden preguntar pues quedo a su disposición para responderles.
Comentarios y preguntas
Job:
Gracias por tan excelente contenido