Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro....

44

Transcript of Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro....

Page 1: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega
Page 2: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

Datos de Identificación

Asignatura Programación I

Código 3154

Semestre Tercero

Área Programación

Programa Ingeniería en Informática

Departamento Sistemas

Fecha de Elaboración 08/03/2012

Fecha Última actualización 01/07/2014

Page 3: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

La Federación de natación del Estado Lara, una vez al año organiza unas competencias en donde intervienen nadadores que pertenecen a equipos de tres prestigiosas Instituciones Educativas. Es necesario chequear, la actuación de cada nadador y esto se logra al finalizar las competencias, ya que es cuando se conoce el resultado de la cantidad de medallas que se lleva cada uno

La Federación dio a conocer que los estilos a nadar para las competencias son 4 y se presentan en la siguiente tabla:

Estilo Descripción

1 Mariposa

2 Espalda

3 Pecho

4 Libre

Es importante resaltar que un nadador puede participar en más de una competencia, pero de estilos diferentes, por lo tanto, puede participar en un máximo de cuatro competencias.

Page 4: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega su cédula laminada y de allí se toman los datos del nro. de la cédula y el nombre.

Además, como un nadador puede participar en varias competencias (no se sabe con antelación en cuantas, máximo cuatro) por cada una, se deberá indicar: cuál es el estilo (nro. del 1 al 4), que tiempo realizó (en segundos) y en qué lugar llegó.

Se estipula, que si llegó de primero recibe medalla de oro, de segundo medalla de plata, de tercero medalla de bronce, de cuarto en adelante no tiene medalla.

Page 5: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

Evidentemente, el nadador pertenece a un equipo, por lo tanto, el dato número del equipo complementa la información del nadador.

En particular, la federación necesita hacer una evaluación del equipo nro. 2, por lo tanto, necesita que le informen el porcentaje de medallas de oro que obtuvo ese equipo, en relación al total de medallas de oro entregadas entre todos los equipos. En lo que respecta al equipo nro. 1, se necesita conocer cuál es el porcentaje de nadadores que tiene ese equipo en relación al total de nadadores que participaron en las competencias.

Finalmente la Federación indica, que para ella es importante que se determine cuantos nadadores participaron en las competencias del estilo mariposa.

Page 6: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

¿Qué datos se necesitan para resolver el problema? (ENTRADAS)

Por cada nadador: Cédula (cedula) Nombre (nombre) Equipo de la institución educativa al que pertenece (nro. del 1 al 3) (equipo)

Por cada competencia: Estilo (1. Mariposa, 2. Espalda,

3. Pecho, 4. Libre) (estilo) Tiempo realizado en seg. (tiempo) Lugar (1. oro, 2. plata, 3. bronce, 4. ninguna) (lugar)

Page 7: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

¿Qué información debe proporcionar la resolución del problema? (SALIDAS)

Por cada nadador:

Cédula

Nombre

Total de medallas (ctmedallas)

Total de competencias en las que participó (ctcompetencias)

Page 8: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

¿Qué información debe proporcionar la resolución del problema? (SALIDAS)

Por la federación:

Porcentaje de medallas de oro que obtuvo el equipo nro. 2, en relación al total de medallas de oro entregadas entre todos los equipos.

Porcentaje de nadadores que tiene el equipo nro. 1, con relación al total de nadadores que participaron en las competencias

Total de nadadores que participaron en competencias del estilo mariposa

Page 9: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

NADADOR

Para obtener el total de competencias en las que participó el nadador y el total de medallas que ganó, se necesita: Por cada competencia que se procesa, actualizar dos contadores, uno que se debe incrementar por cada competencia en la que participa y otro que se incrementará siempre y cuando haya ganado medalla. Estos contadores pertenecen al nadador y cada vez que ingrese un nuevo nadador, esos contadores deberán ser inicializados en cero.

++ctcompetencias

if (lugar < 4) ++ctmedallas;

¿Cómo obtener la información que proporcionará la resolución del problema? (PROCESO – CÁLCULOS)

Page 10: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

