ayuda!
Publicado por usuaria (27 intervenciones) el 25/01/2007 20:57:23
Hola, tengo dos consultas del siguiente codigo a las cuales no logro encontrar explicacion.
Program Liquidacion;
Uses
crt;
Type
tregistro=Record
codigo:integer;
nomyap:string[10];
dni:longint;
sueldo_basico:real;
reten:real;
End;
tArchivo=file of tregistro;
Var
empleados:tArchivo;
Procedure Carga (Var Arch:tArchivo);
Var
opcion:char;
reg:tregistro;
Begin
opcion:='s';
While (opcion='s') do
Begin
Writeln ('Codigo');
Read(reg.codigo);
Writeln ('Nombre'); {?????????????????}
Read(reg.nomyap);
Writeln ('DNI');
Read(reg.dni);
Writeln ('SueldoBasico');
Read(reg.sueldo_basico);
Writeln ('Retenciones');
Read(reg.reten);
Write (Arch,reg);
Writeln ('¨Ingresar Otro? s/n');
Readln (opcion);
end;
End;
Procedure Liquida (Var Arch:tArchivo);
Var
reg:tregistro;
Begin
Reset(empleados);
While not eof(empleados) do
Begin
Read(empleados,reg);
Writeln ('Nombre Apellido:',reg.nomyap);
Writeln ('DNI',reg.dni);
Writeln ('SueldoBasico',reg.sueldo_basico);
Writeln ('Retenciones',reg.reten);
Writeln ('Sueldo Neto',reg.sueldo_basico-reg.reten);
End;
End;
{PROGRAMA PRINCIPAL}
Begin
ClrScr;
Assign (Empleados,'EMPLEADOS.DAT');
Rewrite (empleados);
Carga(empleados);
Liquida(empleados);
Close(empleados);
End.
1)PUEDO ESCIRBIR EL CODIGO, DNI, SUELDOS, RETENCIONES,PERO EL NOMBRE NO ME LO DEJA ESCRIBIR ME SALTA DIRECTO A DNI QUERIA SABER PORQ PASA ESO????? (en el procedimiento carga donde estan los signos es el problema)
2)LA CARGA SOLO ME LA DEJA HACER CON WHILE CON REPEAT(abajo escribi como la hago con repeat) NO ME LA TOMA:
Begin
Repeat
Writeln ('Codigo');
Read(reg.codigo);
Writeln ('Nombre');
Read(reg.nomyap);
Writeln ('DNI');
Read(reg.dni);
Writeln ('SueldoBasico');
Read(reg.sueldo_basico);
Writeln ('Retenciones');
Read(reg.reten);
Write (Arch,reg);
Writeln ('¨Ingresar Otro? s/n');
Readln (opcion);
Until (opcion='n');
End;
desçde ya muchas gracias!!!" :)
Program Liquidacion;
Uses
crt;
Type
tregistro=Record
codigo:integer;
nomyap:string[10];
dni:longint;
sueldo_basico:real;
reten:real;
End;
tArchivo=file of tregistro;
Var
empleados:tArchivo;
Procedure Carga (Var Arch:tArchivo);
Var
opcion:char;
reg:tregistro;
Begin
opcion:='s';
While (opcion='s') do
Begin
Writeln ('Codigo');
Read(reg.codigo);
Writeln ('Nombre'); {?????????????????}
Read(reg.nomyap);
Writeln ('DNI');
Read(reg.dni);
Writeln ('SueldoBasico');
Read(reg.sueldo_basico);
Writeln ('Retenciones');
Read(reg.reten);
Write (Arch,reg);
Writeln ('¨Ingresar Otro? s/n');
Readln (opcion);
end;
End;
Procedure Liquida (Var Arch:tArchivo);
Var
reg:tregistro;
Begin
Reset(empleados);
While not eof(empleados) do
Begin
Read(empleados,reg);
Writeln ('Nombre Apellido:',reg.nomyap);
Writeln ('DNI',reg.dni);
Writeln ('SueldoBasico',reg.sueldo_basico);
Writeln ('Retenciones',reg.reten);
Writeln ('Sueldo Neto',reg.sueldo_basico-reg.reten);
End;
End;
{PROGRAMA PRINCIPAL}
Begin
ClrScr;
Assign (Empleados,'EMPLEADOS.DAT');
Rewrite (empleados);
Carga(empleados);
Liquida(empleados);
Close(empleados);
End.
1)PUEDO ESCIRBIR EL CODIGO, DNI, SUELDOS, RETENCIONES,PERO EL NOMBRE NO ME LO DEJA ESCRIBIR ME SALTA DIRECTO A DNI QUERIA SABER PORQ PASA ESO????? (en el procedimiento carga donde estan los signos es el problema)
2)LA CARGA SOLO ME LA DEJA HACER CON WHILE CON REPEAT(abajo escribi como la hago con repeat) NO ME LA TOMA:
Begin
Repeat
Writeln ('Codigo');
Read(reg.codigo);
Writeln ('Nombre');
Read(reg.nomyap);
Writeln ('DNI');
Read(reg.dni);
Writeln ('SueldoBasico');
Read(reg.sueldo_basico);
Writeln ('Retenciones');
Read(reg.reten);
Write (Arch,reg);
Writeln ('¨Ingresar Otro? s/n');
Readln (opcion);
Until (opcion='n');
End;
desçde ya muchas gracias!!!" :)
Valora esta pregunta


0