Dev - C++ - matrices

 
Vista:

matrices

Publicado por kenneth (1 intervención) el 25/05/2014 03:04:23
Sistema de reservaciones de cursos. Clase Aula (matriz de I x j) en donde cada posición contiene objetos de la clase Estudiante.
En esta aula solo se da un curso y tiene una capacidad máxima para 30 estudiantes, aunque pueden matricularse menos. Hay un contador de matricula que se va incrementando a medida que los estudiantes se van matriculando, o por el contrario se ve decrementado, si el estudiante se retira del curso.
Clase Estudiante. Cada espacio en el aula es ocupado por un estudiante, el cual está caracterizado por los atributos cédula, nombre completo (nombre y apellidos), sexo, 3 notas de exámenes, 3 notas de quices, estado (activo/retirado), fecha de asignación de último estado(Note si el estado es activo solicita: fecha creación y para retirado: fecha de retiro ).
Implemente un menú con las siguientes opciones:
1. Matricular estudiantes.
2. Modificar datos del estudiante.
3. Ingresar notas (Exámenes y quices).
4. Listar Estudiantes.
5. Borrar estudiante.
6. 6. Salir del programa
Descripción de las funcionalidades.
Para el estudiante poder matricular, el programa debe verificar disponibilidad. En caso de falta de disponibilidad desplegar el mensaje “Cupo lleno. Intente más tarde”. Si existiera espacio, el programa debe verificar que el estudiante no ha sido matriculado previamente, usando el número de cédula del estudiante para buscarlo en el aula. Si el estudiante es encontrado, desplegar el mensaje “Estudiante ya ha sido matriculado” y termina el intento de matrícula; caso contrario (si no se encuentra el estudiante) entonces continuar pidiendo el resto de datos, por ejemplo, nombre completo, sexo... El dato de estado se establece por defecto en “activo” al momento de creación del objeto. Recuerde incrementar el contador.
Para modificar estudiantes se sigue el protocolo básico de búsqueda por numero de cedula, para luego proceder a realizar las modificaciones, primero debe desplegar en pantalla la información del estudiante (para tener referencia) e inmediatamente proceder con la escritura de los nuevos datos. La modificación de datos incluye al dato de estado (activo/retirado). En caso de que el estado de un estudiante sea retirado, debe decrementar el contador de matrícula, e incrementar el contador de retirados, para luego desplegar estos datos en la función respectiva. Si el usuario no escribe ningún dato en el primer campo (cedula) a modificar, y presiona enter, entonces el programa entiende que la modificación se abortó y no procede con el resto, debe regresar al menú principal.
Ingresar notas implica la selección de un tipo de nota (1: Exámenes o 2: quices), luego debe leer cada nota y guardarlas en el campo de la nota correspondiente dentro del objeto.
La funcionalidad de listar los estudiantes incluye:
1. Encabezado con el nombre de la universidad, nombre de curso y horario, numero de estudiantes matriculados y número de estudiantes que se retiraron del curso.
2. Cuerpo del listado, debe desplegar un número del 1 al número de estudiantes matriculados, cédula, nombre completo, las notas exámenes y quices, promedio para exámenes y quices y la Nota Final. Note que los últimos campos solo se calculan y se muestran. Aplique el formato respectivo para que los datos queden ordenados respecto a su encabezado.
Nota: los porcentajes para cada una de las evaluaciones son: examen1 20%, examen2 25%, examen 3 25%, 3 quices de 10% c/u
Ejemplo del listado: Encabezado del listado y datos
No Cedula Nombre Exa 1 Exa 2 Exa 3 Quiz1 Quiz2 Quiz3 Porc. Exam Porc. quices Final
1 5234567 Max Li 50 100 100 100 75 100 60 27,5 87,5
2 …
Muestre en el listado únicamente los campos que contengan información.
Borrar estudiante verifica por medio del numero de cedula, si el estudiante existe y procede a eliminar la información, en caso de no encontrar coincidencias despliegue un mensaje de error.
Recuerde decrementar el contador de matrícula.
Salir se sale del programa y muestra los créditos de las personas que elaboraron el programa.
Documente el código, muestre mensajes significativos y aplique las buenas prácticas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder