Add files via upload
This commit is contained in:
@ -0,0 +1,82 @@
|
||||
#include "ListaPeliculas.h"
|
||||
using namespace std;
|
||||
|
||||
|
||||
bool cargar(tListaPeliculas & listaPelis){
|
||||
bool carga = false;
|
||||
ifstream archivo;
|
||||
int numPelis = 0;
|
||||
|
||||
listaPelis.cont = 0;
|
||||
archivo.open("peliculas.txt");
|
||||
if (archivo.is_open()) {
|
||||
archivo >> numPelis;
|
||||
archivo.ignore();
|
||||
while ((!archivo.fail()) && (listaPelis.cont < numPelis)){
|
||||
listaPelis.pelicula[listaPelis.cont] = new tPelicula;
|
||||
carga = cargar(*listaPelis.pelicula[listaPelis.cont], archivo);
|
||||
listaPelis.cont++;
|
||||
}
|
||||
}
|
||||
|
||||
return carga;
|
||||
}
|
||||
|
||||
void filtrarPorActor(tListaPeliculas & listaPelis, std::string & nombre){
|
||||
tListaPeliculas listaAUX;
|
||||
listaAUX.cont = 0;
|
||||
|
||||
for (int i = 0; i < listaPelis.cont; i++) {
|
||||
if (interviene(*listaPelis.pelicula[i], nombre)) {
|
||||
listaAUX.pelicula[listaAUX.cont] = listaPelis.pelicula[i];
|
||||
listaAUX.cont++;
|
||||
}
|
||||
}
|
||||
|
||||
ordenarPorGenero(listaAUX);
|
||||
mostrar(listaAUX);
|
||||
|
||||
}
|
||||
|
||||
void mostrar(tListaPeliculas& listaPelis){
|
||||
for (int i = 0; i < listaPelis.cont; i++){
|
||||
mostrar(*listaPelis.pelicula[i]);
|
||||
cout << "---" << endl;
|
||||
}
|
||||
}
|
||||
|
||||
void ordenarPorGenero(tListaPeliculas& listaPelis){
|
||||
tPelicula* AUX;
|
||||
int cont;
|
||||
|
||||
for (int i = 0; i < listaPelis.cont; i++) {
|
||||
cont = i;
|
||||
while ((cont > 0) && (listaPelis.pelicula[cont]->genero <= listaPelis.pelicula[cont - 1]->genero)) { //
|
||||
if (listaPelis.pelicula[cont]->genero == listaPelis.pelicula[cont - 1]->genero) {
|
||||
ordenarPorValoracion(*listaPelis.pelicula[cont - 1], *listaPelis.pelicula[cont]);
|
||||
}
|
||||
else {
|
||||
AUX = listaPelis.pelicula[cont];
|
||||
listaPelis.pelicula[cont] = listaPelis.pelicula[cont - 1];
|
||||
listaPelis.pelicula[cont - 1] = AUX;
|
||||
}
|
||||
cont--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ordenarPorValoracion(tPelicula& pelIZQ, tPelicula& pelDER){
|
||||
tPelicula AUX;
|
||||
|
||||
if (pelIZQ.valoracion < pelDER.valoracion) {
|
||||
AUX = pelIZQ;
|
||||
pelIZQ = pelDER;
|
||||
pelDER = AUX;
|
||||
}
|
||||
}
|
||||
|
||||
void destruir(tListaPeliculas & listaPelis){
|
||||
for (int i = 0; i < listaPelis.cont; i++){
|
||||
delete listaPelis.pelicula[i];
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user