[ Foro de Pascal ]
cordial saludo profesor nacho y compañeros del foro.
queria preguntar en esta ocasion si pudieran hecharme una mano de como podria leer de una forma mas compacta y equivalente quiza , en mi siguiente planteamiento que parte de un programa que realice pero del que me gustaria optimizar cosas, entre ellas la que planteo:
program ayuda;
uses crt;
const MAXEMPLEADOS =5;
MAXDIAS=3;
type
tpTiempo=record
hh,mm:integer;
end;
tpDatos=record
dni:string[9];
horas:array[1..MAXDIAS]of tpTiempo;
end;
tpTotal_empleados=array[1..MAXEMPLEADOS] of tpDatos;
var
empleados: tpTotal_empleados ;
t : tiempo;
dias,horas:integer
...
for i:=1 to MAXEMPLEADOS do
begin
writeln('digite el dni del empleado ',i, ' : ');
readln(empleados[i].dni);
writeln('introduzca los tiempos del empleado ' ,i, ' : ');
for j:=1 to MAXDIAS do
begin
writeln('escriba las horas: ');
readln(empleados[i].horas[j].hh);
writeln('escriba los minutos: ');
readln(empleados[i].horas[j].hh);
end;
end;
....
bien mi pregunta esta aqui mismo, como puedo leer quiza un poco mas reducido la forma en que leo las horas y minutos?
readln(empleados[i].horas[j].hh);
readln(empleados[i].horas[j].hh);
o como podria utilizar mi variable: t : tiempo; para leer los tiempos para cada empleado...
gracias por cualquier ayuda que me puedan brindar.
Está bien así.
No se trata de "escribir poco", sino de que el programa sea legible (y, por tanto, fácil de corregir y de ampliar).
Podrías leer la hora y los minutos a la vez, en formato HH:MM, en una cadena de texto, para luego descomponer en las dos partes, pero eso posiblemente no sería más breve, y con toda certeza sería más complejo, y, por ello, más propenso a errores). Si haces algún cambio de este estilo, debería ser para que el programa resulte más amigable al usuario, no para que el fuente sea más compacto.
(Cuidado: doy por sentado que ha sido un error de transcripción, pero fíjate que en los dos casos estás leyendo ".hh", cuando deberías leer primero ".hh" y luego ".mm").
ok profesor, de hecho asi me funciona perfecto el programa, solo que queria saber por curiosidad si estaba quiza muy larga mi opcion, y efectivamente me equivoque en la trascripcion, son mm en la segunda parte.gracias por tu sabio consejo, lo dejare asi.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)