program corocoras;
uses dos, crt;
type
TFecha = record
Anio: word;
Mes: word;
Dia: word;
end;
TDatos = record
Nombre: string;
Edad: integer;
Grado: byte;
Prom: real;
end;
var
Datos: TDatos;
Archivo: File of TDatos;
procedure calculaedad;
var
dds: word;
Nacimiento, Actual: TFecha;
begin
getdate(Actual.Anio, Actual.Mes, Actual.Dia, dds);
writeln ('La fecha actual es: ', Actual.Dia, '/', Actual.Mes, '/', Actual.Anio);
write ('D¡a: ');
readln (Nacimiento.Dia);
write ('Mes: ');
readln (Nacimiento.Mes);
write ('A¤o: ');
readln (Nacimiento.Anio);
if (Actual.Mes > Nacimiento.Mes) then
Datos.Edad:= Actual.Anio - Nacimiento.Anio
else if (Nacimiento.Mes = Actual.Mes) and (Actual.Dia >= Nacimiento.Dia) then
Datos.Edad:= Actual.Anio - Nacimiento.Anio
else
Datos.Edad:= Actual.Anio - Nacimiento.Anio - 1;
{if (Actual.Mes > Nacimiento.Mes) then
Datos.Edad:= Actual.Anio - Nacimiento.Anio - 1;
if (Actual.Mes < Nacimiento.Mes) then
Datos.Edad:= Actual.Anio - Nacimiento.Anio;
if (Nacimiento.Mes = Actual.Mes) then
if (Actual.Dia >= Nacimiento.Dia) then
Datos.Edad:= Actual.Anio - Nacimiento.Anio - 1
else Datos.Edad:= Actual.Anio - Nacimiento.Anio;}
end;
procedure obtenernotas;
var
i: byte;
key: char;
Notas: Array[1..10] of real;
SumNotas: real;
begin
i:= 0;
repeat
i:= i + 1;
write ('Intoduzca la nota: ');
readln (Notas[i]);
SumNotas:= SumNotas + Notas[i];
write ('¨Desea introducir otra nota? (s/n): ');
readln (key);
if i = 10 then write ('Ya se tienen 10 notas del alumno');
until (key = 'n') or (key = 'N') or (i = 10);
Datos.Prom:= SumNotas / i;
write ('El promedio es ', Datos.Prom);
readln;
end;
procedure obtenerdatos;
begin
clrscr;
write ('Introduzca el nombre: ');
readln (Datos.Nombre);
writeln ('Fecha de nacimiento: ');
calculaedad;
write ('Grado: ');
readln (Datos.Grado);
write ('Notas: ');
obtenernotas;
end;
procedure almacenardatos;
begin
end;
begin
obtenerdatos;
almacenardatos;
writeln ('Nombre: ' ,Datos.Nombre);
writeln ('Edad: ' ,Datos.Edad);
writeln ('Grado: ' ,Datos.Grado);
writeln ('Notas: ' ,Datos.Prom);
readln;
end.