Programa de matriculas en una academia.

Hola!
En la universidad me han mandado el programa cuyo enunciado te adjunto.
Es para Turbo Pascal.
Me han comentado que se puede hacer con arrays y un registro, pero no se cómo.
Me gustaría que me dieras una idea general de cómo hacerlo y por dónde empezar (aunque si lo hicieras completo no me quejaría xD).
Enunciado:
Una Academia de Informática ha convocado diez cursos de formación : ASP.NET, JSP,
Access, Oracle, Word, Pascal, C, Visual Basic, Delphi y AJAX. De cada curso establece
diariamente tres turnos de clases de 1 hora, 10,00, 12,00 y 20,00 h. En cada grupo de clase hay
capacidad para 5 alumnos. De cada alumno se desea conocer su nombre, apellidos y edad. El precio
de inscripción será de 60 euros por matricula en cada curso.

Desarrollar un programa con el menú siguiente :
1.- Añadir un alumno a un curso.
2.- Listar los alumnos de un grupo de clase de un curso.
3.- Listar los alumnos de un curso completo.
4.- Contabilidad.
0.- Salir

El menú se repetirá hasta que se pulse la opción 0. Al seleccionar la opción 1, se introducen todos
los datos de un alumno, solicitando al usuario nombre del alumno, curso y grupo de clase en el que
desea matricularse; si hay hueco en el grupo de clase se matricula al alumno y pregunta si desea
matricularse en otro curso diferente; si la contestación es afirmativa desarrolla los mismos pasos
anteriores, mientras que si es negativa presenta por pantalla el importe de la matriculación. La
opción 2, solicita al usuario el curso y el grupo de clase y graba en el fichero de salida estándar los
nombres de los alumnos matriculados en dicho curso. La opción 3, solicita al usuario el curso a
listar, grabando en el fichero de salida estándar los nombres de todos los alumnos matriculados en
dicho curso. La opción 4, muestra por pantalla el importe total cobrado por cada uno de los grupos
de clase, por cada uno de los cursos y el total facturado por la Academia.

Muchas gracias.

1 Respuesta

Respuesta
1
Je je bueno hacerlo completo no puedo (ademas es que no es la idea XD). Pero si te puedo dar una idea y orientarte...
Una de los puntos clave en este programa es la definición de la mejor estructura para llevar a cabo las operaciones solicitadas.
La estructura puede ser definida de muchas formas, yo te propongo una, pero tu decidirás si la usas, o si hay alguna mejor para lograr tu objetivo.
Para cada alumuno de un curso debe almacenarse ciertos datos (nombre, apellido, edad..), esto seria un registro que contenga estos datos.
Luego dice que cada turno de un curso se comprende de 5 estudiantes como máximo. Esto podría ser un vector de alumnos de 5 posiciones.
Ahora bien, un curso se compone de 3 turnos, podría ser por ejemplo, un registro con tres campos, donde cada uno represente un turno.
Luego que ya tenemos integrado lo que es un curso, podemos entences construir la academia, que no es más que un vector de cursos de 10 posiciones.
Una vez conformada la estructura, se comienza a resolver cada uno de los problemas. Recordando que el programa se compone de un menu con 4 opciones.
Aquí te muestro la estructura propuesta tanto para el menu como para la academia. Ya lo demás quedara de tu parte.
program academia_de_estudios;
uses crt;
type
alumno=record
nombre:string;
apellido:string;
edad:integer;
end;
curso=record
turnoA:array[1..5] of alumno;
turnoB:array[1..5] of alumno;
turnoC:array[1..5] of alumno;
end;
var
academia:array[1..10] of curso;
opcion:char;
begin
{forma de acceder al nombre de un alumno
academia.turnoA[j].nombre}
repeat
clrscr;
writeln('1. Añadir un alumno a un curso.');
writeln('2. Listar los alumnos de un grupo de clase de un curso.');
writeln('3. Listar los alumnos de un curso completo.');
writeln('4. Contabilidad.');
writeln('0. Salir');
opcion:=readkey;
if(opcion='1')then
begin
{se introducen todos
Los datos de un alumno, solicitando
Al usuario nombre
Del alumno, curso y grupo de clase en el que
Desea matricularse; si hay hueco en el
Grupo de clase se
Matricula al alumno y pregunta si desea
matricularse en otro curso diferente;
Si la contestación
Es afirmativa desarrolla los mismos pasos
Anteriores, mientras que si es negativa
Presenta por pantalla
El importe de la matriculación}
end
else
if(opcion='2')then
begin
{La
Opción 2, solicita al usuario el curso y el grupo de clase y graba en el fichero de salida estándar los
nombres de los alumnos matriculados en dicho curso. }
end
else
if(opcion='3')then
begin
{La opción 3, solicita al usuario el curso a
listar, grabando en el fichero de salida estándar los nombres de todos los alumnos matriculados en
dicho curso.}
end
else
if(opcion='4')then
begin
{La opción 4, muestra por pantalla el importe total cobrado por cada uno de los grupos
de clase, por cada uno de los cursos y el total facturado por la Academia.}
end;
until (opcion='0'); {Fin del Programa}
end.
Recuerda, cualquier duda que se presente resolviendo cada uno de los problemas puedes hacérmela llegar, y con gusto te ayudo... Todo es cuestión de que te pongas a programar y veas que surge...
NOTA: Si crees que no necesitas más aclaraciones, por favor valora mi esfuerzo calificando mi respuesta... XD

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas