Realizar un programa que inicialice en un arreglo los siguientes títulos de libros: a. En agosto nos vemos b. Don Quijote de la Mancha c. Los tres mosqueteros d. El diablo de los números e. Fibonacci, el soñador de números f. Harry Potter y la piedra filosofal g. Mujercitas h. Los juegos del hambre i. Sé un adolescente feliz j. El jardín de las mariposas. En otro arreglo inicializa con los nombres de los autores de los libros anteriores: a. Gabriel García Márquez b. Miguel de Cervantes c. Alexandre Dumas d. Hans Magnus Enzensberger e. Joseph D´Agnese f. J.K. Rowling g. Louisa May Alcott h. Suzanne Collins El programa, deberá mostrar el siguiente menú de opciones: Menu de opciones 1. Ordenas alfabeticamente por autor 2. Mostrar el autor de un titulo de libro 3. Buscar por autor Selecciona una opcion Las opciones 2 y 3 deben ser repetitivas a petición del usuario. Solo se ocupan arreglos, estructura switch y for, do while, while. No sé puede ocupar array
Aquí te dejo un ejemplo de cómo podrías implementar el programa en C++: ```cpp #include <iostream> #include <string> #include <algorithm> using namespace std; // Estructura para representar un libro struct Libro { string titulo; string autor; }; // Arreglos para almacenar los libros Libro libros[10] = { {"En agosto nos vemos", "Gabriel García Márquez"}, {"Don Quijote de la Mancha", "Miguel de Cervantes"}, {"Los tres mosqueteros", "Alexandre Dumas"}, {"El diablo de los números", "Hans Magnus Enzensberger"}, {"Fibonacci, el soñador de números", "Joseph D´Agnese"}, {"Harry Potter y la piedra filosofal", "J.K. Rowling"}, {"Mujercitas", "Louisa May Alcott"}, {"Los juegos del hambre", "Suzanne Collins"}, {"Sé un adolescente feliz", ""}, {"El jardín de las mariposas", ""} }; // Función para ordenar los libros alfabéticamente por autor void ordenarPorAutor() { sort(libros, libros + 10, [](const Libro& a, const Libro& b) { return a.autor < b.autor; }); } // Función para mostrar el autor de un título de libro void mostrarAutor() { string titulo; cout << "Ingrese el título del libro: "; cin >> titulo; for (int i = 0; i < 10; i++) { if (libros[i].titulo == titulo) { cout << "El autor del libro es: " << libros[i].autor << endl; return; } } cout << "No se encontró el libro" << endl; } // Función para buscar por autor void buscarPorAutor() { string autor; cout << "Ingrese el autor del libro: "; cin >> autor; for (int i = 0; i < 10; i++) { if (libros[i].autor == autor) { cout << "El título del libro es: " << libros[i].titulo << endl; } } } int main() { int opcion; do { cout << "Menu de opciones" << endl; cout << "1. Ordenar alfabéticamente por autor" << endl; cout << "2. Mostrar el autor de un título de libro" << endl; cout << "3. Buscar por autor" << endl; cout << "4. Salir" << endl; cout << "Selecciona una opción: "; cin >> opcion; switch (opcion) { case 1: ordenarPorAutor(); cout << "Libros ordenados alfabéticamente por autor:" << endl; for (int i = 0; i < 10; i++) { cout << libros[i].titulo << " - " << libros[i].autor << endl; } break; case 2: mostrarAutor(); break; case 3: buscarPorAutor(); break; case 4: cout << "Adiós!" << endl; break; default: cout << "Opción inválida. Por favor, seleccione una opción válida." << endl; } } while (opcion != 4); return 0; } ``` Este programa utiliza una estructura `Libro` para representar cada libro, con un título y un autor. Los libros se almacenan en un arreglo `libros` de tamaño 10. La función `ordenarPorAutor` utiliza la función `sort` de la biblioteca `<algorithm>` para ordenar los libros alfabéticamente por autor. La función `mostrarAutor` busca un libro por título y muestra el autor correspondiente. La función `buscarPorAutor` busca un libro por autor y muestra el título correspondiente. El programa principal utiliza un bucle `do-while` para mostrar el menú de opciones y ejecutar la función correspondiente según la opción seleccionada por el usuario.