Untitled
#include <iostream> // Incluir la biblioteca de entrada y salida estándar #include <cstring> #define T_MAX_CADENA 120 #define T_MAX_ALMACEN 100 using namespace std; typedef char TCadena[T_MAX_CADENA]; // Producto/Almacen // Pelicula/Videclub class Pelicula { TCadena nombre; int stock; public: Pelicula(){} void anadir(){ cout << "* Dame el nombre de la pelicula: "; cin.getline(nombre, T_MAX_CADENA); cout << "* Dame cuanto es el stock de esta pelicula: "; cin >> stock; cin.ignore(); cout << endl; } void mostrar() { cout << "[PELICULA]: " << nombre << " (" << stock << " en stock)" << endl; } bool existePelicualConElNombre( TCadena nombrePelicula){ if (strcmp(nombre,nombrePelicula)){ return true; } return false; } void borra() { cout << "Borrando la pelicula... '" << nombre << "'..." << endl; strcpy(nombre, ""); stock = 0; } }; class Videoclub { Pelicula peliculas[T_MAX_ALMACEN]; int peliculasAlmacenadas; public: Videoclub() { peliculasAlmacenadas = 0; } bool anadirPeliAlVideoclub(Pelicula peli) { // si me intenta añadir una peli, pero no me queda espacio, pos le digo que no if (peliculasAlmacenadas > T_MAX_ALMACEN) { return false; } peliculas[peliculasAlmacenadas] = peli; peliculasAlmacenadas = peliculasAlmacenadas + 1; return true; } void mostrarVideoClub(){ cout << "[VIDEOCLUB] Listado del almacen..." << endl; for(int i=0; i<peliculasAlmacenadas; i++){ Pelicula peli = peliculas[i]; peli.mostrar(); } } bool buscar(TCadena nombrePelicula){ cout << "[VIDEOCLUB] buscando " << nombrePelicula << "..." << endl; for(int i=0; i<peliculasAlmacenadas; i++){ Pelicula peli = peliculas[i]; if (peli.existePelicualConElNombre(nombrePelicula)) { return true; } } return false; } }; // ************************************************ // BEGIN: Definicion de funciones // ************************************************ char menu() { char option; cout << endl; cout << "************ MENU ********************" << endl; cout << "* A.- Añadir pelicula al videoclub" << endl; cout << "* B.- Mostrar videoclub" << endl; cout << "* C.- Buscar" << endl; cout << "* Q.- Salir" << endl; cout << "**************************************" << endl; cout << "> Selecciona opción: "; cin >> option; cin.ignore(); cout << "Ejecutando la acción seleccionada '" << option << "'..." << endl; return toupper(option); } // ************************************************ // BEGIN: Main principal // ************************************************ int main() { char option; Pelicula pelicula; Videoclub myVideoclub; do { option = menu(); switch(option) { case 'A': cout << "Opción A" << endl; pelicula.anadir(); myVideoclub.anadirPeliAlVideoclub(pelicula); break; case 'B': cout << "Opción B" << endl; myVideoclub.mostrarVideoClub(); break; case 'C': cout << "Opción C" << endl; cout << "Que pelicula quieres busar:"; TCadena nombre; cin.getline(nombre, T_MAX_CADENA); if (myVideoclub.buscar(nombre)){ cout << "La peli " << nombre << " está en el almacen" << endl; } else { cout << "La peli " << nombre << " NO está en el almacen" << endl; } break; default : cout << "Opción no válida, elige otra" << endl; break; } } while (option != 'Q'); return 0; // Retornar 0 para indicar que el programa terminó correctamente }
Leave a Comment