jueves, 15 de octubre de 2009

MANTENIMIENTO DE LA TABLA EMPLEADO

PRACTICA CALIFICADA NRO. 1
MANTENIMIENTO DE LA TABLA EMPLEADO.DBF

1. Crear la tabla Empleado.dbf, con la siguiente estructura:
CAMPO TIPO ANCHO DECIMALES
CODIGO CARÁCTER 6
NOMBRE CARÁCTER 30
DIRECCION CARÁCTER 50
TELEFONO CARÁCTER 8
SUELDOB NUMÉRICO 8 2
FNAC FECHA 8
FING FECHA 8
PROFESION CARÁCTER 20



2. Codificar el programa Principal y guardarlo con el nombre: principal.Prg
SET TALK OFF
SET STATUS OFF
SET SCOREBOARD OFF
USE EMPLEADO
INDEX ON CODIGO TO ORDCOD
OP = 0
DO WHILE OP <> 6
CLEAR
SET COLOR TO B
@00,00 TO 24,79 DOUBLE
SET COLOR TO BG
@01,01,23,78 BOX " "
@2,16 SAY "[ MENU PRINCIPAL ]"
SET COLOR TO RB+
@1,15 TO 3,65 DOUBLE
@4,18 TO 06,62 DOUBLE
@09,16 TO 11,33
@09,47 TO 11,64
@13,16 TO 15,33
@13,47 TO 15,64
@17,16 TO 19,33
@17,47 TO 19,64
@21,04 TO 23,13
@21,66 TO 23,75
SET COLOR TO GR+
@10,17 PROMPT "1.- INGRESOS "
@10,48 PROMPT "2.- CONSULTA I "
@14,17 PROMPT "3.- CONSULTA G "
@14,48 PROMPT "4.- MODIFICACION "
@18,17 PROMPT "5.- ELIMINACION "
@18,48 PROMPT "6.- SALIDA "
@22,05 SAY DATE()
@22,67 SAY TIME()
MENU TO OP
DO CASE
CASE OP = 1
DO I.PRG
CASE OP = 2
DO CI.PRG
CASE OP = 3
DO CG.PRG
CASE OP = 4
DO M.PRG
CASE OP = 5
DO E.PRG
ENDCASE
ENDDO
SET COLOR TO
CLEAR
3. Codificar el programa para ingresar los datos y guardarlo con el nombre: I.prg
SEG = 'S'
DO WHILE UPPER (SEG) <> 'N'
COD = SPACE(6)
STORE SPACE(25) TO NOM, DIR1, PROF
TEL= SPACE(8)
SB = 0.00
FN = DATE()
FI = DATE()
CLEAR
SET COLOR TO B
@00,00 TO 24,79 DOUBLE
SET COLOR TO BG
@04,05 SAY "INGRESE NUEVO CODIGO: "GET COD
READ
SEEK COD
IF FOUND()
@22,20 SAY "CODIGO YA INGRESADO, VERIFIQUE...!"
ELSE
@06,05 SAY "NOMBRE DEL EMPLEADO: " GET NOM
@08,05 SAY "DIRECCION DEL EMPLEADO: " GET DIR1
@10,06 SAY "TELEFONO DEL EMPLEADO: " GET TEL
@12,05 SAY "SUELDO DEL EMPLEADO: " GET SB PICTURE "99,999.99"
@14,05 SAY "FECHA DE NACIMIENTO: " GET FN
@16,05 SAY "FECHA DE INGRESO: " GET FI
@18,05 SAY "PROFESION DEL EMPLEADO: " GET PROF
READ
GRA = 'S'
SET COLOR TO BG+/B+
@21,20 SAY "GRABA LOS DATOS S/N: " GET GRA
READ
IF UPPER(GRA) = 'S'
APPEND BLANK
REPLACE CODIGO WITH COD
REPLACE NOMBRE WITH NOM
REPLACE DIRECCION WITH DIR1
REPLACE TELEFONO WITH TEL
REPLACE SUELDOB WITH SB
REPLACE FNAC WITH FN
REPLACE FING WITH FI
REPLACE PROFESION WITH PROF
@22,20 SAY "GRABACION COMPLETA..!"
ELSE
IF UPPER(GRA) = 'N'
@22,20 SAY "GRABACION CANCELADA..."
ENDIF
ENDIF
ENDIF
@23,20 SAY "CONTINUA INGRESANDO DATOS S/N: " GET SEG
READ
SET COLOR TO
ENDDO
RETURN
4. Codificar el programa para consultas individuales y guardarlo con el nombre: CI.Prg
SEG = 'S'
DO WHILE UPPER(SEG) <> 'N'
COD = SPACE(6)
CLEAR
SET COLOR TO B
@00,00 TO 24,79 DOUBLE
SET COLOR TO BG
@04,05 SAY "CODIGO: " GET COD
READ
SEEK COD
IF FOUND()
STORE NOMBRE TO NOM
STORE DIRECCION TO DIR
STORE TELEFONO TO TEL
STORE SUELDOB TO SB
STORE FNAC TO FN
STORE FING TO FI
STORE PROFESION TO PROF
@06,05 SAY "NOMBRE DEL EMPLEADO: " + NOM
@08,05 SAY "DIRECCION DEL EMPLEADO: " + DIR
@10,05 SAY "TELEFONO DEL EMPLEADO: " + TEL
@12,05 SAY "SUELDO DEL EMPLEADO: "
??SB PICTURE "99,999.99"
@14,05 SAY "FECHA DE NACIMIENTO: "
??FN
@16,05 SAY "FECHA DE INGRESO: "
??FI
@18,05 SAY "PROFESION DEL EMPLEADO: " + PROF
ELSE
SET COLOR TO BG+
@21,20 SAY "EL CODIGO NO EXISTE, VERIFIQUE..!"
ENDIF
SET COLOR TO BG+
@22,20 SAY "CONTINUA CONSULTANDO DATOS? S/N: " GET SEG
READ
ENDDO
RETURN

