program tareafinal;
uses crt
TYPE
tipopregu=record
preg:string[100];
resp:string[100];
end;
const
preguntas:array[1..11] of pregu=(
(preg:'Capital de antolin del campo?';resp:'paraguachi'),
(preg:'Capital de arismendi?';resp:'la asuncion'),
(preg:'Capital de antonio diaz?';resp:'san juan'),
(preg:'Capital de garcia?';resp:'el valle'),
(preg:'Capital de gomez?';resp:'santa ana'),
(preg:'Capital de maneiro?';resp:'pampatar'),
(preg:'Capital de marcano?';resp:'juan griego'),
(preg:'Capital de mariño?';resp:'porlamar'),
(preg:'Capital de macanao?';resp:'boca del rio'),
(preg:'Capital de tubores?';resp:'punta de piedras'),
(preg:'Capital de villalba?';resp:'coche') );
Var
respuesta:string[100];
correctas,incorrectas:integer;
lapre,pp,aleatorio:integer;
pregunta:array[1..11] of integer;
f: file of pregu;
dato:pregu;
procedure guardadatos;
var
i:integer;
begin
assing(f,'Adipreg.dat');
{SI-} reset(f); {SI+}
if ioresult<> o then
begin
rewrite(f);
for i:=1 to 11 do
begin
dato.preg:=preguntas[i]:pregu;
dato.preg:=preguntas[i]:resp;
seek(f,i-1);
write(f,dato);
end;
close(f);
end
else
begin
close(f);
erase(f);
assign(f,'Adipreg.dat');
rewrite(f);
for i:=1 to 11 do
begin
dato.preg:= preguntas[i].preg;
dato.preg:= preguntas[i].resp;
seek(f,i-1);
write(f,dato);
end;
close(f);
end;
end;
function tamadatos: boolean;
var
i:integer;
begin
assign(f,'Adipreg.dat');
{SI-} reset(f); {SI+}
if ioresult <> o then
begin
tamadatos:= false;
writeln('Error de archivo o no existe pulse una tecla');
readkey;
end
else
begin
for i:= 1 to 11 do
begin
seek(f,i-1);
read(f,dato);
preguntas[i].preg:=dato.preg;
preguntas[i].preg:=dato.resp;
end;
close(f);
tamadatos:=true;
end;
end;
procedure entrada_preguntas;
var
h:integer;
begin
for h:=1 to 11 do
begin
writeln('***** Entrada de Preguntas y respuestas *****');
writeln('Pregunta N. ',h,' :');readln(preguntas[h].preg);
writeln('Respuesta N. ',h,' :');readln(preguntas[h].resp);
end;
guardadatos;
end;
procedure cual(var cualtoca:integer);
var
esta:boolean;
t:integer;
begin
esta:=false;
aleatorio:=random(30)+1;
for t:=1 to 11 do
begin
if pregunta[t]=aleatorio then
esta:=true;
end;
if esta=true then
cual(cualtoca)
else
begin
cualtoca:=aleatorio;
pregunta[pp]:=aleatorio;
pp:=pp+1;
end;
end;
procedure lapregunta;
var
j:integer;
begin
clrscr;
cual(lapre);
writeln('La pregunta Es:',preguntas[lapre].preg);
writeln('La Respuesta Es=');
readln(respuesta);
for j:=1 to length(preguntas[lapre].resp)do
preguntas[lapre].resp[j]:=upcase(preguntas[lapre].resp[j]);
clrscr;
writeln('*** La Respuesta ***');
if preguntas[lapre].resp=respuesta[j] then
begin
writeln(' Respuesta Cierta');
end
else
begin
writeln('Respuesta Negativa');
end;
readkey;
end;
begin
clrscr;
fillchar(preguntas,sizeof(preguntas),'');
entrada_preguntas;
randomize;
pp:=1;
if tamadatos= true then
lapregunta
else
begin
writeln('Falta Archivo De Datos Pulse Una Tecla');
readkey;
end;
end.