FEDERACIÓN % de medallas de oro del equipo nro. 2, con relación al total de medallas de oro entregadas entre todos los equipos

Se deben actualizar dos contadores: Contador particular: cuenta las medallas de oro del equipo nro. 2

if (equipo == 2 and lugar == 1) ++cteq2oro;

Contador general: Cuenta todas las medallas de oro if (lugar == 1) ++ctotalmedallasoro; Finalmente cuando se hayan procesado

todos los datos se calcula el Porcentaje

if (ctotalmedallasoro > 0) cteq2oro * 100 / ctotalmedallasoro;

¿Cómo obtener la información que proporcionará la resolución del problema? (PROCESO – CÁLCULOS)

Proceso

Proceso

Cálculo directo

Page 11: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

FEDERACIÓN % de nadadores que tiene el equipo nro. 1 con relación al total de nadadores que participaron en las competencias

Se deben actualizar dos contadores: Contador particular: cuenta los nadadores del equipo nro. 1

if (equipo == 1) ++cteq1;

Contador general: Cuenta los nadadores de las jornadas ++ctnadador; Finalmente cuando se hayan procesado todos los datos se calcula el Porcentaje

if (ctnadador > 0) cteq1 * 100 / ctnadador;

¿Cómo obtener la información que proporcionará la resolución del problema? (PROCESO – CÁLCULOS)

Proceso

Proceso

Cálculo directo

Page 12: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

FEDERACIÓN Total de nadadores que participaron en competencias del estilo mariposa Se debe actualizar un contador: if (estilo == 1) ++ctmariposa;

¿Cómo obtener la información que proporcionará la resolución del problema? (PROCESO – CÁLCULOS)

Proceso

Page 13: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

Nadador:

MNadador

Competencia:

MCompetencia

Federación:

MFederacion

Page 14: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

Atributos

Se llenan con datos de entrada

estilo, tiempo y lugar

Se actualizan a través de procesos

Ninguno

Métodos

Constuctor(es), Gets y Sets para cada atributo (tres Gets y tres Sets)

Cálculos

Ninguno

Procesos

Ninguno

Page 15: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

MCompetencia

- estilo : int

- tiempo : float

- lugar : int

+ MCompetencia ()

+ SetEstilo(e : int) : void

+ SetTiempo(t : float ) : void

+ SetLugar(l : int) : void

+ GetEstilo() : int

+ GetTiempo() : float

+ GetLugar() : int

Page 16: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

#ifndef MCOMPETENCIA_H_

#define MCOMPETENCIA_H_

class MCompetencia

{

private:

int estilo,lugar;

float tiempo;

public:

MCompetencia();

void SetEstilo(int e);

void SetTiempo(float t);

void SetLugar(int l);

int GetEstilo();

float GetTiempo();

float GetLugar();

};

#endif

Page 17: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

Atributos

Se llenan con datos de entrada

cedula, nombre, equipo al que pertenece

Se actualizan a través de procesos

ctcompetencias y ctmedallas

Métodos

Constuctor(es), Gets y Sets para cada atributo

(cuatro Gets y cuatro Sets)

Cálculos

Ninguno

Procesos

void ProcesarCompetencia(MCompetencia compe);

Actualiza

ctmedallas

Page 18: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

MNadador

- cedula : string

- nombre : string

- equipo : int

- ctcompetencias : int

- ctmedallas : int

+ MNadador()

+ SetCedula(c : string ) : void

+ SetNombre(n : string ) : void

+ SetEquipo(eq : int) : void

+ SetCtMedallas(ct : int ) : void

+ GetCedula() : string

+ GetNombre() : string

+ GetEquipo() : int

+ GetCtMedallas() : int

+ ProcesarCompetencia(compe : MCompetencia ) : void

Relación de Uso

Page 19: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

#ifndef MNADADOR_H_

#define MNADADOR_H_

#include <string>

#include "MCompetencia.h"

using namespace std;

class MNadador

