FUNCIONES.c



/* EJEMPLO DE FUNCIONES ... */

#include <stdio.h>

/* 	PROTOTIPOS DE FUNCION */
void LimpiaPantalla( void );
int PideDato( char[ ] );
void ImprimeMensaje( char [ ] );
void Control ( );
int Factorial( int N_to_Fac );
void Pausa( );
/* ===================================== */

void Pausa( void )
{
	int x=0;

	ImprimeMensaje("pulsa un nUmero y enter para continuar: ");
	scanf("%i", &x);
}

int PideDato( char MENSAJE[ ] )
{
	int VAR = 0;

	LimpiaPantalla( );
	ImprimeMensaje( MENSAJE );
	scanf("%i", &VAR);
	return VAR;
}

void ImprimeMensaje( char MENSAJE[ ] ) { printf("%s", MENSAJE); }
void LimpiaPantalla( void ) { system("clear"); }

int Factorial( int N_to_Fac )
{
	int x, Resp = 1;

	for(x = 1; x <= N_to_Fac; x++)
		Resp *= x;
	return Resp;
}

void Control ( )
{
	int N_to_Fac = 0;
	int R_from_Fac = 0;
	char RESP[80];

	do
	{
		LimpiaPantalla( );
		N_to_Fac = PideDato("Introduce el nUmero: ");
		LimpiaPantalla( );
		R_from_Fac = Factorial( N_to_Fac );
		sprintf(RESP, "El %i! = %i\n", N_to_Fac, R_from_Fac);
		ImprimeMensaje(RESP);
		Pausa( );
	} while ( N_to_Fac );
}

int main() { Control ( ); }