SlideShare una empresa de Scribd logo
1 de 7
Ejemplos de soluciones a requerimientos con vectores
Sea la siguiente tabla de datos de estudiantes:
cedula

nombre

sexo

nota

444
222
777
999
333
666

Liz
Ray
Ana
Mery
Joe
Kim

‘F’
‘M’
‘F’
‘F’
‘M’
‘F’

60
80
40
80
30
80

Y los siguientes requerimientos:
1. Nombre y nota de los estudiantes de sexo femenino
2. Dado un sexo por el usuario, listar los nombres de los aprobados respectivos
3. Dada una cédula por el usuario, listar los nombres y cédulas con el mismo
sexo que este estudiante
4. Dada una cédula por el usuario, listar el sexo y nota respectivo y los
nombres de estudiantes de ese sexo que tienen la misma nota
5. Dada una cédula por el usuario, listar los nombres de los estudiantes que
tienen nota mayor a este estudiante

Muestre: a- Entradas y salidas para cada requerimiento
b- El código necesario en cada clase para resolverlo
Ejemplos de soluciones a requerimientos con vectores
Las clases respectivas son las siguientes:
MSalon
----------------------------------------arr_est: vector <MEstud>
---------------------------------------+MSalon()
+IncluirEstud(MEstud): void
+CantEstud(): int
+BuscarEstud(ced: long): int
+ObtenerEstud(i: int): MEstud

MEstud
----------------------------------------cedula: long
-nombre: string
-sexo: char
-nota: float
---------------------------------------+MEstud()
...Gets
...Sets
Ejemplos de soluciones a requerimientos con vectores
Solución:
1- Nombre y nota de los estudiantes de sexo femenino
a- Entradas y salidas:
• No requiere entrada del usuario
• Salida:
b- El código necesario en cada clase para resolverlo:
60
Liz
Ana

40

Mery

80

Kim

80

CEDULA

444
222
777
999
333
666

NOMBRE SEXO NOTA

Liz ‘F’
Ray ‘M’
Ana ‘F’
Mery ‘F’
Joe ‘M’
Kim ‘F’

60
80
40
80
30
80

MSalon::DatosSexoFem(vector<string> &nm, vector <float> &nt){
for (int i=0; i<CantEstud(); i++)
if (ObtenerEstud[i].GetSexo() = „F‟){
nm.push_back (ObtenerEstud[i].GetNombre());
nt.push_back (ObtenerEstud[i].GetNota());
}
}
Controlador::MostrarInfoFemenino(){
vector<string> arr_nomb;
vector<float> arr_nota;
ms.DatosSexoFem(arr_nomb, arr_nota);
vs.ImprimirNombreNota(arr_nomb, arr_nota);
vc.Pausa();
}
VSalon::ImprimirNombreNota(vector<string> nm, vector <float> nt){
cout << “Nombre” << „t‟ << “Nota” << endl;
for (unsigned int i=0; i<nm.size(); i++)
cout << nm[i] << „t‟ << nt[i] << endl;
}
Ejemplos de soluciones a requerimientos con vectores
Solución:
2- Dado un sexo por el usuario, listar los nombres de los aprobados
respectivos

a- Entradas y salidas:
• Entrada del usuario: supongamos que introduce el sexo ‘F’
• Salida:
b- El código necesario en cada clase para resolverlo:
Liz

MSalon::AprobadosPorSexo(char s, vector<string> &nm){
for (int i=0; i<CantEstud(); i++)
if (ObtenerEstud[i].GetSexo() = s
and ObtenerEstud[i].GetNota() >= 47.5)
nm.push_back (ObtenerEstud[i].GetNombre());
}

Mery
Kim

CEDULA

444
222
777
999
333
666

NOMBRE SEXO NOTA

Liz ‘F’
Ray ‘M’
Ana ‘F’
Mery ‘F’
Joe ‘M’
Kim ‘F’

60
80
40
80
30
80

Controlador::MostrarAprobadosPorSexo(){
char s = vs.LeerChar(“Qué sexo desea listar: ”);
vector<string> arr_nomb;
ms.AprobadosPorSexo(s, arr_nomb);
vs.ImprimirNombreNota(arr_nomb, arr_nota);
vc.Pausa();
}
VSalon::ImprimirAprobadosPorSexo(vector<string> nm){
cout << “Nombre” << endl;
for (unsigned int i=0; i<nm.size(); i++)
cout << nm[i] << endl;
}
Ejemplos de soluciones a requerimientos con vectores
Solución:
3- Dada una cédula por el usuario, listar los nombres y cédulas con el mismo
sexo que este estudiante

