A modo de ejemplo te dejo una posible solución a la problematica planteada:
Código:
//#include<conio.h> obsoleta...
#include<stdio.h>
#include<stdlib.h>// libreria que define a la funcion system()
#define ACTUAL 2007
#define N 4 // la cantidad de cifras
#define win32
#define linux // en el foro se dio a conocer la utilidad de system
#ifdef win32 // en este caso particular como un buen reemplazo de
#define clrscr() system( "cls" ); //clrscr() de conio.
#else
#define clrscr() system( "clear" );
#endif
void CargarEdad(int edad[N])
{
int i,mult=1000;
for(i=0;i<N;i++)
{
edad[i]=getchar();// getchar lee caracteres - uno por vez
edad[i]=(edad[i]-'0')*mult;
mult/=10;
if(i>0)
edad[0]+=edad[i];
}
getchar();//elimina el enter
}
int main (void)
{
int edad[N]; // arreglo-- por asi decirlo es un grupo de variables contiguas en memoria
// se accede a cada una de elllas con un indice encerrado entre [0] a [N-1]. -entre otras formas
printf("Digite su anio de nacimiento ");
CargarEdad(edad);// procedimiento de carga
printf("anio de nacimiento= %i\n",edad[0]);
while((edad[0] < 1982)||(edad[0] > ACTUAL)) // validacion
{
printf ("Fecha no valida (>=1982 y <= al anio actual) ");
CargarEdad(edad);
}
edad[0]=ACTUAL-edad[0];
printf ("Su edad es: %d\n",edad[0]);
clrscr();
return 0;
}