/*
	Ejemplos que muestran como usar funciones en C. 
	
	Para correr este programa guarda el archivo  
	como ejemplos_funciones.c
*/

#include<stdio.h>


/* 	Declaracion de prototipo de una funcion con un 
	argumento  (parametro)   entero  que regresa 
	un valor entero. 
*/

int cuadrado(int);


/* 	Declaracion de prototipo de una funcion con dos
	argumentos  (parametros)  tipo float que regresa un 
	valor tipo float. 
*/

float sumando(float , float);


/* 	Declaracion de prototipo de una funcion sin argumentos  
	que no regresa ningun valor. 
*/

void imprime_estrellas();


/* 	Declaracion de prototipo de una funcion con dos argumentos;
	el primero un arreglo de enteros, el segundo un entero. La funcion 
	regresa un valor entero. Nota la manera de declarar el arreglo. 
	El nombre del arreglo que usas en esta decalaracion 
	no importa.
*/

int elemento(int arreglo[] , int);
	
/*	Nota: en algunas computadoras se requiere modificar  la declaracion 
	del ultimo prototipo a 
	
	int elemento(int arreglo[5] , int);
	
	u otro numero en lugar de 5 que indica el tama~no del arreglo que vas a usar. 
*/ 



 
void main()
{
	float x,y,suma; //tres variables tipo float
	
	int n, n_cuadrado, mi_numero; //tres variables enteros
	
	int lista[5]={2,4,6,8,10}; //un arreglo con 5 variables enteros, inicializado. 
	
	n=3; 
	n_cuadrado=cuadrado(n);
	printf("n=%d,  n_cuadrado=%d\n", n, n_cuadrado);
	
	imprime_estrellas();
	
	x=2.3;
	y=3.4;
	suma=sumando(x,y);
	printf("x=%f, y=%f, x+y=%f\n", x,y, suma);

	imprime_estrellas();
	
	mi_numero=elemento(lista,3); 
	printf("mi numero es %d\n", mi_numero);
		
}
		
int cuadrado(int numero) 
{
	int numero_cuadrado;
	
	numero_cuadrado=numero*numero;
	return numero_cuadrado;
}

float  sumando(float primer_numero, float segundo_numero) 
{

	return primer_numero+segundo_numero;
}

void imprime_estrellas()
{
	printf("******************************\n");
}

int elemento(int numeros[5] , int indice)
{
	return numeros[indice];
}