{ private:

string cedula;

string nombre;

int equipo,ctmedallas;

int ctcompetencias;

public:

MNadador();

void SetCedula(string c);

void SetNombre(string n);

void SetEquipo(int eq);

void SetCtCompetencias(int ct);

void SetCtMedallas(int ct);

:::

string GetCedula();

string GetNombre();

int GetEquipo();

int GetCtCompetencias();

int GetCtMedallas();

void ProcesarCompetencia

(MCompetencia compe);

// Relacion Uso

};

#endif /* MNADADOR_H_ */

Page 20: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

// Constructor que inicializa los atributos en cero

MFederacion :: MFederacion()

{ ctcompetencias = 0;

ctmedallas = 0

}

/* Actualiza el contador de competencias y el

contador de medallas*/

void MNadador::ProcesarCompetencia

(MCompetencia compe)

{

++ctcompetencias;

if (compe.GetLugar() < 4)

++ctmedallas;

}

Page 21: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

Atributos

Se llenan con datos de entrada

Ninguno

Se actualizan a través de procesos

ctnadador, cteq2oro,

ctmariposa, cteq1,

ctotalmedallasoro

Métodos

Constructores (es), Gets y Sets para cada atributo

(cinco Gets y cinco Sets)

Page 22: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

Métodos

Cálculos

float PorcentajeOroEq2();

float PorcentajeNadaEq1();

Proceso

void ProcesarCompetenciaDelNadador(MNadador nada,

MCompetencia compe);

void ProcesarNadador(MNadador nada);

Actualiza

ctnadador, cteq1

Actualiza

ctotalmedallasoro,

cteq2oro, ctmariposa

Page 23: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

MFederacion

- ctnadador : int

- cteq2oro : int

- ctmariposa : int

- cteq1 : int

- ctotalmedallasoro : int

+ MFederacion ()

+ SetCtNadador(c1: int ) : void

+ GetCtNadador() : int

……..// Sets y Gets

+ ProcesarCompetenciaDelNadador(nada : MNadador,

compe : MCompetencia ) : void

+ ProcesarNadador(nada : MNadador) : void

+ PorcentajeOroEq2() : float

+ PorcentajeNadaEq1() : float

Relación de Uso

Relación de Uso

Page 24: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

#ifndef MFEDERACION_H_

#define MFEDERACION_H_

#include "MNadador.h“ // Incluye a MCompetencia

class MFederacion

{ private:

int ctnadador, cteq2oro, ctmariposa,

cteq1, ctotalmedallasoro;

public:

MFederacion();

void SetCtNadador(int c1);

::::

int GetCtNadador();

:::: // Relacion uso

void ProcesarCompetenciaDelNadador(MNadador nada,

MCompetencia compe);

void ProcesarNadador(MNadador nada); // Relación

float PorcentajeOroEq2(); // uso

float PorcentajeNadaEq1();

}; #endif

Page 25: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

// Constructor que inicializa los atributos en cero

MFederacion :: MFederacion()

{ ctnadador = 0; cteq2oro = 0; ctmariposa = 0;

cteq1 = 0; ctotalmedallasoro = 0;

}

/* Actualiza los atributos ctmariposa, ctotalmedallasoro y

cteq2oro. Relación de uso con MNadador y MCompetencia */

void MFederacion :: ProcesarCompetenciaDelNadador

(MNadador nada, MCompetencia compe)

{ if (compe.GetEstilo() == 1)

++ctmariposa;

if (compe.GetLugar() == 1)

++ctotalmedallasoro;

if (nada.GetEquipo() == 2 and compe.GetLugar() == 1)

++cteq2oro;

}

Page 26: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

/* Actualiza los atributos ctnadador y cteq1.

Relación uso con Mnadador */

void MFederacion :: ProcesarNadador(MNadador nada)

{ ++ctnadador;

if (nada.GetEquipo() == 1)

++cteq1;

}

// Porcentaje de medallas de oro que ganó el equipo nro. 2

float MFederacion :: PorcentajeOroEq2()

{ if (ctotalmedallasoro > 0)

return (cteq2oro * 100 / ctotalmedallasoro);

return 0;

}

// Porcentaje de nadadores que tiene el equipo nro. 1

