Programación General > Pascal

 Problema Con Record Y Files

(1/1)

zelinkavo:
Buenas, en mi desesperante búsqueda de respuestas por google he dado con estos foros y mi primer mensaje, como no, es para pedir ayuda xD. Estoy con un programa pero no consigo realizar ciertas cosas.

Este es el código que llevo:

-------------------------------------------------------------------------------------------------------------------------------

--- Código: Text ---program menu11; {$APPTYPE CONSOLE} usesSysUtils; constmax_participantes=50; max_vueltas=100; max_long_nombre=255;typet_participante=recordnombre:string[max_long_nombre];apellido:string[max_long_nombre];dorsal:integer;equipo:string[max_long_nombre];end;datos=array [1..max_participantes] of t_participante;varlista_completa:datos;opc,cantidad,c:integer;res:string[1];busqueda:integer;begin{inicializo las variables}repeat{imprimo el titulo del menu}writeln;writeln('------------------------');writeln('Gestion de Participantes');writeln('------------------------');writeln;writeln;{imprimo el menu}Writeln(' 1.-Agregar participante');Writeln(' 2.-Lista de participantes');Writeln(' 3.-Busqueda de participante');Writeln(' 4.-Guardar Participantes en archivo');Writeln(' 5.-Cargar Participantes desde archivo');Writeln(' 6.-Borrar participante');Writeln(' 7.-Salir');{pido la opcion del menu}writeln;Write(' -> Introduce la opcion que desees: ');Readln(opc);case opc of1: //Agregar Participantesbeginfor cantidad:=(cantidad +1) to max_participantes dobeginwriteln;writeln('----------------------');writeln('Agregar Participantes');writeln('----------------------');writeln;writeln;write(' -Nombre ',cantidad,': ');readln(lista_completa[cantidad].nombre);write(' -Apellido: ');readln(lista_completa[cantidad].apellido);write(' -Dorsal: ');readln(lista_completa[cantidad].dorsal);write(' -Equipo: ');readln(lista_completa[cantidad].equipo);writeln;Write('Desea introducir otro participante? s/n: ');Readln(res);{si no, saco del ciclo}if (res='n') OR (res='N') then break;end;end;2: //Listar Participantesbeginwriteln;writeln('------------------------');writeln('Lista de Participantes');writeln('------------------------');writeln;writeln;for c:=1 to cantidad dobeginwriteln('--------------------------------------');writeln('Nombre',c,': ',lista_completa[c].nombre);writeln('Apellido: ',lista_completa[c].apellido);writeln('Dorsal: ',lista_completa[c].dorsal);writeln('Equipo: ',lista_completa[c].equipo);writeln('-------------------------------------');writeln;end;{ciclo de impresion}end;{fin de opcion 2 reporte de productos}3: //Buscar participantes por dorsalbeginWriteln('Buscar participantes por dorsal y mostrar el resto de datos')end;4: //Guardar participantes en un archivobeginWriteln('Guardar participantes en archivo')end;5: //Cargar Participantes desde archivobeginWriteln('Cargar participantes desde archivo');end;6: //Borrar participantebeginWriteln('Borrar participante');end;end;{case} until opc=7;end.  -----------------------------------------------------------------------------------------------------------------------------

El programa tiene que realizar las siguientes acciones:

1.-Agregar participante
2.-Lista de participantes
3.-Búsqueda de participante por dorsal
4.-Guardar Participantes en archivo
5.-Cargar Participantes desde archivo
6.-Borrar participante

He conseguido implementar bien las dos primeras opciones. El problema me ha venido con el resto.

En el punto 3 hay que hacer una búsqueda por dorsal y que se muestren los datos del participante, tengo la impresión de que no debe ser muy difícil pero ni idea oye...

El 4 y el 5 lo mismo, no sé como guardar toda la información del record en un archivo y, por lo tanto no sé como cargar un archivo externo que sobreescriba el record del programa.

Y para terminar, no sé como borrar un participante en concreto del récord, primero porque necesito saber como buscar uno (apartado 3) y luego no sé cómo borrarlo.

En fin, no pido que me digáis todos los puntos que me faltan, con uno me conformo xDDD

Gracia de antemano.

Navegación

[0] Índice de Mensajes

Ir a la versión completa