-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathventanaconsultaapellido.cpp
62 lines (48 loc) · 1.89 KB
/
ventanaconsultaapellido.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include "ventanaconsultaapellido.h"
#include "ui_ventanaconsultaapellido.h"
#include "cstdlib"
#include <iostream>
using namespace std;
VentanaConsultaApellido::VentanaConsultaApellido(QWidget *parent, QString*pPaises, QString*pApellidos,
ListaMundo* pListaMundo,Paraiso* pParaiso,Infierno*pInfierno) :
QMainWindow(parent),
ui(new Ui::VentanaConsultaApellido)
{
ui->setupUi(this);
paises=pPaises;
apellidos=pApellidos;
listaMundo= pListaMundo;
paraiso=pParaiso;
infierno=pInfierno;
QStringList listaPaises;
QStringList listaApellidos;
for(int i=0;i<242;i++)
listaPaises.append(paises[i]);
for(int i=0;i<1000;i++)
listaApellidos.append(apellidos[i]);
ui->cajaPaises->addItems(listaPaises);
ui->cajaApellidos->addItems(listaApellidos);
}
VentanaConsultaApellido::~VentanaConsultaApellido()
{
delete ui;
}
void VentanaConsultaApellido::on_aceptar_clicked()
{
QString apellido=ui->cajaApellidos->currentText();
QString pais= ui->cajaPaises->currentText();
QString filtrado;
std::vector<NodoHumano*> filtroMundo= listaMundo->filtroApellidoPais(apellido,pais);
std::vector<NodoHumano*> filtroInfierno= infierno->listaCondenados->filtroApellidoPais(apellido,pais);
std::vector<NodoHumano*> filtroParaiso= paraiso->listaParaiso->filtroApellidoPais(apellido,pais);
filtroMundo.insert(filtroMundo.end(),filtroInfierno.begin(),filtroInfierno.end());
filtroMundo.insert(filtroMundo.end(),filtroParaiso.begin(),filtroParaiso.end());
filtroMundo=ordenarPecadores(filtroMundo,filtroMundo.size());
if(filtroMundo.size()!=0){
for(int i=0;i<filtroMundo.size();i++)
filtrado+=imprimirHumano(filtroMundo[i]);
ui->informacionFiltrados->setText(filtrado);
}
else
ui->informacionFiltrados->setText("Su búsqueda no produjo resultados");
}