You are on page 1of 3

Realice un programa que permita crear un archivo a travs del cual se llevar el reg istro de empleados de una compaia.

Cada registro estar compuesto por los sig campos: nom bre, apellido, cedula y departamento al que pertenece (a,b,c,d) el archivo ser manejad o a traves del sig men: 1.- agregar registros, 2.- consultar registros, 3.- eliminar registros y 4.- finalizar. La consulta ser general y en ella se deben calcular y mostrar cuan tos empleados hay en cada departamento.

Uses CRT; Type TRegistro=Record NOMBRE : String; APELLIDO : String; CEDULA : String; DPTO : Char; End; TFichero = File of TRegistro; Var REGISTRO : TRegistro; FICHERO : TFichero; OPCION : Integer; Procedure Altas(var F : TFichero); var R : TRegistro; Begin ClrScr; GotoXY(10,10); WriteLn('Nombre: '); GotoXY(10,12); WriteLn('Apellido: '); GotoXY(10,14); WriteLn('C,dula: '); GotoXY(10,16); Writeln('Departamento: '); GotoXY(19,10); ReadLn(R.Nombre); GotoXY(22,10); ReadLn(R.Apellido); Repeat GotoXY(19,10); ClrEol; ReadLn(R.DPTO); Until R.DPTO in ['a'..'d','A'..'D']; Write(F,R); End; Procedure Consultas(var F : TFichero); Var ENCONTRADO: Boolean; AUX : String; R : TRegistro;

NumA,NumB,NumC,NumD : Integer; Begin ClrScr; While not eof(f) do Begin Read(F,R); Case R.DPTO of 'a','A' : Inc(NUMA); 'b','B' : Inc(NUMB); 'c','C' : Inc(NUMC); 'd','D' : Inc(NUMD); eND; End; GotoXY(10,10); Writeln('Trabajadores GotoXY(10,12); Writeln('Trabajadores GotoXY(10,14); Writeln('Trabajadores GotoXY(10,16); Writeln('Trabajadores End; Procedure Bajas(var F : TFichero); var FAUX : TFichero; AUX : String; R : TRegistro; Begin Assign(FAUX,'AUX.DAT'); ReWrite(FAUX); WriteLn('Introduzca la c,dula: '); Readln(AUX); While not eof(F) do Begin Read(F,R); IF R.CEDULA <> AUX then Write(FAUX,R); End; erase(F); rename(FAUX,'AGENDA.DAT'); end; PROCEDURE MENU (VAR OPCION:INTEGER); BEGIN CLRSCR; REPEAT GOTOXY (23,9); WRITE ( '1. Altas'); GOTOXY (23,11); WRITE ('2. Bajas'); GOTOXY (23,13); WRITE ('3. Consultas'); GOTOXY (23,15); WRITE ('4. Salir'); GOTOXY (23,19); WRITE ('INTRODUZCA OPCION:'); GOTOXY (42,19); READLN (OPCION); UNTIL (OPCION>0) OR (OPCION<6) END;

en en en en

el el el el

departamento departamento departamento departamento

A: B: C: D:

',NUMA); ',NUMB); ',NUMC); ',NUMD);

Begin Assign(FICHERO, 'Agenda.dat'); {$I-} Reset(FICHERO); {$I+} if IOResult = 0 then Begin REPEAT MENU (OPCION); CASE OPCION OF 1: ALTAS(FICHERO); 2: BAJAS (FICHERO); 3: CONSULTAS(FICHERO); END; UNTIL OPCION=4; CLOSE(FICHERO) end else Writeln('Fichero no hallado'); End.

You might also like