Ver Mensaje Individual
Antiguo 11-feb-2011     #1
Post Problema en Pascal

Ante todo un saludo, soy estudiante de primer semestre de informática y hasta ahora el lenguaje que estamos usando es PASCAL (si, un lenguaje obsoleto pero según nuestro profesor es muy didáctico y genera una buena lógica), bueno... el punto es que me he metido en esta carrera porque realmente me gusta el mundo de la programación, de hecho con el poco conocimiento de Pascal me he propuesto un ejercicio, irónicamente quede envuelto en mi propia red... xD... el diseño del programa lo llevo a medias, acá les dejo el propuesto y la forma en que lo programé.

Se necesita hacer un registro de alumnos, por cada alumno se tiene cedula, nombre completo, messenger, numero de telefono y numero de cedula. Hay vacantes para 30 alumnos más no se sabe cuantos se inscribirán, luego de haber culminado la inscripción se da la opción de abrir un buscador de datos en el programa que al escribir una cédula despliegue toda la información del alumno inscrito.

así lo programé:

Spoiler:
Program seccion;
const
q = 30;
type
alumno= record
cedula: string[20];
nombre_completo: string [40];
messenger: string [40];
numero_telefono: string [25];
numero_celular: string [25];
end;
var
alumnos: array [1..q] of alumno;
contador_general, i, pos, count: integer;
respuesta: char;
cedula: string [20];
found: boolean;


BEGIN
contador_general:= 0;
write('Este programa facilitar* la b£squeda de informaci¢n en un estudiante');
writeln;
write('1er paso: Escriba su C‚dula:');
readln(alumnos[i].cedula);

WHILE (alumnos[i].cedula <> ' ') or (contador_general <= q) DO
begin
write('2do paso: Escriba su Nombre Completo:');
readln(alumnos[i].nombre_completo);
write('3er paso: Escriba su messenger:');
readln(alumnos[i].messenger);
write('4to paso: Escriba su numero de telefono (local):');
readln(alumnos[i].numero_telefono);
write('5to paso: Escriba su numero de telefono (celular):');
readln(alumnos[i].numero_celular);
write('1er paso: Escriba su Cedula:');
readln(alumnos[i].cedula);
inc (contador_general);
end;

writeln('Se han registrado los datos de ' ,contador_general, ' alumnos.');
write('¨Desea proceder a la b£squeda de datos?: SI(Y)/NO(N):');
readln(respuesta);
WHILE respuesta = 'Y' DO
begin
write('Introduzca Cedula de la persona a buscar:');
readln(cedula);
found:= false;
count:= 1;

if cedula = alumnos[count].cedula then
begin
found:= true;
pos:= count;
end
else
begin
inc(count);
end;


if count > q then
begin
write('Cedula no encontrada');
end;


if found = TRUE then
begin
write ('Los datos del alumno son los siguientes:');
writeln('Nombre Completo:', alumnos[pos].nombre_completo);
writeln('Messenger:', alumnos[pos].messenger);
writeln('Numero de telefono local', alumnos[pos].numero_telefono);
writeln('Numero de Celular:', alumnos[pos].numero_celular);

end;
writeln('Datos encontrados. ¨Desea continuar?:');
readln(respuesta);
end;


readln;
END.


espero que puedan ayudarme ^^,
Saludos y gracias de antemano
Responder Citando
Los siguientes 2 usuarios agradecen a Joe Rod por este mensaje:
baduser (11-feb-2011), jchierro (12-feb-2011)