Add files via upload
This commit is contained in:
12
Exámenes Resueltos (Segundo Semestre)/Junio2016D/CheckML.h
Normal file
12
Exámenes Resueltos (Segundo Semestre)/Junio2016D/CheckML.h
Normal file
@ -0,0 +1,12 @@
|
||||
#ifdef _DEBUG
|
||||
#define _CRTDBG_MAP_ALLOC
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <crtdbg.h>
|
||||
|
||||
#ifndef DBG_NEW
|
||||
#define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ )
|
||||
#define new DBG_NEW
|
||||
|
||||
#endif
|
||||
#endif
|
BIN
Exámenes Resueltos (Segundo Semestre)/Junio2016D/Junio2016_D.pdf
Normal file
BIN
Exámenes Resueltos (Segundo Semestre)/Junio2016D/Junio2016_D.pdf
Normal file
Binary file not shown.
@ -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];
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
#ifndef H_LISTAPELICULAS_H
|
||||
#define H_LISTAPELICULAS_H
|
||||
|
||||
#include "Pelicula.h"
|
||||
|
||||
//Constantes:
|
||||
const int MAX_PELIS = 50;
|
||||
|
||||
//Tipos:
|
||||
typedef struct tListaPeliculas {
|
||||
tPelicula *pelicula[MAX_PELIS];
|
||||
int cont;
|
||||
};
|
||||
|
||||
//Funciones:
|
||||
bool cargar(tListaPeliculas& listaPelis); //Carga la lista de pel<65>culas.
|
||||
void filtrarPorActor(tListaPeliculas& listaPelis, std::string& nombre); //Genera nueva lista que contiene enlaces a las pel<65>culas donde ha participado ese actor.
|
||||
void mostrar(tListaPeliculas& listaPelis); //Muestra la lista de pel<65>culas
|
||||
void ordenarPorGenero(tListaPeliculas& listaPelis); //Ordenadas por g<>nero de menor a mayor.
|
||||
void ordenarPorValoracion(tPelicula& pelIZQ, tPelicula& pelDER); //Ordenaci<63>n por inserci<63>n. Ordenadas por valoraci<63>n de mayor a menor.
|
||||
void destruir(tListaPeliculas& listaPelis);
|
||||
|
||||
#endif // !H_LISTAPELICULAS_H
|
||||
|
@ -0,0 +1,42 @@
|
||||
#include "Pelicula.h"
|
||||
using namespace std;
|
||||
|
||||
bool cargar(tPelicula& pelicula, ifstream& archivo){
|
||||
bool cargado = false;
|
||||
pelicula.contReparto = 0;
|
||||
|
||||
getline(archivo, pelicula.titulo);
|
||||
getline(archivo, pelicula.director);
|
||||
getline(archivo, pelicula.genero);
|
||||
getline(archivo, pelicula.valoracion);
|
||||
archivo >> pelicula.contReparto;
|
||||
archivo.ignore();
|
||||
for (int i = 0; i < pelicula.contReparto; i++){
|
||||
cargado = cargar(pelicula.listaReparto[i], archivo);
|
||||
}
|
||||
|
||||
return cargado;
|
||||
}
|
||||
|
||||
bool interviene(tPelicula& pelicula, std::string& nombre){
|
||||
bool encontrado = false;
|
||||
int j = 0;
|
||||
|
||||
while(!encontrado && j < pelicula.contReparto){
|
||||
if (pelicula.listaReparto[j].nombre == nombre) {
|
||||
encontrado = true;
|
||||
}
|
||||
else {
|
||||
j++;
|
||||
}
|
||||
}
|
||||
|
||||
return encontrado;
|
||||
}
|
||||
|
||||
void mostrar(tPelicula& pelicula){
|
||||
cout << "Titulo:" << setw(5) << pelicula.titulo << endl
|
||||
<< "Director: " << setw(5) << pelicula.director << endl
|
||||
<< "G<EFBFBD>nero:" << setw(5) << pelicula.genero << endl
|
||||
<< "Valoracion:" << setw(5) << pelicula.valoracion << endl;
|
||||
}
|
21
Exámenes Resueltos (Segundo Semestre)/Junio2016D/Pelicula.h
Normal file
21
Exámenes Resueltos (Segundo Semestre)/Junio2016D/Pelicula.h
Normal file
@ -0,0 +1,21 @@
|
||||
#ifndef H_PELICULA_H
|
||||
#define H_PELICULA_H
|
||||
|
||||
#include "Reparto.h"
|
||||
|
||||
//Constantes:
|
||||
|
||||
|
||||
//Tipos:
|
||||
typedef struct tPelicula {
|
||||
std::string titulo, director, genero, valoracion;
|
||||
tReparto listaReparto[MAX_ACTORES];
|
||||
int contReparto;
|
||||
};
|
||||
|
||||
//Funciones:
|
||||
bool cargar(tPelicula& pelicula, std::ifstream&); //Carga una pel<65>cula.
|
||||
bool interviene(tPelicula& pelicula, std::string& nombre); //True si el actor se encuentra en la pel<65>cula, false en caso contrario.
|
||||
void mostrar(tPelicula& pelicula); //Muestra por pantalla el t<>tulo, director, g<>nero y valoraci<63>n de una pel<65>cula.
|
||||
|
||||
#endif // !H_PELICULA_H
|
19
Exámenes Resueltos (Segundo Semestre)/Junio2016D/Reparto.cpp
Normal file
19
Exámenes Resueltos (Segundo Semestre)/Junio2016D/Reparto.cpp
Normal file
@ -0,0 +1,19 @@
|
||||
#include "Reparto.h"
|
||||
using namespace std;
|
||||
|
||||
bool cargar(tReparto& reparto, ifstream& archivo){
|
||||
bool carga = false;
|
||||
|
||||
if (!archivo.fail()) {
|
||||
getline(archivo, reparto.nombre);
|
||||
carga = true;
|
||||
}
|
||||
|
||||
return carga;
|
||||
}
|
||||
|
||||
bool aparece(tReparto& reparto, string & nombre, int & pos){
|
||||
bool encontrado = false;
|
||||
|
||||
return encontrado;
|
||||
}
|
24
Exámenes Resueltos (Segundo Semestre)/Junio2016D/Reparto.h
Normal file
24
Exámenes Resueltos (Segundo Semestre)/Junio2016D/Reparto.h
Normal file
@ -0,0 +1,24 @@
|
||||
#ifndef H_REPARTO_H
|
||||
#define H_REPARTO_H
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
|
||||
//Constantes:
|
||||
const int MAX_ACTORES = 10;
|
||||
|
||||
//Tipos:
|
||||
typedef struct tReparto {
|
||||
std::string nombre;
|
||||
};
|
||||
|
||||
//typedef tReparto tListaReparto[MAX_ACTORES];
|
||||
|
||||
//Funciones:
|
||||
bool cargar(tReparto& reparto, std::ifstream&); //Carga la lista del reparto.
|
||||
bool aparece(tReparto reparto, std::string& nombre, int& pos); //True si encuentra el nombre en la lista, false en caso contrario. Implementar de forma recursiva.
|
||||
|
||||
#endif // !H_REPARTO_H
|
||||
|
38
Exámenes Resueltos (Segundo Semestre)/Junio2016D/main.cpp
Normal file
38
Exámenes Resueltos (Segundo Semestre)/Junio2016D/main.cpp
Normal file
@ -0,0 +1,38 @@
|
||||
//Examen Junio de 2016 - FP
|
||||
//Grupo D
|
||||
//Fernando M<>ndez Torrubiano
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
#include "ListaPeliculas.h"
|
||||
#include "CheckML.h"
|
||||
using namespace std;
|
||||
|
||||
|
||||
int main() {
|
||||
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); //Detecta posibles fugas de memoria.
|
||||
system("chcp 1252"); //As<41> la consola puede imprimir caracteres especiales del espa<70>ol.
|
||||
system("cls");
|
||||
|
||||
|
||||
tListaPeliculas lista;
|
||||
string nombre;
|
||||
|
||||
if (cargar(lista)) {
|
||||
cout << "Introduzca nombre del actor: ";
|
||||
getline(cin, nombre);
|
||||
//mostrar(lista);
|
||||
filtrarPorActor(lista, nombre);
|
||||
}
|
||||
else {
|
||||
cout << "No se ha podido cargar el archivo." << endl;
|
||||
}
|
||||
|
||||
destruir(lista); //Libera la memoria din<69>mica.
|
||||
|
||||
system("PAUSE");
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
4
|
||||
X-MEN: Apocalipsis
|
||||
Bryan Singer
|
||||
Ciencia ficci<63>n
|
||||
6.3
|
||||
5
|
||||
James McAvoy
|
||||
Michael Fassbender
|
||||
Jennifer Lawrence
|
||||
Nicholas Hoult
|
||||
Oscar Issac
|
||||
La invenci<63>n de Hugo
|
||||
Martin Scorsese
|
||||
Aventuras
|
||||
6.8
|
||||
4
|
||||
Asa Butterfield
|
||||
Ben Kingsley
|
||||
Sacha Baron Cohen
|
||||
Jude Law
|
||||
Noche en el museo: El secreto del fara<72>n
|
||||
Shawn Levy
|
||||
Comedia
|
||||
5.1
|
||||
5
|
||||
Robin Williams
|
||||
Ben Kingsley
|
||||
San Stevens
|
||||
Ben Stiller
|
||||
Ricky Gervais
|
||||
El libro de la selva
|
||||
Jon Favreau
|
||||
Aventuras
|
||||
7.0
|
||||
3
|
||||
Neel Sethi
|
||||
Bill Murray
|
||||
Ben Kingsley
|
Reference in New Issue
Block a user