float MFederacion :: PorcentajeNadaEq1()

{ if (ctnadador > 0)

return (cteq1 * 100 / ctnadador);

return 0;

}

Page 27: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

VCompetencia

(necesita sólo métodos de leer)

VNadador

(necesita métodos de leer e imprimir)

VFederacion

(necesita sólo métodos de imprimir)

Page 28: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

VCompetencia

+ VCompetencia()

+ LeerEstilo() : int

+ LeerTiempo() : float

+ LeerLugar() : int

VFederacion

+ VFederacion()

+ ImprimirResultadosJornadas(porc1 : float, tmari : int,

porc2 : float) : void

VNadador

+ VNadador()

+ LeerCedula() : string

+ LeerNombre() : string

+ LeerEquipo() : int

+ ImprimirNadador( c : string, n : string, tm : int) : void

Page 29: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

#ifndef VCOMPETENCIA_H_

#define VCOMPETENCIA_H_

#include <iostream> // Entradas y Salidas

using namespace std;

class VCompetencia

{

public:

VCompetencia();

int LeerEstilo();

float LeerTiempo();

int LeerLugar();

};

#endif

Page 30: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

/* Lee y valida el estilo de la competencia

(valor del 1 al 4) */

int VCompetencia::LeerEstilo()

{

int e;

do

{

cout << "Estilo (1.Mariposa, 2.Espalda,

3.Pecho, 4.Libre): ";

cin >> e;

if (e<1 or e>4)

cout<<"\n Dato no valido!"<<endl;

}

while (e<1 or e>4);

return e;

}

Page 31: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

#ifndef VNADADOR_H_

#define VNADADOR_H_

#include <cstdlib> // Uso system (“cls”) y system(“pause”)

#include <iostream> // Entradas y Salidas

using namespace std;

class VNadador

{

public:

VNadador();

string LeerCedula();

string LeerNombre();

int LeerEquipo();

void ImprimirNadador(string c, string n, int tm);

};

#endif

Page 32: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

// Imprime la información del nadador

void VNadador::ImprimirNadador(string c, string n, int tm)

{

system("cls"); // limpia la pantalla

cout << "INFORMACION DEL NADADOR" << endl;

cout << "=======================" << endl;

cout << "Cedula: " << c << endl;

cout << "Nombre: " << n << endl;

cout << "Total de Medallas Ganadas: " << tm << endl;

system("pause"); // hace una pausa

}

Page 33: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

#ifndef VFEDERACION_H_

#define VFEDERACION_H_

#include <cstdlib> // Uso system (“cls”) y system(“pause”)

#include <iostream> // Entradas y Salidas

#include <iomanip> // Impresión datos decimales

using namespace std;

class VFederacion

{

public:

VFederacion();

void ImprimirResultadosJornadas(float porc1,

int tmari,

float porc2);

};

#endif

Page 34: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

// Imprime los resultados de las jornadas

void VFederacion:: ImprimirResultadosJornadas(float porc1,

int tmari,

float porc2)

{

cout << "\n\n Porcentaje de medallas de oro del Eq. nro. 2: "

<< setiosflags(ios::fixed) << setprecision(2) << porc1

<< endl;

cout << "\n\n Total de competencias del estilo mariposa: "

<< tmari<< endl;

cout << "\n\n Porcentaje de nadadores del equipo nro. 1 : "

<< setiosflags(ios::fixed) << setprecision(2) << porc2

<< endl;

}

Page 35: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

Controlador

- mfedera : MFederacion

+ Controlador()

+ ProcesarJornadaNatacion() : void

+ ReporteFederacion() : void

Relación de Composición

Page 36: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

#ifndef CONTROLADOR_H_

#define CONTROLADOR_H_

/* MFederacion incluye a MNadador y a su vez

MNadador incluye a MCompetencia */

#include "MFederacion.h"

#include "VCompetencia.h"

#include "VNadador.h"

#include "VFederacion.h"

class Controlador

{

private:

MFederacion mfedera;

public:

Controlador();

void ProcesarJornadaNatacion();

void ReporteFederacion();

};

#endif

Page 37: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

/* Permite procesar las competencias que se realizaron

en las jornadas */

void Controlador::ProcesarJornadaNatacion()

{

MCompetencia mcompe; // Relación Agregación con

MNadador mnada; // MCompetencia, MNadador,

VCompetencia vcompe; // Vnadador, VCompetencia,

VNadador vnada

string ced,nom;

int eq,est,lug,resp;

float tiem;

Page 38: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

// ciclo para procesar varios nadadores

do

{

system("cls");

cout << "DATOS DEL NADADOR" << endl;

cout << "=================" << endl;

// el objeto vnada debe leer los datos del nadador

ced = vnada.LeerCedula();

nom = vnada.LeerNombre();

eq = vnada.LeerEquipo();

/*se le da estado al objeto de la clase mnada. El contador de

medallas del nadador (ctnadador) debe comenzar en cero*/

mnada.SetCedula(ced); // atributos son llenados

mnada.SetNombre(nom); // con los datos leídos

mnada.SetEquipo(eq); // por el objeto vnada

/* atributos inicializados en cero, se iran actualizando a

medida que se procesen las competencias */

mnada.SetCtCompetencias(0);

mnada.SetCtMedallas(0);

Page 39: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

/* ciclo para procesar las competencias en las que

participo el nadador */

cout << endl << endl << "DATOS DE COMPETENCIAS" << endl;

cout << "=====================" << endl;

do

{ // objeto vcompe debe leer los datos de la competencia

est = vcompe.LeerEstilo();

tiem = vcompe.LeerTiempo();

lug = vcompe.LeerLugar();

// se le da estado al objeto mcompe

mcompe.SetEstilo(est);

mcompe.SetTiempo(tiem);

mcompe.SetLugar(lug);

// método que actualiza el atributo ctmedallas del nadador

mnada.ProcesarCompetencia(mcompe);

/* método encargado de actualizar los atributos

ctmariposa, ctotalmedallasoroy cteq2oro */

mfedera.ProcesarCompetenciaDelNadador(mnada,mcompe);

Page 40: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

if (mnada.GetCtCompetencias() < 4)

{ cout << "\n Hay otra competencia donde participo

el nadador? [1]SI [2]No : ";

cin >> resp;

}

else

{ cout << "\nEl nadador ya compitió en todos los estilos\n\n";

system("pause");

resp == 2;

}

}

while (resp == 1); // Fin del ciclo de las competencias del nadador

/*método encargado de actualizar los atributos: ctnadador y cteq1*/

mfedera.ProcesarNadador(mnada);

// se imprime la salida del nadador

vnada.ImprimirNadador(mnada.GetCedula(),

mnada.GetNombre(),

mnada.GetCtMedallas());

cout << "Hay otro nadador? [1]SI [2]No : ";

cin >> resp;

}

while (resp == 1);

} // fin del método

Page 41: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

void Controlador::ReporteFederacion()

{

VFederacion vfedera; // Relación de agregación

// con VFederacion

/* Se solicita al objeto de la clase MFederacion la

información requerida y esta se envía por parámetros al

método del objeto de la clase VFederacion para que la

imprima */

vfedera.ImprimirResultadosJornadas (mfedera.PorcentajeOroEq2(),

mfedera.GetCtMariposa(),

mfedera.PorcentajeNadaEq1());

}

Page 42: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

#include "Controlador.h"

int main()

{

Controlador c;

c.ProcesarJornadaNatacion();

c.ReporteFederacion();

return 0;

}

Page 43: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

VCompetencia

VNadador

Controlador

VFederacion

MNadador

MFederacion

MCompetencia

Page 44: Datos de Identificación - WordPress.com...Al llegar el equipo, el cual se identifica con un nro. (valor del 1 al 3), deben inscribirse sus nadadores, por lo tanto, cada uno entrega

Realiza los ajustes necesarios para

cumplir con los siguientes requerimientos:

La federación necesita saber:

Cual fue el equipo que obtuvo mayor cantidad de medallas.

Cuantos nadadores no recibieron ninguna medalla.