Muchas veces es tedioso escribir el mismo código una y otra vez. Ademas esto hace mas lento a nuestro programa. Para evitar esas incomodidades, existen las funciones. Agilizan el código, reduciendo el numero de lineas y al mismo tiempo nos ayudan a escribir menos.
En este tutorial veremos como hacer funciones en C++ que básicamente es igual en todos los lenguajes lo único que cambia de lenguaje a lenguaje es la forma de escritura (sintaxis).
Si estas interesado en aprender… Sigue leyendo…
Les pondré el código y lo iremos descomponiendo poco a poco para que lo entiendan.
#include <iostream> //incluyendo la librería de entrada salida
using namespace std; //cargando el namespace estándar
int suma(int,int); //prototipo de funcion suma
int resta(int,int);//prototipo de funcion resta
int main(){
int num1,num2,opcion,resultado;
cout<<"Ingrese el primer numero:";
cin>>num1;
cout<<"Ingrese el segundo numero:";
cin>>num2;
cout<<"Que desea hacer: \n1-Sumar \n2-Restar \nIngrese el numero de opcion y presione enter:\n";
// "\n" sirve como enter(salto de lina) (Pleca invertida)
cin>>opcion;
//dependiendo de la opcion insertada por usuario
//se sumaran o restaran los 2 numeros
switch(opcion){
case 1:
resultado=suma(num1,num2);
cout<<"El resultado es: "<<resultado; //usa la funcion e imprime el retorno
//el retorno de suma(num1,num2) es la suma de los 2 numeros
break;
case 2:
resultado=resta(num1,num2);
cout<<"El resultado es: "<<resultado; //usa la funcion e imprime el retorno
//el retorno de resta(num1,num2) es la resta de los 2 numeros
break;
default:
cout<<"Esa opcion no es valida";
break;
}
cin.ignore();
cin.get();
return 0;
}
//definicion completa de los prototipos
int suma(int x,int y){
return x+y;
}
int resta(int x,int y){
return x-y;
}
El código ya viene comentado. Pero hay que explicar algo importante.
Las funciones en c++ primero se declaran. Esto es lo que vemos en la primera parte del codigo:
int suma(int,int); //prototipo de funcion suma
int resta(int,int);//prototipo de funcion resta
La sintaxis es la siguiente:
Primero se pone el tipo de retorno. Estas 2 funciones devolveran numeros ENTEROS, por eso se usa int. Luego va el nombre de la funcion en este caso: suma y resta. Con el nombre llamaremos a las funciones. Luego vienen los parametros. En el prototipo vale con solo poner el tipo de dato del parametro, en este caso los 2 parametros son Enteros, por eso pone (int,int). Y al final SIEMPRE! se pone un “;” (punto y coma) porque es un prototipo.<tipo de retorno> <nombre de funcion> (<tipo de parametro>...)
Ahora debajo del main ya ponemos que hara nuestra funcion:
int suma(int x,int y){
return x+y;
}
int resta(int x,int y){
return x-y;
}
Aqui los parametros deben tener nombre. Ya no es solo el tipo de dato, sino que necesitamos un nombre para poder hacer referencia a ellos dentro de la función. Aquí ya no se pone un “;” como en el prototipo, aquí ya se abren los corchetes {} y dentro de los corchetes decimos que hará esa función.
En estos casos sencillos, una función devuelve la suma de 2 números y la otra la resta de 2 números, que son pasados por parámetros.
Para llamar una funcion simplemente ocupamos su nombre y rellenamos los parametros:
suma(5,6); //esto nos dara 11, simplemente llamamos la funcion con parametros y listo.
Bueno espero hayan entendido bien el concepto de función y hayan aprendido.
Seria bueno que ampliaran este código y agregaran función para multiplicar y dividir. Si quieren pueden mandarlo al foro y así ver que tal van, al igual que mandar preguntas etc.
Saludos
LeX.