0% encontró este documento útil (0 votos)
15 vistas4 páginas

Tesis

Cargado por

ldbm.blanco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas4 páginas

Tesis

Cargado por

ldbm.blanco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

ChatGPT4 | Midjourney:

biblioteca.push_back(new Disco(titulo, precio, duracion));


cout << "Disco agregado correctamente." << endl;
break;
}
case 3: {
if ([Link]()) {
cout << "La biblioteca está vacía." << endl;
} else {
cout << "===== Biblioteca =====" << endl;
for (Producto* producto : biblioteca) {
producto->obtenerDetalles();
cout << "------------------------" << endl;
}
}
break;
}
case 0:
cout << "¡Hasta luego!" << endl;
break;
default:
cout << "Opción inválida." << endl;
break;
}
cout << endl;
} while (opcion != 0);

// Liberar la memoria de los productos almacenados


for (Producto* producto : biblioteca) {
delete producto;
}

return 0;
}

Lamento la confusión anterior. Espero que esta revisión te sea útil. Si tienes
alguna otra pregunta, no dudes en preguntar.

Sí, por supuesto. A continuación, se muestra una revisión del código que
proporcioné anteriormente:

**archivo Producto.h**
#ifndef PRODUCTO_H
#define PRODUCTO_H

#include <string>

class Producto {
protected:
std::string titulo;
float precio;

public:
Producto(std::string _titulo, float _precio);
virtual ~Producto();
virtual void obtenerDetalles() = 0;
};

#endif
**archivo [Link]**
#include "Producto.h"

Producto::Producto(std::string _titulo, float _precio) : titulo(_titulo),


precio(_precio) {}

Producto::~Producto() {}

**archivo Libro.h**
#ifndef LIBRO_H
#define LIBRO_H

#include "Producto.h"

class Libro : public Producto {


private:
int numPaginas;

public:
Libro(std::string _titulo, float _precio, int _numPaginas);
void obtenerDetalles();
};

#endif

**archivo [Link]**
#include "Libro.h"
#include <iostream>

Libro::Libro(std::string _titulo, float _precio, int _numPaginas) :


Producto(_titulo, _precio), numPaginas(_numPaginas) {}

void Libro::obtenerDetalles() {
std::cout << "Título: " << titulo << std::endl;
std::cout << "Precio: $" << precio << std::endl;
std::cout << "Número de páginas: " << numPaginas << std::endl;
}

**archivo Disco.h**
#ifndef DISCO_H
#define DISCO_H

#include "Producto.h"

class Disco : public Producto {


private:
int duracionMinutos;

public:
Disco(std::string _titulo, float _precio, int _duracionMinutos);
void obtenerDetalles();
};

#endif
**archivo [Link]**
#include "Disco.h"
#include <iostream>

Disco::Disco(std::string _titulo, float _precio, int _duracionMinutos) :


Producto(_titulo, _precio), duracionMinutos(_duracionMinutos) {}

void Disco::obtenerDetalles() {
std::cout << "Título: " << titulo << std::endl;
std::cout << "Precio: $" << precio << std::endl;
std::cout << "Duración en minutos: " << duracionMinutos << std::endl;
}

**archivo [Link]**
#include <iostream>
#include <vector>
#include "Producto.h"
#include "Libro.h"
#include "Disco.h"

using namespace std;

int main() {
vector<Producto*> biblioteca;

// Agregar libros y discos a la biblioteca


biblioteca.push_back(new Libro("El Gran Gatsby", 15.99, 352));
biblioteca.push_back(new Disco("Thriller", 12.50, 42));
biblioteca.push_back(new Libro("Cien años de soledad", 20.75, 432));

int opcion;
do {
cout << "===== Menú Principal =====" << endl;
cout << "1. Agregar libro" << endl;
cout << "2. Agregar disco" << endl;
cout << "3. Mostrar biblioteca" << endl;
cout << "0. Salir" << endl;
cout << "Ingrese una opción: ";
cin >> opcion;

switch (opcion) {
case 1: {
string titulo;
float precio;
int numPaginas;

cout << "Ingrese el título del libro: ";


[Link]();
getline(cin, titulo);
cout << "Ingrese el precio del libro: ";
cin >> precio;
cout << "Ingrese el número de páginas del libro: ";
cin >> numPaginas;

biblioteca.push_back(new Libro(titulo, precio, numPaginas));


cout << "Libro agregado correctamente." << endl;
break;
}
case 2: {
string titulo;
float precio;
int duracion;

cout << "Ingrese el título del disco: ";


[Link]();
getline(cin, titulo);
cout << "Ingrese el precio del disco: ";
cin >> precio;
cout << "Ingrese la duración en minutos del disco: ";
cin >> duracion;

También podría gustarte