Sie sind auf Seite 1von 15

LENGUAJE DE

PROGRAMACION
FUNCIONES

Cada

programa que hemos hecho ha


consistido de una funcin principal
llamada main, que para llevar a cabo sus
tareas o llamado funciones estndar de
biblioteca. Veremos ahora, como los
programadores escriben sus propias
funciones personalizadas.

CONCEPTOS BSICOS DE FUNCIONES

Una

funcin es una coleccin independiente


de declaraciones y sentencias, generalmente
enfocadas a realizar una tarea especfica.
Todo programa en C consta al menos de una
funcin, la funcin main(). Adems de sta,
puede haber otras funciones cuya finalidad
es, fundamentalmente, descomponer el
problema general en subproblemas ms
fciles de resolver y de mantener.

DEFINICIN DE FUNCIN

ESTRUCTURA DE UNA FUNCIN


El formato de una definicin de funcin es la siguiente:
Sintaxis: tipo de valor de regreso nombre de la funcin(lista de parmetros)
{
declaraciones, sentencias enunciados.
}
Donde:
nombre de la funcin Es cualquier nombre que identificamos fcilmente y que es vlido.
Tipo de valor de regreso Es el tipo de los datos del resultado regresado. El tipo de
regreso void indica que una funcin no devolver un valor; uno no propuesto siempre
se toma como int.
(lista de parmetros) Variables que intervienen en las declaraciones enunciados dentro
de la funcin.
declaraciones, sentencias Cuerpo de la funcin.
enunciados
Antes de comenzar con el paso de argumentos de una funcin, hay que saber dnde se
colocan las funciones dentro de un programa en C, para que en un futuro no cometa
errores.
El paso de argumentos de una funcin es exactamente lo mismo que, prototipo de funcin.

#include<stdio.h>
#include<conio.h>
/* DECLARACIN DE FUNCIONES */
/* LAS VARIABLES QUE SE OCUPAN DENTRO DE LAS FUNCIONES SE
DECLARAN COMO GLOBALES,O DESPUS DE LAS DECLARACIONES DE
FUNCIONES */
main()
{
//CUERPO DEL PROGRAMA
}//LLAVE QUE INDICA EL FIN DE MAIN
Despus del programa principal se coloca las funciones, tal cual como se
declararon en la parte superior.
/*AQU SE COLOCAN LAS FUNCIONES*/

DONDE SE COLOCA LA FUNCIN

#include <stdio.h>
#include <stdio.h>
//Declaracin de variables.
void menu (void);
void sumar (double dato1, double dato2);
double restar (void);
double multiplicar (double dato1, double
dato2);
double dividir (double dato1, double
dato2);

main ( )
{
while (1)
{
do
{
system (cls);
menu ( );
scanf (%d, &operacion);
}
while (operacin < 1 || operacin > 5);
if (operacin != 5)
{
printf (\n Teclear dato 1:);
scanf (%lf, &dato1);
printf (\n Teclear dato 2:);
scanf (%lf, &dato2);
switch (operacion)
{
case 1:
sumar(dato1, dato2);
break;
case 2:
resultado = restar( );
break;

case 3:
resultado = multiplicar(dato1, dato2);
break;
case 4:
resultado = dividir(dato1, dato2);
break;
}
printf (\n \n Resultado = %g \n, resultado);
printf ( \n Pulse una tecla para continuar);
getch ( );
}
else
break;
}
}

void sumar (double a, double b)


{
double c;
c = a + b;
printf( El resultado es: %f, c);
return ();
}
double restar ()
{
double c;
Pedir valores;
c = a - b;
return (c);
}
double multiplicar (double a, double b)
{
double c;
c = a * b;
return (c);
}
double dividir (double a, double b)
{
double c;
c = a / b;
return (c);
}

void menu ( )
{
printf (\n \t1. sumar \n);
printf (\n \t2. restar \n);
printf (\n \t3. multiplicar \n);
printf (\n \t4. dividir \n);
printf (\n \t5. salir \n);
printf (\n \n Seleccone la operacin deseada:);
}

//Declaracion de librerias
#include<graphics.h>
#include<dos.h>
#include<stdio.h>
#include<conio.h>
//declaracion de funciones
void circulo(void);
void rectangulo(void);
void elipse(void);
void m_error(void);
void inicializagraficos(void);
//Programa principal

Programa de funciones con


graficos

void

main(void)

{
clrscr();
int grafico,a;
a=0 ;
while(a==0)
{
clrscr();
textcolor(1);
gotoxy(1,1);
printf("ELIJE EL GRAFICO QUE DESEAS QUE APAREZCA EN LA PANTALLA:");
textcolor(14);
gotoxy(4,3);
cprintf("1. CIRCULO CONTORNO ROSA, RELLENO AZUL");
gotoxy(4,4);
cprintf("2. RECTANGULO CONTORNO VERDE, RELLENO AMARILLO");
gotoxy(4,5);
cprintf("3. ELIPSE MORADA");
gotoxy(4,16);
textcolor(RED);
cprintf("4. SALIR");
gotoxy(4,20);
textcolor(1);
cprintf("Opcion elegida:");
textcolor(2);
cscanf("%d",&grafico);

clrscr();
switch(grafico)
{
case 1:
circulo();
break;
case 2:
rectangulo();
break;
case 3:
elipse();
break;
case 4:
textcolor(1);
gotoxy(25,10);
cprintf("GRACIAS POR USAR ESTE PROGRAMA");
a=1;
break;
default:
m_error();
break;
}
getch();
getch();
closegraph();
}
}

//Definicion de funciones de usuario


void circulo (void)
{
inicializagraficos();
setcolor(LIGHTMAGENTA);
setfillstyle(1,BLUE);
pieslice(getmaxx()/2,getmaxy()/2,0,360,60);
circle(getmaxx()/2,getmaxy()/2,60);
delay(2000);
}
void rectangulo(void)
{
inicializagraficos();
setcolor(GREEN);
setfillstyle(1,YELLOW);
bar3d(200,180,438,300,0,YELLOW);
bar3d(201,181,437,299,0,YELLOW);
bar3d(202,182,436,298,0,YELLOW);
bar3d(203,183,435,297,0,YELLOW);
//El objetivo de dibujar tantos rectangulos es ir engruesando el contorno
delay(2000);
}

void elipse(void)
{
inicializagraficos();
setcolor(MAGENTA);
setfillstyle(1,MAGENTA);
fillellipse(getmaxx()/2,getmaxy()/2,120,60);
delay(2000);
}
void inicializagraficos(void)
{
int a=DETECT,b;
initgraph(&a,&b,"C:\\BORLANDC\\BGI");
}
void m_error(void)
{
textcolor(9);
gotoxy(15,30);
cprintf("ERROR DE PROGRAMA");
}

Das könnte Ihnen auch gefallen