SlideShare uma empresa 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
}

Mais conteúdo relacionado

Semelhante 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
 

Semelhante 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

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
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
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 

Último (20)

Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
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
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
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
 
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
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
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
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 

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 }