5. Codificar el programa para consulta general y guardarlo con el nombre: CG.Prg


TOT = 0.00
NLINEA = 22
COLCOD = 3
COLNOM = 10
COLDIR = 39
COLSIM = 67
COLSUE = 70
TIT = "CONSULTA GENERAL DE EMPLEADOS"
ENCA = " CODIGO NOMBRE DIRECCION SUELDO"
GO TOP
DO WHILE .NOT. EOF()
IF NLINEA = 22
CLEAR
SET COLOR TO GR+
@01,25 SAY TIT
SET COLOR TO GR+
@03,01 SAY ENCA
SET COLOR TO RB+
@04,01 SAY "=============================================================================="
NLINEA = 5
ENDIF
SET COLOR TO GR+
@NLINEA,COLCOD SAY CODIGO
@NLINEA,COLNOM SAY NOMBRE
@NLINEA,COLDIR SAY DIRECCION
@NLINEA,COLSIM SAY "Q."
@NLINEA,COLSUE SAY SUELDOB PICTURE "99,999.99"
TOT = SUELDOB + TOT
NLINEA = NLINEA + 1
SKIP
@22,38 SAY "EL TOTAL DE SUELDOS ES: Q."
SET COLOR TO G+
@22,70 SAY TOT PICTURE "99,999.99"
IF NLINEA = 22
SET COLOR TO R+*
@23,30 SAY "PRESIONES ENTER..!"
WAIT" "
SET COLOR TO
ENDIF
ENDDO
IF NLINEA < 22
SET COLOR TO R+*
@23,30 SAY "PRESIONE ENTER..!"
WAIT" "
SET COLOR TO
ENDIF
RETURN

