[ Foro de C++ ]

Trabajo final (Ayuda urgente por favor)

05-Feb-2023 20:54
Ramiro Cornejo
1 Respuestas

NOTA: ME INTERESA EL APARTADO B YA QUE ES EL QUE NOS FALTA, EL ENCARGADO DE DICHO PUNTO DEJO LA CARRERA Y NOS AVISO A ULTIMO MONENTO


Esta parte del proyecto esta dirigida al personal de atención al público, que atiende y registran los socios
del gimnasio, en una base de datos. Cada socios puede participar de 1 o más actividades, (Zumba,
Spining, y pilate), cada actividad tiene asignado un entrenador por turno, dicho entrenador puede tener
más de un horario disponible como así también puede brindar entrenamiento en distintas actividades.
Cada socio se identifica con un numero de socio y de igual forma cada entrenador se identifica con un
Legajo de Entrenador.
El sistema deberá contar con:

a) Registro de socio. Para cada Socio se deberá registrar Nombre, Apellido DNI, Edad, peso,
Indicaciones médicas (Donde es posible registrar si el socio esta restringido para alguna
actividad), Altura Peso, Dirección, Teléfono, Fecha de ingreso.

b) Registro de actividad. Una vez registrado el socio, este podrá inscribirse en distintas actividades
pudiendo elegir el horario y entrenador.

c) listado de participantes, de una actividad determinada, por horario y entrenador.

d) Listado de fecha de pago. La cual estará relacionada con la fecha de ingreso.
Además se tiene la opción de registrar por cada socio una rutina indicada por el entrenador en un texto
no mayor a 380 palabras, para esto cada operador deberá identificarse en el sistema con un nombre de
usuario y contraseña.*/


14-Mar-2023 22:18
Invitado (Alejandro Andrade)

¡Hola! Entiendo que necesitas ayuda con el punto B de tu proyecto en C++.

Para registrar la actividad de un socio, necesitas almacenar la información de la actividad en una estructura de datos, como una clase. Por ejemplo:

class Actividad {
private:
 string nombre;
 string horario;
 string entrenador;
public:
 Actividad(string n, string h, string e) {
   nombre = n;
   horario = h;
   entrenador = e;
 }
 string getNombre() {
   return nombre;
 }
 string getHorario() {
   return horario;
 }
 string getEntrenador() {
   return entrenador;
 }
};

Para inscribir un socio en una actividad, puedes tener una función que busque el socio por su número de socio en una lista de socios, y luego agregue la actividad a la lista de actividades del socio:

void inscribirSocioEnActividad(int numSocio, Actividad actividad, vector<Socio>& socios) {
 for (int i = 0; i < socios.size(); i++) {
   if (socios[i].getNumero() == numSocio) {
     socios[i].agregarActividad(actividad);
     break;
   }
 }
}

La función 'agregarActividad' en la clase 'Socio' podría verse así:

void agregarActividad(Actividad actividad) {
 actividades.push_back(actividad);
}

Para listar los participantes de una actividad en particular, puedes buscar la actividad por nombre, horario y entrenador en la lista de actividades de todos los socios, y luego mostrar los nombres de los socios que están inscritos en esa actividad:

void listarParticipantesActividad(string nombre, string horario, string entrenador, vector<Socio> socios) {
 for (int i = 0; i < socios.size(); i++) {
   for (int j = 0; j < socios[i].getActividades().size(); j++) {
     Actividad actividad = socios[i].getActividades()[j];
     if (actividad.getNombre() == nombre && actividad.getHorario() == horario && actividad.getEntrenador() == entrenador) {
       cout << socios[i].getNombre() << " " << socios[i].getApellido() << endl;
       break;
     }
   }
 }
}

Espero que esta información te sea de ayuda para completar tu proyecto. ¡Buena suerte!






(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.)