a- Entradas y salidas:
• Entrada del usuario: supongamos que introduce la cédula 999
• Salida:
b- El código necesario en cada clase para resolverlo:
444 MSalon::ListadoMismoSexo(long c, vector<string> &n,
Liz
Ana

777

Kim

vector<long> &c){
p = BuscarEstud(c);
if (p > -1)
for (int i=0; i<CantEstud(); i++)
if (ObtenerEstud[i].GetSexo() = ObtenerEstud[p].GetSexo()
and ObtenerEstud[i].GetNota() <> ObtenerEstud[p].GetSexo()){
n.push_back (ObtenerEstud[i].GetNombre());
c.push_back (ObtenerEstud[i].GetCedula());
}

666

}
CEDULA

444
222
777
999
333
666

NOMBRE SEXO NOTA

Liz ‘F’
Ray ‘M’
Ana ‘F’
Mery ‘F’
Joe ‘M’
Kim ‘F’

60
80
40
80
30
80

Controlador::MostrarListaMismoSexo(){
float c = vs.LeerLong(“Qué cédula desea revisar: ”);
vector<string> arr_nomb;
vector<long> arr_ced;
ms.ListadoMismoSexo(s, arr_nomb, arr_ced);
vs.ImprimirNombreNota(arr_nomb, arr_nota);
vc.Pausa();
}
VSalon::ImprimirAprobadosPorSexo(vector<string> n, vector<long> c){
cout << “Nombre” << „t‟ << “Cédula” << endl;
for (unsigned int i=0; i<n.size(); i++)
cout << n[i] << „t‟ << c[i] << endl;
}
Ejemplos de soluciones a requerimientos con vectores
Solución:
4- Dada una cédula por el usuario, listar el sexo y nota respectivo y los
nombres de estudiantes de ese sexo que tienen la misma nota

a- Entradas y salidas:
• Entrada del usuario: supongamos que introduce la cédula 999
• Salida:
b- El código necesario en cada clase para resolverlo:
El sexo es ‘F’ MSalon::InfoMismaNotaSexo(long c, char &s, float &n,
p = BuscarEstud(c);
La nota es 80
if (p > -1){
La tienen
s = ObtenerEstud[i].GetSexo();

n = ObtenerEstud[i].GetNota();
for (int i=0; i<CantEstud(); i++)
if (ObtenerEstud[i].GetSexo() == s
and ObtenerEstud[i].GetNota() == n){
n.push_back (ObtenerEstud[i].GetNombre());
c.push_back (ObtenerEstud[i].GetCedula());
}

Mery
Kim
CEDULA

444
222
777
999
333
666

NOMBRE SEXO NOTA

Liz ‘F’
Ray ‘M’
Ana ‘F’
Mery ‘F’
Joe ‘M’
Kim ‘F’

60
80
40
80
30
80

vector<string>&n){

}
Controlador::MostrarInfoMismaNotaSexo(){
float c = vs.LeerLong(“Qué cédula desea revisar: ”);
long s; float n;
vector<string> arr_nomb;
ms.InfoMismaNotaSexo(c, s, n, arr_nomb);
vs.ImprimirInfoMismaNotaSexo(s, n, arr_nomb);
vc.Pausa();
}
VSalon::ImprimirInfoMismaNotaSexo{
// Propuesto
}
Ejemplos de soluciones a requerimientos con vectores
Solución:
5- Dada una cédula por el usuario, listar los nombres de los estudiantes que
tienen nota mayor a este estudiante

a- Entradas y salidas:
• Entrada del usuario: supongamos que introduce la cédula 777
• Salida:
b- El código necesario en cada clase para resolverlo:
Liz
MSalon::NombresNotaMayor(long c, vector<string> &n){
p = BuscarEstud(c);
if (p > -1){
int n = ObtenerEstud[i].GetNota();
for (int i=0; i<CantEstud(); i++)
if (ObtenerEstud[i].GetNota() > n)
n.push_back (ObtenerEstud[i].GetNombre());

Ray

Mery
Kim
CEDULA

444
222
777
999
333
666

}

NOMBRE SEXO NOTA

Liz ‘F’
Ray ‘M’
Ana ‘F’
Mery ‘F’
Joe ‘M’
Kim ‘F’

60
80
40
80
30
80

Controlador::MostrarNombresNotaMayor(){
float c = vs.LeerLong(“Qué cédula desea revisar: ”);
vector<string> arr_nomb;
ms.NombresNotaMayor(c, arr_nomb);
vs.ImprimirNombresNotaMayor(arr_nomb);
vc.Pausa();
}
VSalon::ImprimirInfoMismaNotaSexo{
// Propuesto
}

Más contenido relacionado

Similar a Ejercicios resueltos con vectores

Logica de la programacion i bimestre
Logica de la programacion i bimestreLogica de la programacion i bimestre
Logica de la programacion i bimestre
UTPL UTPL
 
Laboratorio n°4 -_sistemas_de_información
Laboratorio n°4 -_sistemas_de_informaciónLaboratorio n°4 -_sistemas_de_información
Laboratorio n°4 -_sistemas_de_información
Camila Soto Neira
 
Consultas en oracle
Consultas en oracleConsultas en oracle
Consultas en oracle
mfdacv
 

Similar a Ejercicios resueltos con vectores (20)

Logica de la programacion i bimestre
Logica de la programacion i bimestreLogica de la programacion i bimestre
Logica de la programacion i bimestre
 
UTPL-LÓGICA DE LA PROGRAMACIÓN-I BIMESTRE-(abril agosto 2012)
UTPL-LÓGICA DE LA PROGRAMACIÓN-I BIMESTRE-(abril agosto 2012)UTPL-LÓGICA DE LA PROGRAMACIÓN-I BIMESTRE-(abril agosto 2012)
UTPL-LÓGICA DE LA PROGRAMACIÓN-I BIMESTRE-(abril agosto 2012)
 
LÓGICA DE LA PROGRAMACIÓN (I Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (I Bimestre Abril Agosto 2011)LÓGICA DE LA PROGRAMACIÓN (I Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (I Bimestre Abril Agosto 2011)
 
Laboratorio n°4 -_sistemas_de_información
Laboratorio n°4 -_sistemas_de_informaciónLaboratorio n°4 -_sistemas_de_información
Laboratorio n°4 -_sistemas_de_información
 
Ac diseño de reactivos
Ac diseño de reactivosAc diseño de reactivos
Ac diseño de reactivos
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquez
 
Trabajo práctico nro 2 5to 3ra
Trabajo práctico nro 2   5to 3raTrabajo práctico nro 2   5to 3ra
Trabajo práctico nro 2 5to 3ra
 
Sql
SqlSql
Sql
 
Sql
SqlSql
Sql
 
Banco de-preguntas-de-matemáticas
Banco de-preguntas-de-matemáticasBanco de-preguntas-de-matemáticas
Banco de-preguntas-de-matemáticas
 
2 2018 Segundo Parcial CBP100
2 2018 Segundo Parcial CBP100 2 2018 Segundo Parcial CBP100
2 2018 Segundo Parcial CBP100
 
Consultas en oracle
Consultas en oracleConsultas en oracle
Consultas en oracle
 
Programas
Programas Programas
Programas
 
Matematica 6to bastone noelia
Matematica 6to bastone noeliaMatematica 6to bastone noelia
Matematica 6to bastone noelia
 
Presentación1
Presentación1Presentación1
Presentación1
 
Trabajo ayudantía
Trabajo ayudantíaTrabajo ayudantía
Trabajo ayudantía
 
Estadistica 1 cs09002
Estadistica 1 cs09002Estadistica 1 cs09002
Estadistica 1 cs09002
 
Matemáticas y ciencias 2
Matemáticas y ciencias 2Matemáticas y ciencias 2
Matemáticas y ciencias 2
 
Portada
PortadaPortada
Portada
 
Bases de datos ss14
Bases de datos ss14Bases de datos ss14
Bases de datos ss14
 

Último

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
NancyLoaa
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 

Último (20)

Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 

Ejercicios resueltos con vectores

  • 1. Ejemplos de soluciones a requerimientos con vectores Sea la siguiente tabla de datos de estudiantes: cedula nombre sexo nota 444 222 777 999 333 666 Liz Ray Ana Mery Joe Kim ‘F’ ‘M’ ‘F’ ‘F’ ‘M’ ‘F’ 60 80 40 80 30 80 Y los siguientes requerimientos: 1. Nombre y nota de los estudiantes de sexo femenino 2. Dado un sexo por el usuario, listar los nombres de los aprobados respectivos 3. Dada una cédula por el usuario, listar los nombres y cédulas con el mismo sexo que este estudiante 4. Dada una cédula por el usuario, listar el sexo y nota respectivo y los nombres de estudiantes de ese sexo que tienen la misma nota 5. Dada una cédula por el usuario, listar los nombres de los estudiantes que tienen nota mayor a este estudiante Muestre: a- Entradas y salidas para cada requerimiento b- El código necesario en cada clase para resolverlo
  • 2. Ejemplos de soluciones a requerimientos con vectores Las clases respectivas son las siguientes: MSalon ----------------------------------------arr_est: vector <MEstud> ---------------------------------------+MSalon() +IncluirEstud(MEstud): void +CantEstud(): int +BuscarEstud(ced: long): int +ObtenerEstud(i: int): MEstud MEstud ----------------------------------------cedula: long -nombre: string -sexo: char -nota: float ---------------------------------------+MEstud() ...Gets ...Sets
  • 3. Ejemplos de soluciones a requerimientos con vectores Solución: 1- Nombre y nota de los estudiantes de sexo femenino a- Entradas y salidas: • No requiere entrada del usuario • Salida: b- El código necesario en cada clase para resolverlo: 60 Liz Ana 40 Mery 80 Kim 80 CEDULA 444 222 777 999 333 666 NOMBRE SEXO NOTA Liz ‘F’ Ray ‘M’ Ana ‘F’ Mery ‘F’ Joe ‘M’ Kim ‘F’ 60 80 40 80 30 80 MSalon::DatosSexoFem(vector<string> &nm, vector <float> &nt){ for (int i=0; i<CantEstud(); i++) if (ObtenerEstud[i].GetSexo() = „F‟){ nm.push_back (ObtenerEstud[i].GetNombre()); nt.push_back (ObtenerEstud[i].GetNota()); } } Controlador::MostrarInfoFemenino(){ vector<string> arr_nomb; vector<float> arr_nota; ms.DatosSexoFem(arr_nomb, arr_nota); vs.ImprimirNombreNota(arr_nomb, arr_nota); vc.Pausa(); } VSalon::ImprimirNombreNota(vector<string> nm, vector <float> nt){ cout << “Nombre” << „t‟ << “Nota” << endl; for (unsigned int i=0; i<nm.size(); i++) cout << nm[i] << „t‟ << nt[i] << endl; }
  • 4. Ejemplos de soluciones a requerimientos con vectores Solución: 2- Dado un sexo por el usuario, listar los nombres de los aprobados respectivos a- Entradas y salidas: • Entrada del usuario: supongamos que introduce el sexo ‘F’ • Salida: b- El código necesario en cada clase para resolverlo: Liz MSalon::AprobadosPorSexo(char s, vector<string> &nm){ for (int i=0; i<CantEstud(); i++) if (ObtenerEstud[i].GetSexo() = s and ObtenerEstud[i].GetNota() >= 47.5) nm.push_back (ObtenerEstud[i].GetNombre()); } Mery Kim CEDULA 444 222 777 999 333 666 NOMBRE SEXO NOTA Liz ‘F’ Ray ‘M’ Ana ‘F’ Mery ‘F’ Joe ‘M’ Kim ‘F’ 60 80 40 80 30 80 Controlador::MostrarAprobadosPorSexo(){ char s = vs.LeerChar(“Qué sexo desea listar: ”); vector<string> arr_nomb; ms.AprobadosPorSexo(s, arr_nomb); vs.ImprimirNombreNota(arr_nomb, arr_nota); vc.Pausa(); } VSalon::ImprimirAprobadosPorSexo(vector<string> nm){ cout << “Nombre” << endl; for (unsigned int i=0; i<nm.size(); i++) cout << nm[i] << endl; }
  • 5. Ejemplos de soluciones a requerimientos con vectores Solución: 3- Dada una cédula por el usuario, listar los nombres y cédulas con el mismo sexo que este estudiante a- Entradas y salidas: • Entrada del usuario: supongamos que introduce la cédula 999 • Salida: b- El código necesario en cada clase para resolverlo: 444 MSalon::ListadoMismoSexo(long c, vector<string> &n, Liz Ana 777 Kim vector<long> &c){ p = BuscarEstud(c); if (p > -1) for (int i=0; i<CantEstud(); i++) if (ObtenerEstud[i].GetSexo() = ObtenerEstud[p].GetSexo() and ObtenerEstud[i].GetNota() <> ObtenerEstud[p].GetSexo()){ n.push_back (ObtenerEstud[i].GetNombre()); c.push_back (ObtenerEstud[i].GetCedula()); } 666 } CEDULA 444 222 777 999 333 666 NOMBRE SEXO NOTA Liz ‘F’ Ray ‘M’ Ana ‘F’ Mery ‘F’ Joe ‘M’ Kim ‘F’ 60 80 40 80 30 80 Controlador::MostrarListaMismoSexo(){ float c = vs.LeerLong(“Qué cédula desea revisar: ”); vector<string> arr_nomb; vector<long> arr_ced; ms.ListadoMismoSexo(s, arr_nomb, arr_ced); vs.ImprimirNombreNota(arr_nomb, arr_nota); vc.Pausa(); } VSalon::ImprimirAprobadosPorSexo(vector<string> n, vector<long> c){ cout << “Nombre” << „t‟ << “Cédula” << endl; for (unsigned int i=0; i<n.size(); i++) cout << n[i] << „t‟ << c[i] << endl; }
  • 6. Ejemplos de soluciones a requerimientos con vectores Solución: 4- Dada una cédula por el usuario, listar el sexo y nota respectivo y los nombres de estudiantes de ese sexo que tienen la misma nota a- Entradas y salidas: • Entrada del usuario: supongamos que introduce la cédula 999 • Salida: b- El código necesario en cada clase para resolverlo: El sexo es ‘F’ MSalon::InfoMismaNotaSexo(long c, char &s, float &n, p = BuscarEstud(c); La nota es 80 if (p > -1){ La tienen s = ObtenerEstud[i].GetSexo(); n = ObtenerEstud[i].GetNota(); for (int i=0; i<CantEstud(); i++) if (ObtenerEstud[i].GetSexo() == s and ObtenerEstud[i].GetNota() == n){ n.push_back (ObtenerEstud[i].GetNombre()); c.push_back (ObtenerEstud[i].GetCedula()); } Mery Kim CEDULA 444 222 777 999 333 666 NOMBRE SEXO NOTA Liz ‘F’ Ray ‘M’ Ana ‘F’ Mery ‘F’ Joe ‘M’ Kim ‘F’ 60 80 40 80 30 80 vector<string>&n){ } Controlador::MostrarInfoMismaNotaSexo(){ float c = vs.LeerLong(“Qué cédula desea revisar: ”); long s; float n; vector<string> arr_nomb; ms.InfoMismaNotaSexo(c, s, n, arr_nomb); vs.ImprimirInfoMismaNotaSexo(s, n, arr_nomb); vc.Pausa(); } VSalon::ImprimirInfoMismaNotaSexo{ // Propuesto }
  • 7. Ejemplos de soluciones a requerimientos con vectores Solución: 5- Dada una cédula por el usuario, listar los nombres de los estudiantes que tienen nota mayor a este estudiante a- Entradas y salidas: • Entrada del usuario: supongamos que introduce la cédula 777 • Salida: b- El código necesario en cada clase para resolverlo: Liz MSalon::NombresNotaMayor(long c, vector<string> &n){ p = BuscarEstud(c); if (p > -1){ int n = ObtenerEstud[i].GetNota(); for (int i=0; i<CantEstud(); i++) if (ObtenerEstud[i].GetNota() > n) n.push_back (ObtenerEstud[i].GetNombre()); Ray Mery Kim CEDULA 444 222 777 999 333 666 } NOMBRE SEXO NOTA Liz ‘F’ Ray ‘M’ Ana ‘F’ Mery ‘F’ Joe ‘M’ Kim ‘F’ 60 80 40 80 30 80 Controlador::MostrarNombresNotaMayor(){ float c = vs.LeerLong(“Qué cédula desea revisar: ”); vector<string> arr_nomb; ms.NombresNotaMayor(c, arr_nomb); vs.ImprimirNombresNotaMayor(arr_nomb); vc.Pausa(); } VSalon::ImprimirInfoMismaNotaSexo{ // Propuesto }