Created
May 16, 2016 14:25
-
-
Save matipan/c1bdf78bb2a6b624bc84dc6d0878afc4 to your computer and use it in GitHub Desktop.
Ejercicio 1, bajas.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Program ejer1; | |
const | |
valoralto='0000'; | |
type | |
codstr = string[10]; | |
tragoR = record | |
codigo: codstr; | |
nombre: string[20]; | |
descripcion: string[50]; | |
alcohol: real; | |
end; | |
maestro = file of tragoR; | |
procedure escribirMae(var mae: maestro); | |
var | |
trago: tragoR; | |
begin | |
writeln('TRAGO: '); | |
write('Introduzca codigo: '); | |
readln(trago.codigo); | |
while (trago.codigo <> valoralto) do | |
begin | |
write('Introduzca nombre: '); | |
readln(trago.nombre); | |
write('Introduzca descripcion: '); | |
readln(trago.descripcion); | |
write('Introduzca alcohol: '); | |
readln(trago.alcohol); | |
write(mae, trago); | |
writeln('TRAGO: '); | |
write('Introduzca codigo: '); | |
readln(trago.codigo); | |
end; | |
end; | |
procedure imprimirMae(var mae: maestro); | |
var | |
trago: tragoR; | |
begin | |
reset(mae); | |
read(mae, trago); | |
while (not eof(mae)) do | |
begin | |
writeln('TRAGO: '); | |
write('Codigo: '); | |
writeln(trago.codigo); | |
write('Nombre: '); | |
writeln(trago.nombre); | |
write('Descripcion: '); | |
writeln(trago.descripcion); | |
write('Alcohol: '); | |
writeln(trago.alcohol); | |
read(mae, trago); | |
end; | |
writeln('TRAGO: '); | |
write('Codigo: '); | |
writeln(trago.codigo); | |
write('Nombre: '); | |
writeln(trago.nombre); | |
write('Descripcion: '); | |
writeln(trago.descripcion); | |
write('Alcohol: '); | |
writeln(trago.alcohol); | |
reset(mae); | |
end; | |
procedure actualizar(var mae: maestro; codigo: codstr); | |
var | |
trago: tragoR; | |
iBorrar: Word; | |
begin | |
repeat read(mae, trago) until (trago.codigo = codigo) or eof(mae); | |
if(codigo = trago.codigo) then | |
begin | |
iBorrar := filepos(mae)-1; | |
seek(mae, filesize(mae)-1); read(mae, trago); | |
seek(mae, iBorrar); write(mae, trago); | |
seek(mae, filesize(mae)-1); truncate(mae); | |
writeln('Trago eliminado.'); | |
end | |
else | |
writeln('Trago no encontrado'); | |
reset(mae); | |
end; | |
var | |
mae: maestro; | |
codigo: string[10]; | |
begin | |
assign(mae, 'maestro1.txt'); | |
reset(mae); | |
imprimirMae(mae); | |
write('Introduzca el codigo, finaliza con 0000: '); | |
readln(codigo); | |
while (codigo <> valoralto) do | |
begin | |
actualizar(mae, codigo); | |
imprimirMae(mae); | |
write('Introduzca el codigo, finaliza con 0000: '); | |
readln(codigo); | |
end; | |
close(mae); | |
end. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment