Prototipos
Esta es una sección bastante fácil de aprender. Primero debemos identificar que son los encabezados de un void o de una función. Estos son la primera línea de la declaración donde está situado el nombre y los parámetros si los hay.

Para obtener el prototipo de una función o de un void es necesario obtener el encabezado de éste y simplemente agregarle un punto y coma. Teniendo cuidado en declarar la función o el void al final del programa, es decir, después de la declaración del void main. La nueva versión del programa c3p07.cpp correspondeahora a usar prototipos en las declaraciones de los voids del programa siguiente c3p10.cpp. La característica esencial es que es más fácil usar prototipos a la hora de programar, pues primero se declaran los prototipos como encabezados y hasta el final se declaran programándolos.
#include "conio.h" #include "stdio.h" #include "iostream.h" /* declaracion de los prototipos */
void lee ( int *edad );
/* declaración del void main */
void main ( void )
{
int edad;
lee ( &edad );
}
/* declaración de los voids después del void main*/
void lee ( int *edad )
{
clrscr ();
cout << endl << "Dame tu Edad: "; cin >> *edad;
}
Ahora bien, el programa siguiente c3p11.cpp consiste en mostrar nuevamente los prototipos aplicados al antiguo programa c3p08.cpp. Se aumentan las primeras líneas del programa, esto lo hace más grande, pero también lo hace más fácil. Para la técnica Top-Down es bastante eficiente utilizar prototipos, pues es más fácil pensar en el procedimiento principal ( void main ) y solamente declarar los prototipos y más tarde declarar los voids o funciones completos.
#include "conio.h" #include "stdio.h" #include "iostream.h"
/* declaracion de los prototipos */
void lee ( int *edad );
void imparopar ( int edad );
/* declaracion del void main */
void main ( void )
{
int edad;
lee ( &edad );
imparopar ( edad );
getch ();
}
/* declaracion de los voids */
void lee ( int *edad )
{
clrscr ();
cout << endl << "Dame tu Edad: "; cin >> *edad;
}
void imparopar ( int edad )
{
int a;
a = edad % 2;
if ( a == 0 )
{
cout << endl << edad << " Es Par" << endl;
}
else
{
cout << endl << edad << " Es Impar" << endl;
}
}
El correspondiente anterior es el programa c3p09.cpp, hecho anteriormente, para el siguiente programa, y que consiste en mostrar nuevamente la inclusión de los prototipos dentro del mismo programa c3p12.cpp.
#include "stdio.h" #include "iostream.h" #include "ctype.h"
/* declaracion de los prototipos */
void lee ( int *edad );
void imparopar ( int edad );
/* declaracion del void main */
void main ( void )
{
char respuesta;
int edad;
cout << endl << "Desea Comenzar ( s / n )?: ";
respuesta = getche ();
respuesta = tolower ( respuesta );
while ( respuesta == 's' )
{
lee ( &edad );
imparopar ( edad );
cout << endl << "Desea Repetir ( s / n )?: ";
respuesta = getche ();
respuesta = tolower ( respuesta );
}
getch ();
}
/* declaracion de los voids */
void lee ( int *edad )
{
clrscr ();
cout << endl << "Dame tu Edad: "; cin >> *edad;
} void imparopar ( int edad )
{
int a;
a = edad % 2;
if ( a == 0 )
{
cout << endl << edad << " Es Par" << endl;
}
else
{
cout << endl << edad << " Es Impar" << endl;
}
}
En este programa se puede notar inmediatamente el gran parecido entre estos últimos tres programas, los prototipos son los mismos, las declaraciones son las mismas, pero el void main de éste último programa es diferente porque cambia al agregar el while que permite repetir con un ciclo la ejecución del programa.