Академический Документы
Профессиональный Документы
Культура Документы
programa
Visual Studio 2015
Otras versiones
Cada programa de C tiene una función principal que se debe llamar main.Si su código sigue el
modelo de programación Unicode, puede utilizar la versión de carácter ancho
de main, wmain.La función main sirve como punto de partida para la ejecución del
programa.Normalmente, controla la ejecución del programa dirigiendo las llamadas a otras
funciones del programa.Un programa deja de ejecutarse normalmente al final de main, aunque
puede finalizar en otros puntos del programa por distintos motivos.A veces, quizás cuando se
detecta un error, puede resultar conveniente forzar la finalización de un programa.Para ello,
utilice la función exit.Vea la Referencia de la biblioteca en tiempo de ejecución para obtener
información y un ejemplo sobre cómo usar la función exit.
Sintaxis
main( int argc, char *argv[ ], char *envp[ ] )
Los tipos de funciones en c++ son 4, aunque en realidad son las combinaciones de las
2 cosas que una función puede hacer. Si andan perdidos en cuanto a funciones les
recomiendo leer mi post anterior: Funciones en C++.
Una función, como les decía, puede hacer (o no) dos cosas: 1 – Recibir datos y 2 –
Retornar datos. De esto surgen los cuatro tipos de funciones:
1. No reciben ni retornan
2. Reciben y no retornan
3. No reciben y retornan
4. Reciben y retornan
Vamos a hacer un programa que sume dos números, usando los cuatro tipos de
funciones:
No reciben ni retornan
Las más sencillas. Para usarlas sólo tenemos que saber cómo crearlas y cómo llamarlas.
Una función se crea de esta forma 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();
#include
void sumar()
r = num1 + num2;
int main()
sumar();
}
Como ven, todo lo que habríamos puesto en nuestro main mejor los pusimos en una
función y desde el main la llamamos. Una función siempre, siempre, siempre tiene que
ir antes del main.
Una función de este tipo que hemos usado muchas veces es getch();
Reciben y No Retornan
¿Cómo haríamos para pedir los dos números en el main y que la función haga la suma?
Para eso tenemos que hacer una función capaz de recibir datos, entonces
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.
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 la variables que vamos a enviar dentro del
paréntesis en el mismo orden en que las declaramos en la función:
nombre(var1, var2);
#include
int r;
r = num1 + num2;
}
int main()
sumar(num1, num2);
Pedimos los dos números en el main, los enviamos a la función, ésta los suma y los
muestra.
Una función de este tipo que hemos usado muchas veces es el odiado por muchos,
amados por otros, gotoxy(x,y);
Retornan y No Reciben
¿Y si ahora 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’.
Este es un buen momento para recordarles que 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. Un poco confuso lo se, no se preocupen.
int sumar()
r = num1 + num2;
return r;
int main()
int r;
r = sumar();
Reciben y Retornan
Ahora queremos que nuestra 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. ¡Wow! ¿Es acaso eso posible? Claro
que sí.
Es sólo cuestión de combinar las funciones que reciben y no retornan con las que
retornan y no reciben.
int r;
r = num1 + num2;
return r;
int main()
r = sumar(num1, num2);
Las funciones de la librería math.h son en su mayoría de este tipo. sqrt(); pow(); sin();
En principio puede parecer que las funciones sirven únicamente para organizar el
código, lo cual es cierto, pero no sólo eso. ¿Se imaginan si tuviéramos que escribir todo
el código detrás de un simple gotoxy();? Ah verdad…
#include
int main()
Funciones en C++
November 6, 2010Cursofunciones
Imagínense que están entrenando a su perro a hacerse el muertito. Cada vez que ustedes
dicen ‘muertito‘, el perro se tira de espaldas en el suelo, cierra los ojos y saca la lengua.
En programación, el contenido de la función sería tirarse de espaldas, cerrar los ojos y
sacar la lengua; el nombre de la función sería muertito; y cada vez que nosotros
decimosmuertito estamos llamando a la función.
void muertito()
Perro.Tirarse(posicion='espalda');
Perro[OjoDer].Cerrar();
Perro[OjoIzq].Cerrar();
Perro[Lengua].Sacar();
Jajaja, bueno, bueno. Ya en serio vamos a hacer un clásico Hola Mundo pero usando
una función:
#include
void hola()
int main()
hola();
Como ven, esta función es muy estúpida. No nos beneficia en nada y nos hace escribir
más código del necesario, pero nos sirve para ver cómo actúa una función: al momento
de llamar a la función, el compilador se brinca a la función, la ejecuta y cuando termina,
vuelve al punto desde donde brincó.
#include
int main()
char nombre[50];
hola(nombre);
No se preocupen, si nunca habían visto una función tal vez no entiendan la sintaxis,
pero el objetivo de este post es que sepan qué es una función y para qué se puede usar.
En el siguiente post voy a explicar la sintaxis de los cuatro tipos de funciones en c++.
Bueno, casi creo que nunca he hablado de matrices, parámetros o funciones en este
blog, pero este post es una petición de Rodrigo que me dijo por email que tenía
problemas con su tarea porque no sabe cómo pasar una matriz como parámetro a
una función en c++. Es algo sencillo, pero difícil de deducir. Veamos.
Este programa pide tres números, los almacena en una matriz, le suma 1 a cada
elemento y los muestra, usando para cada acción una función. Así que tenemos
funciones que reciben matrices y que retornan matrices. Chéquenlo.
#include
{
for(int i=0; i<=len; i++)
matriz[i]++;
return matriz[3];
int main()
pedir(matriz, len-1);
mostrar(matriz, len-1);
return 0;
}
Una función a veces útil a veces no mucho es el delay(), sirve para hacer una pausa de
‘n’ segundos. En algunos compiladores Borland esta función se incluye en la librería
conio.h pero como aquí estamos del lado del software libre vamos a hacer nosotros
mismos esta función. Primero veamos cómo se usa:
delay(variable_tipo_int);
es decir:
int secs=10;
delay(secs);
o
delay(numero_entero);
es decir:
delay(12);
Y claro, la función es esta:
void delay(int secs) {
for(int i = (time(NULL) + secs); time(NULL) != i; time(NULL));
}
#include
#include
int main()
{
int sec;
delay(sec);
Para poder usar la función delay de esta forma es necesario ponerla en todos los
programas en donde necesitemos usarla (ahora me doy cuenta que no he escrito mucho
sobre funciones) e incluir siempre la librería #include<time.h> o #include<ctime>.
Ordenar arreglo de
manera ascendente o
descendente (burbuja)
November 19, 2009Programasarreglos, burbuja, funciones
#include<iostream>
int ordenar(int[],int);
int imprimir(int[]);
int main()
int c,lista[9],ord;
for(c=0;c<=9;c++)
{
cout<<"Numero "<<c+1<<": "; cin>>lista[c];
if(ord==1 || ord==2)
ordenar(lista,ord);
imprimir(lista);
int c1,c2,aux;
for(c1=0;c1<=9;c1++)
for(c2=0;c2<9;c2++)
if(ord==1)
if(lista[c2]>lista[c2+1])
aux=lista[c2];
lista[c2]=lista[c2+1];
lista[c2+1]=aux;
}
else
if(lista[c2]<lista[c2+1])
aux=lista[c2];
lista[c2]=lista[c2+1];
lista[c2+1]=aux;
return 0;
int c;
for(c=0;c<=9;c++)
cout<<lista[c]<<" ";
cin.get();cin.get();