6. Codificar el programa para modificar los datos y guardarlo con el nombre: M.prg
SEG = 'S'
DO WHILE UPPER(SEG) <> 'N'
CLEAR
COD = SPACE(6)
SET COLOR TO B
@00,00 TO 24,79
SET COLOR TO BG
@04,05 SAY "CODIGO: " GET COD
READ
SEEK COD
IF FOUND()
STORE NOMBRE TO NOM
STORE DIRECCION TO DIR1
STORE TELEFONO TO TEL
STORE SUELDOB TO SB
STORE FNAC TO FN
STORE FING TO FI
STORE PROFESION TO PROF
@06,05 SAY "NOMBRE DEL EMPLEADO :" GET NOM
@08,05 SAY "DIRECCION DEL EMPLEADO: " GET DIR1
@10,05 SAY "TELEFONO DEL EMPLEADO: " GET TEL
@12,05 SAY "SUELDO DEL EMPLEADO: "GET SB PICTURE "99,999.99"
@14,05 SAY "FECHA DE NACIMIENTO: "GET FN
@16,05 SAY "FECHA DE INGRESO: " GET FI
@18,05 SAY "PROFESION DEL EMPLEADO: " GET PROF
GRA = 'S'
SET COLOR TO BG+
@20,23 SAY "MODIFICA LOS DATOS? S/N: " GET GRA
READ
IF UPPER(GRA) = 'N'
@21,23 SAY "MODIFICACION CANCELADA..!"
ELSE
IF UPPER(GRA) = 'S'
REPLACE NOMBRE WITH NOM
REPLACE DIRECCION WITH DIR1
REPLACE TELEFONO WITH TEL
REPLACE SUELDOB WITH SB
REPLACE FNAC WITH FN
REPLACE FING WITH FI
REPLACE PROFESION WITH PROF
@21,23 SAY "MODIFICACION COMPLETA..!"
ENDIF
ENDIF
ELSE
SET COLOR TO BG+
@21,23 SAY "CODIGO NO ENCONTRADO, VERIFIQUE..!"
ENDIF
@22,23 SAY "MODIFICA OTRO CODIGO? S/N: " GET SEG
READ
ENDDO
RETURN

7. Codificar el programa para eliminar datos y guardarlo con el nombre: E.Prg
SEG = 'S'
DO WHILE UPPER(SEG) <> 'N'
COD = SPACE(6)
CLEAR
SET COLOR TO B
@00,00 TO 24,79 DOUBLE
SET COLOR TO BG
@04,05 SAY "CODIGO: " GET COD
READ
SEEK COD
IF FOUND()
STORE NOMBRE TO NOM
STORE DIRECCION TO DIR1
STORE TELEFONO TO TEL
STORE SUELDOB TO SB
STORE FNAC TO FN
STORE FING TO FI
STORE PROFESION TO PROF
@06,05 SAY "NOMBRE DEL EMPLEADO: " +NOM
@08,05 SAY "DIRECCION DEL EMPLEADO: " +DIR1
@10,05 SAY "TELEFONO DEL EMPLEADO: " +TEL
@12,05 SAY "SUELDO DEL EMPLEADO: "
??SB PICTURE "99,999.99"
@14,05 SAY "FECHA DE NACIMIENTO: "
??FN
@16,05 SAY "FECHA DE INGRESO: "
??FI
@18,05 SAY "PROFESION DEL EMPLEADO: " +PROF
ELI = 'S'
SET COLOR TO BG+
@20,23 SAY "ELIMINA LOS DATOS? S/N: " GET ELI
READ
IF UPPER(ELI) = 'S'
DELETE
PACK
@21,23 SAY "ELIMINACION COMPLETA..!"
ELSE
IF UPPER(ELI) = 'N'
@21,23 SAY "ELIMINACION CANCELADA..!"
ENDIF
ENDIF
ELSE
SET COLOR TO BG+
@21,23 SAY "CODIGO NO ENCONTRADO, VERIFIQUE..!"
ENDIF
SET COLOR TO BG+
@22,23 SAY "ELIMINA MAS DATOS? S/N: " GET SEG
READ
ENDDO
RETUR