← Volver a Zona Gamer/Examen C++ CRUD/Módulo 06: Tipo Prueba CRUD
⭐ 16 Misiones Tipo Prueba · 3200 XP
🎯 PREPARACIÓN DE EVALUACIÓN PRÁCTICA

📊 Tipo Prueba: Vectores & Funciones CRUD

16 casos prácticos tipo prueba universitaria y técnica (10 sistemas clásicos de consola + 6 misiones especiales doradas de inventarios gamer). Cada ejercicio modela un sistema de consola completo con Menú interactivo y las operaciones fundamentales de arreglos/vectores paralelos en memoria RAM.

📐

Estructura Obligatoria de Cada Sistema en Consola

Todo ejercicio de evaluación debe incluir el Menú y las 6 funciones modulares correspondientes:

📋Menú Interactivo

Bucle continuo (do-while / while) con opciones 1. Guardar, 2. Listar, 3. Buscar, 4. Actualizar, 5. Eliminar, 6. Reportes y 7. Salir.

do { ... } while (opcion != 7);
1. Guardar / Crear

Solicita los datos por consola y los añade con push_back() / append() en ambos vectores en la misma posición.

nombres.push_back(n); notas.push_back(v);
📜2. Listar / Mostrar

Recorre la lista con un ciclo for imprimiendo cada elemento con su índice [i] para que el usuario conozca las posiciones válidas.

cout << "[" << i << "] " << nombres[i];
🔍3. Buscar (Search)

Búsqueda lineal comparando cada elemento con el valor buscado. Retorna el índice i si lo encuentra o -1 si no existe.

if (v[i] == buscado) return i; return -1;
✏️4. Actualizar (Update)

Valida estrictamente los límites de memoria 0 <= idx < size() antes de sobrescribir los nuevos valores pasados por referencia.

if (idx >= 0 && idx < size) vec[idx] = val;
🗑️5. Eliminar (Delete)

Borrado sincronizado. Aplica erase() o eliminación atómica en todos los vectores paralelos al mismo tiempo para evitar desfasar datos.

a.erase(a.begin()+i); b.erase(b.begin()+i);
📊6. Obtener Reportes y Estadísticas

Cálculo de métricas globales: sumas de recursos/DPS/oro, promedios, detección de elemento máximo (MVP/Récord), alertas de umbral crítico (HP < 30%, stock < 5) o clasificaciones ordenadas.

promedio = total / size; | if (val[i] > max) maxIdx = i;
1
1. Arsenal & Recursos Gamer

1. Herrería & Tienda RPG: Sistema CRUD y Catálogo de Armas

+200 XP

Desarrollar una aplicación de consola para la forja del reino basada en un Menú Principal interactivo (do-while/while). El sistema administra dos vectores paralelos: nombres de armas legendarias (string) y precios en monedas de oro (float). Debe integrar obligatoriamente las 6 operaciones fundamentales: 1) Guardar nueva arma forjada, 2) Listar catálogo completo con índices y precios, 3) Buscar arma por nombre retornando su posición y valor, 4) Actualizar precio en oro por índice validando límites de rango, 5) Eliminar arma de ambos vectores simultáneamente, 6) Reporte estadístico (arma más costosa y precio promedio del arsenal), y 7) Salir.

📦Vectores en Memoria:
vector<string> armas | vector<float> preciosOro
📊⚙️ Funciones Clave:
void menu() -> Bucle do-while interactivo con opciones 1 a 7void guardarArma(vector<string>& armas, vector<float>& precios) -> push_back() sincronizadovoid listarArmas(const vector<string>& armas, const vector<float>& precios) -> Recorrido formateado [i]int buscarArma(const vector<string>& armas, const string& buscada) -> Búsqueda lineal (retorna índice o -1)void actualizarPrecio(vector<float>& precios) -> Validación 0 <= idx < size() y asignaciónvoid eliminarArma(vector<string>& armas, vector<float>& precios) -> erase() atómico en ambos vectoresvoid reporteEstadisticas(const vector<string>& armas, const vector<float>& precios) -> Máximo y promedio
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
2
1. Arsenal & Recursos Gamer

2. Raid Boss & Squad: Gestión de Escuadrón, Salud y Triaje Crítico

+200 XP

Construir el sistema de comando del Healer durante la batalla de Raid Boss. Gestiona dos vectores paralelos: nombres de héroes del escuadrón (string) y salud/HP actual (float). Mediante un Menú interactivo continuo, debe permitir: 1) Guardar/Reclutar héroe con su HP inicial, 2) Listar escuadrón completo con barra de vida formateada, 3) Buscar héroe por nombre para diagnosticar su salud, 4) Actualizar HP tras recibir daño de boss o curación, 5) Eliminar héroe caído en combate (0% HP), 6) Reporte de Triaje Crítico (filtra héroes con HP < 30% y localiza al héroe con mayor vida), y 7) Salir.

📦Vectores en Memoria:
vector<string> heroes | vector<float> hpActual
📊⚙️ Funciones Clave:
void menu() -> Menú con ciclo do-while para el Healervoid guardarHeroe(vector<string>& h, vector<float>& hp) -> Registro de nuevo integrantevoid listarSquad(const vector<string>& h, const vector<float>& hp) -> Vista general del escuadrónint buscarHeroe(const vector<string>& h, const string& target) -> Ubicación por nombrevoid actualizarHP(vector<float>& hp) -> Modificación de salud con validaciónvoid eliminarHeroe(vector<string>& h, vector<float>& hp) -> Borrado sincronizado de héroe caídovoid reporteTriajeCritico(const vector<string>& h, const vector<float>& hp) -> Filtro condicional HP < 30%
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
3
1. Arsenal & Recursos Gamer

3. Gremio / Clan MMORPG: Registro de Miembros, DPS y Auditoría MVP

+200 XP

Diseñar el software administrativo de un Clan MMORPG con dos vectores paralelos: Gamertags de miembros (string) y puntos de daño por segundo DPS (float). A través de un Menú Principal interactivo, debe permitir: 1) Guardar nuevo jugador con su DPS de raid, 2) Listar miembros del clan con sus marcas de combate, 3) Buscar miembro por Gamertag mostrando su récord de daño, 4) Actualizar DPS tras equipar artefactos legendarios, 5) Eliminar miembro expulsado sincronizando ambos vectores, 6) Reportes Estadísticos (DPS total acumulado, promedio de la hermandad y Jugador MVP con mayor DPS), y 7) Salir.

📦Vectores en Memoria:
vector<string> miembros | vector<float> dpsPuntos
📊⚙️ Funciones Clave:
void menu() -> Menú de administración de clanvoid guardarMiembro(vector<string>& clan, vector<float>& dps) -> Alta de nuevo guerrerovoid listarClan(const vector<string>& clan, const vector<float>& dps) -> Catálogo de combatientesint buscarMiembro(const vector<string>& clan, const string& tag) -> Búsqueda por Gamertagvoid actualizarDPS(vector<float>& dps) -> Recálculo de daño en memoriavoid eliminarMiembro(vector<string>& clan, vector<float>& dps) -> Baja en ambos vectoresvoid reportesDPS_MVP(const vector<string>& clan, const vector<float>& dps) -> Suma total, promedio y MVP
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
4
2. Búsqueda, Forja y Clasificación

4. Hangar Sci-Fi: Control de Bahías, Naves y Asignación de Pilotos

+200 XP

Implementar el sistema de control de tráfico aéreo de una estación espacial con dos vectores paralelos: matrículas/IDs de naves (string) y pilotos asignados (string). El sistema debe operar con un Menú repetitivo que permita: 1) Guardar nave y tripulante en una nueva bahía, 2) Listar estado general de todas las bahías del hangar, 3) Buscar nave por matrícula indicando su bahía exacta y piloto, 4) Actualizar/Reasignar piloto de una nave existente, 5) Eliminar nave despegada o destruida, 6) Reportes de ocupación (total de bahías activas y resumen alfanumérico de naves), y 7) Salir.

📦Vectores en Memoria:
vector<string> matriculas | vector<string> pilotos
📊⚙️ Funciones Clave:
void menu() -> Menú de control del hangar espacialvoid guardarNave(vector<string>& mat, vector<string>& pil) -> Acoplamiento de navevoid listarHangar(const vector<string>& mat, const vector<string>& pil) -> Despliegue de bahíasint buscarNave(const vector<string>& mat, const string& buscada) -> Búsqueda de matrícula (retorna bahía)void actualizarPiloto(vector<string>& pil) -> Reasignación de comandantevoid eliminarNave(vector<string>& mat, vector<string>& pil) -> Despegue/Liberación de bahíavoid reporteOcupacion(const vector<string>& mat, const vector<string>& pil) -> Métricas de tráfico
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
5
2. Búsqueda, Forja y Clasificación

5. Alquimia & Forja Rúnica: Almacén de Ingredientes, Crafteo y Stock

+200 XP

Crear el sistema de inventario del taller de alquimia con dos vectores paralelos: materiales mágicos (string) y unidades disponibles en stock (int). Con un Menú de consola interactivo, debe permitir: 1) Guardar nuevo ingrediente descubierto en la bolsa, 2) Listar todos los materiales y sus existencias actuales, 3) Buscar material por nombre para chequear disponibilidad, 4) Actualizar/Consumir stock (crafteo: descuenta unidades si stock > 0), 5) Eliminar material obsoleto o agotado de la bolsa, 6) Reportes de recursos agotados (stock == 0) y total de ítems almacenados, y 7) Salir.

📦Vectores en Memoria:
vector<string> materiales | vector<int> stock
📊⚙️ Funciones Clave:
void menu() -> Menú del laboratorio alquímicovoid guardarMaterial(vector<string>& mats, vector<int>& stock) -> Alta de ingrediente rúnicovoid listarAlquimia(const vector<string>& mats, const vector<int>& stock) -> Visualización de bolsaint buscarMaterial(const vector<string>& mats, const string& buscado) -> Búsqueda por nombrevoid actualizarStock(vector<int>& stock) -> Modificación o consumo por crafteovoid eliminarMaterial(vector<string>& mats, vector<int>& stock) -> Borrado sincronizadovoid reporteStockAgotado(const vector<string>& mats, const vector<int>& stock) -> Filtro de ítems en cero
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
6
2. Búsqueda, Forja y Clasificación

6. Torneo Arcade Global: Leaderboard, Clasificación y Tabla de Récords

+200 XP

Desarrollar la máquina de records de un torneo arcade con dos vectores paralelos: Gamertags (string) y puntajes Highscore (int). Mediante un Menú interactivo, debe permitir: 1) Guardar nueva partida y récord de jugador, 2) Listar la tabla de puntajes en el orden actual, 3) Buscar competidor por Gamertag para ver su puntuación, 4) Actualizar score si el jugador bate su marca personal, 5) Eliminar jugador descalificado del torneo, 6) Reportes de Clasificación (algoritmo de ordenamiento burbuja descendente sincronizado del Top Scores y puntuación máxima), y 7) Salir.

📦Vectores en Memoria:
vector<string> gamertags | vector<int> puntajes
📊⚙️ Funciones Clave:
void menu() -> Menú arcade de salón de juegosvoid guardarPartida(vector<string>& tags, vector<int>& scores) -> Registro de récordvoid listarRanking(const vector<string>& tags, const vector<int>& scores) -> Tabla de competidoresint buscarJugador(const vector<string>& tags, const string& target) -> Búsqueda de gamertagvoid actualizarScore(vector<int>& scores) -> Actualización de highscorevoid eliminarJugador(vector<string>& tags, vector<int>& scores) -> Retiro de competidorvoid reporteTopScores(vector<string>& tags, vector<int>& scores) -> Ordenamiento burbuja descendente
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
7
3. Sistemas Multivector & Economía Gamer

7. Dungeon Crawler MMORPG: Servidor de Mazmorras, Salas y Partidas

+200 XP

Modelar un servidor de dungeons multijugador con tres vectores paralelos: número de sala (int), estado ("LIBRE" / "EN_COMBATE", string) y Gamertag del líder de party (string). Con un Menú interactivo, debe permitir: 1) Guardar nueva mazmorra habilitada en el servidor, 2) Listar estado en tiempo real de todas las salas, 3) Buscar sala por número verificando disponibilidad, 4) Actualizar estado y asignar party (Entrada a Mazmorra), 5) Eliminar sala dada de baja o en mantenimiento, 6) Reportes de servidor (porcentaje de ocupación de salas y lista de parties activas), y 7) Salir.

📦Vectores en Memoria:
vector<int> salas | vector<string> estados | vector<string> lideresParty
📊⚙️ Funciones Clave:
void menu() -> Menú de control del servidor de dungeonsvoid guardarSala(vector<int>& s, vector<string>& est, vector<string>& lid) -> Registro de mazmorravoid listarSalas(const vector<int>& s, const vector<string>& est, const vector<string>& lid) -> Estado de salasint buscarSala(const vector<int>& s, int salaBuscada) -> Búsqueda de sala por IDvoid actualizarEstadoSala(vector<string>& est, vector<string>& lid) -> Entrada o liberación de partyvoid eliminarSala(vector<int>& s, vector<string>& est, vector<string>& lid) -> Borrado triple sincronizadovoid reporteSalasActivas(const vector<int>& s, const vector<string>& est, const vector<string>& lid) -> Métricas de raid
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
8
3. Sistemas Multivector & Economía Gamer

8. Supervivencia Post-Apocalíptica: Mochila Táctica, Municiones y Alertas HUD

+200 XP

Diseñar la computadora de supervivencia táctica con dos vectores paralelos: suministros/municiones (string) y unidades en inventario (int). Mediante un Menú interactivo continuo, debe permitir: 1) Guardar nuevo recurso recolectado en la zona segura, 2) Listar inventario táctico completo, 3) Buscar suministro por nombre para consultar existencias, 4) Actualizar unidades tras disparar o consumir raciones, 5) Eliminar ítem descartado o consumido totalmente, 6) Reportes de Alerta HUD (filtrar recursos por debajo del umbral de emergencia < 5 unidades y total de provisiones), y 7) Salir.

📦Vectores en Memoria:
vector<string> suministros | vector<int> cantidades
📊⚙️ Funciones Clave:
void menu() -> Menú de supervivencia tácticavoid guardarRecurso(vector<string>& sum, vector<int>& cant) -> Registro de munición/botiquínvoid listarMochila(const vector<string>& sum, const vector<int>& cant) -> Vista de inventario tácticoint buscarRecurso(const vector<string>& sum, const string& target) -> Búsqueda por nombrevoid actualizarUnidades(vector<int>& cant) -> Modificación de cantidad en mochilavoid eliminarRecurso(vector<string>& sum, vector<int>& cant) -> Descarte de ítem en ambos vectoresvoid reporteAlertasHUD(const vector<string>& sum, const vector<int>& cant, int minVal) -> Alerta de peligro < 5u
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
9
3. Sistemas Multivector & Economía Gamer

9. Domador de Criaturas RPG: Bestiario, Afinidades Elementales y Capturas

+200 XP

Construir el bestiario de un domador con tres vectores paralelos: nombres de criaturas (string), elemento afin (string) y poder de combate CP (float). Con un Menú de opciones interactivo, debe permitir: 1) Guardar/Capturar criatura registrando sus 3 atributos, 2) Listar bestiario completo con índices y estadísticas, 3) Buscar criatura por nombre para ver su elemento y poder CP, 4) Actualizar poder CP tras entrenamiento, 5) Eliminar/Liberar criatura a su hábitat salvaje en los 3 vectores a la vez, 6) Reportes elementales (criatura con mayor CP y cantidad de criaturas por elemento), y 7) Salir.

📦Vectores en Memoria:
vector<string> nombres | vector<string> elementos | vector<float> poderCP
📊⚙️ Funciones Clave:
void menu() -> Menú del domador de monstruosvoid guardarCriatura(vector<string>& nom, vector<string>& ele, vector<float>& cp) -> Captura y registrovoid listarBestiario(const vector<string>& nom, const vector<string>& ele, const vector<float>& cp) -> Despliegue de criaturasint buscarCriatura(const vector<string>& nom, const string& target) -> Búsqueda por especie/nombrevoid actualizarPoderCP(vector<float>& cp) -> Subida de poder de combate tras batallavoid eliminarCriatura(vector<string>& nom, vector<string>& ele, vector<float>& cp) -> Liberación atómica triplevoid reporteCriaturaMaxCP(const vector<string>& nom, const vector<string>& ele, const vector<float>& cp) -> Criatura legendaria MVP
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
10
3. Sistemas Multivector & Economía Gamer

10. Tienda Gacha & Pase de Batalla: Catálogo de Skins, Canjes y Auditoría

+200 XP

Diseñar el backend de la tienda de skins y pases de batalla con tres vectores paralelos: nombres de skins cosméticas (string), unidades en stock (int) y costo en gemas virtuales (float). A través de un Menú interactivo, debe permitir: 1) Guardar nueva skin de temporada, 2) Listar catálogo de cosméticos con stock y precios, 3) Buscar skin por nombre para consultar detalles de canje, 4) Actualizar precio o stock tras reabastecimiento o compra, 5) Eliminar skin retirada de la tienda, 6) Reportes económicos (recaudación potencial en gemas, skins agotadas y skin legendaria más costosa), y 7) Salir.

📦Vectores en Memoria:
vector<string> skins | vector<int> stockSkins | vector<float> costosGemas
📊⚙️ Funciones Clave:
void menu() -> Menú de la tienda de skins y pasesvoid guardarSkin(vector<string>& s, vector<int>& stock, vector<float>& cost) -> Alta de nuevo cosméticovoid listarTienda(const vector<string>& s, const vector<int>& stock, const vector<float>& cost) -> Catálogo de temporadaint buscarSkin(const vector<string>& s, const string& target) -> Búsqueda por nombre de skinvoid actualizarSkin(vector<int>& stock, vector<float>& cost) -> Ajuste de precio o stockvoid eliminarSkin(vector<string>& s, vector<int>& stock, vector<float>& cost) -> Retiro de catálogo triplevoid reporteRecaudacionGemas(const vector<string>& s, const vector<int>& stock, const vector<float>& cost) -> Auditoría de gemas
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
🧪
4. Misiones de Evaluación Especial (CRUD Inventarios)

11. Tienda de Pociones: Almacén Alquímico, Stock y Precios

⭐ +200 XP · 3 Vectores
📜
Ambientación & Lore Gamer:

"En los confines de Eldoria, regentas la legendaria botica "Elixir & Destilados". Brujos, cazadores de monstruos y paladines se agolpan antes de cada incursión a las mazmorras. El gremio de alquimistas exige un control riguroso de cada frasco en estantería: registrar su nombre, el stock disponible y su valor en monedas de oro. Un descuido en el stock dejará a los héroes sin salvación ante el dragón, y un error en el balance llevará a la botica a la quiebra."

Construir una aplicación de consola basada en un Menú interactivo continuo (do-while/while). El sistema administra tres vectores paralelos: nombres de las pociones (vector<string>), cantidades en stock (vector<int>) y precios en monedas de oro (vector<float>). Debe implementar obligatoriamente las 6 operaciones fundamentales de evaluación técnica: 1) Guardar nueva poción en los tres vectores, 2) Listar catálogo completo con índices y precios, 3) Buscar poción por nombre retornando su posición exacta o -1, 4) Actualizar stock o precio por índice validando límites, 5) Eliminar poción agotada o descontinuada simultáneamente en los 3 vectores, 6) Reportes estadísticos de botica (poción más cara, menor stock, valor total de bodega y alerta de stock crítico < 5 frascos), y 7) Salir.

📦Vectores en Memoria:
vector<string> nombres | vector<int> cantidades | vector<float> precios
📊Reportes Estadísticos Exigidos:
• 👑 Poción más costosa: Nombre y precio del elixir de mayor valor.
• ⚠️ Poción con menor stock: Identificación de la poción con menor cantidad de frascos para reabastecer.
• 💰 Valor monetario total del inventario: Suma acumulada de (cantidad * precio) de toda la bodega.
• 🚨 Alerta de stock crítico: Filtrar y listar todas las pociones con cantidad < 5 frascos.
⚙️Prototipos de Funciones Clave (Paso por Referencia):
void menu() -> Menú interactivo continuo con opciones 1 a 7void guardarPocion(vector<string>& nom, vector<int>& cant, vector<float>& pre) -> Registro simultáneovoid listarPociones(const vector<string>& nom, const vector<int>& cant, const vector<float>& pre) -> Formato [i]int buscarPocion(const vector<string>& nom, const string& buscada) -> Búsqueda lineal (retorna i o -1)void actualizarPocion(vector<int>& cant, vector<float>& pre) -> Validación de límites 0 <= idx < sizevoid eliminarPocion(vector<string>& nom, vector<int>& cant, vector<float>& pre) -> erase() sincronizadovoid reportesPociones(const vector<string>& nom, const vector<int>& cant, const vector<float>& pre) -> Auditoría
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
⚔️
4. Misiones de Evaluación Especial (CRUD Inventarios)

12. Arena de Gladiadores: Salud, Ataque y Triaje de Sangre

⭐ +200 XP · 3 Vectores
📜
Ambientación & Lore Gamer:

"Bajo el sol abrasador del Coliseo de Sangre, la multitud ruge esperando el torneo imperial. Como Lanista en jefe del Ludus de la Arena, tu vida y reputación dependen del estado físico de tus luchadores. Antes de cada combate a muerte contra fieras y campeones rivales, debes supervisar tres atributos vitales: el nombre del gladiador, sus puntos de salud actuales (HP) y su potencia de ataque físico (ATK). Un guerrero herido enviado a la arena morirá en vano; un campeón letal ganará la gloria del César."

Construir el sistema de mando del cuartel de gladiadores mediante un Menú interactivo. Opera con tres vectores paralelos: nombres de los guerreros (vector<string>), vida o salud actual (vector<int>) y poder de ataque físico (vector<int>). Debe permitir: 1) Reclutar nuevo gladiador en los 3 vectores, 2) Listar escuadrón completo con barra de estado, 3) Buscar combatiente por nombre para diagnóstico previo a la batalla, 4) Actualizar vida tras recibir heridas o curaciones, y actualizar ataque tras entrenamiento con armas, 5) Eliminar gladiador caído en combate o que ha comprado su libertad, 6) Reportes de Arena (campeón supremo con mayor ataque, luchador más vulnerable con menor vida, promedio de ataque del ludus y triaje crítico HP < 30), y 7) Salir.

📦Vectores en Memoria:
vector<string> nombres | vector<int> vidas | vector<int> ataques
📊Reportes Estadísticos Exigidos:
• 🏆 Campeón Supremo: Gladiador con el mayor poder de ataque (MVP del Coliseo).
• 🩹 Combatiente más vulnerable: Guerrero con menor vida (HP) actual.
• ⚔️ Poder de ataque promedio: Media aritmética del daño de todo el escuadrón.
• 🩸 Triaje de emergencia: Listar a todos los gladiadores heridos de gravedad con HP < 30.
⚙️Prototipos de Funciones Clave (Paso por Referencia):
void menu() -> Bucle de opciones del cuartel de combatevoid guardarGladiador(vector<string>& nom, vector<int>& vid, vector<int>& atk) -> Alta de luchadorvoid listarGladiadores(const vector<string>& nom, const vector<int>& vid, const vector<int>& atk) -> Despliegue de escuadrónint buscarGladiador(const vector<string>& nom, const string& target) -> Búsqueda por nombre de guerravoid actualizarGladiador(vector<int>& vid, vector<int>& atk) -> Modificación de salud y podervoid eliminarGladiador(vector<string>& nom, vector<int>& vid, vector<int>& atk) -> Baja en los 3 vectoresvoid reportesGladiadores(const vector<string>& nom, const vector<int>& vid, const vector<int>& atk) -> Triaje de combate
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
🏎️
4. Misiones de Evaluación Especial (CRUD Inventarios)

13. Gran Premio de Autos: Pilotos, Escuderías y Telemetría

⭐ +200 XP · 3 Vectores
📜
Ambientación & Lore Gamer:

"Es la noche del Gran Premio de Neón en el circuito urbano de Cyber-Metrópolis. La lluvia resbala sobre el asfalto reflectante mientras los motores V6 híbridos rugen en el pit lane. Como Ingeniero Jefe de Telemetría en el muro de boxes, los sensores instalados en las curvas y rectas de 340 km/h transmiten datos en tiempo real a tu consola. Tienes a tu cargo tres vectores sincronizados: el nombre del piloto, la escudería o modelo de auto y la velocidad punta registrada. Una calibración errónea en pits puede causar un choque contra el muro."

Desarrollar el software de telemetría para el control de la carrera con tres vectores paralelos: nombres de los pilotos (vector<string>), modelos/escuderías de autos (vector<string>) y velocidades máximas en km/h (vector<int>). A través de un Menú interactivo continuo, debe soportar: 1) Inscribir bólido en la parrilla con sus 3 datos, 2) Listar la parrilla de salida con posiciones, escuderías y velocidades, 3) Buscar piloto por nombre retornando su lugar en boxes y marca de velocidad, 4) Actualizar velocidad punta tras calibración aerodinámica en boxes, 5) Eliminar bólido por descalificación técnica o retiro mecánico, 6) Reportes de Telemetría (Pole Position con mayor velocidad, bólido con menor velocidad, promedio general de velocidad y bólidos de élite >= 340 km/h), y 7) Salir.

📦Vectores en Memoria:
vector<string> pilotos | vector<string> autos | vector<int> velocidades
📊Reportes Estadísticos Exigidos:
• 🚀 Pole Position: Piloto y auto con la mayor velocidad punta registrada.
• 🐢 Ritmo más lento: Registro del bólido con la menor velocidad máxima.
• 📈 Velocidad promedio: Media aritmética de velocidad de toda la parrilla.
• ⚡ Club de los 340+ km/h: Filtrar y listar competidores que superan los 340 km/h.
⚙️Prototipos de Funciones Clave (Paso por Referencia):
void menu() -> Menú de la consola de telemetría en boxesvoid guardarAuto(vector<string>& pil, vector<string>& aut, vector<int>& vel) -> Ingreso a parrillavoid listarAutos(const vector<string>& pil, const vector<string>& aut, const vector<int>& vel) -> Telemetría de parrillaint buscarPiloto(const vector<string>& pil, const string& buscado) -> Búsqueda por nombre de pilotovoid actualizarVelocidad(vector<int>& vel) -> Ajuste de velocidad puntavoid eliminarAuto(vector<string>& pil, vector<string>& aut, vector<int>& vel) -> Baja simultáneavoid reportesCarrera(const vector<string>& pil, const vector<string>& aut, const vector<int>& vel) -> Récords y promedios
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
🐉
4. Misiones de Evaluación Especial (CRUD Inventarios)

14. Bestiario Arcano: Criaturas Míticas, Tipos y Niveles

⭐ +200 XP · 3 Vectores
📜
Ambientación & Lore Gamer:

"En las tierras sombrías del continente, criaturas ancestrales despiertan de su letargo en bosques prohibidos y simas volcánicas. Los guardianes del Círculo del Lobo recorren las aldeas protegiendo a los campesinos de garras y alientos de fuego. Como Archivero Supremo de la Fortaleza Arcano, tu sagrada encomienda es compilar el Bestiario de Monstruos. Cada espécimen registrado se almacena en tres vectores paralelos: el nombre de la bestia, su tipo o afinidad mágica (Dragón, No-Muerto, Bestia, Elemental) y su nivel de amenaza de combate. Un novato que enfrente a un dragón nivel 70 pensando que es nivel 5 no vivirá para contarlo."

Crear el sistema de gestión del bestiario mediante un Menú de consola interactivo. Opera con tres vectores paralelos: nombres de las criaturas (vector<string>), tipo o elemento (vector<string>) y nivel de combate (vector<int>). Debe permitir: 1) Guardar nueva criatura descubierta en los tres vectores, 2) Listar bestiario completo con formato de códice, 3) Buscar criatura por nombre verificando si ya existe en el registro, 4) Actualizar nivel de peligro si la criatura muta o absorbe magia, 5) Eliminar criatura si la especie se extingue o fue purificada, 6) Reportes del Códice (jefe alfa legendario con nivel máximo, promedio general de amenaza y listado de amenazas de rango extremo nivel >= 50), y 7) Salir.

📦Vectores en Memoria:
vector<string> nombres | vector<string> tipos | vector<int> niveles
📊Reportes Estadísticos Exigidos:
• 👑 Jefe Alfa Legendario: Criatura con el nivel de amenaza más alto del bestiario.
• 📈 Nivel promedio de peligro: Media de poder de todas las criaturas registradas.
• ⚠️ Amenazas de Rango Extremo: Listado filtrado de bestias con nivel >= 50.
• 📊 Total de bestias catalogadas: Conteo total de especímenes asentados en el códice.
⚙️Prototipos de Funciones Clave (Paso por Referencia):
void menu() -> Menú del Códice Arcanovoid guardarCriatura(vector<string>& nom, vector<string>& tip, vector<int>& niv) -> Asentar avistamientovoid listarBestiario(const vector<string>& nom, const vector<string>& tip, const vector<int>& niv) -> Catálogo de bestiasint buscarCriatura(const vector<string>& nom, const string& target) -> Búsqueda por nombre de especievoid actualizarNivel(vector<int>& niv) -> Subida de nivel por mutación mágicavoid eliminarCriatura(vector<string>& nom, vector<string>& tip, vector<int>& niv) -> Borrado sincronizado triplevoid reportesBestiario(const vector<string>& nom, const vector<string>& tip, const vector<int>& niv) -> Auditoría de peligro
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
🚀
4. Misiones de Evaluación Especial (CRUD Inventarios)

15. Hangar Espacial: Naves, Combustible Warp y Velocidad

⭐ +200 XP · 3 Vectores
📜
Ambientación & Lore Gamer:

"En el Sector Gamma del cosmos profundo, la estación estelar Orión-Prime orbita alrededor de una anomalía gravitacional. Cazas estelares, cruceros de asalto y fragatas de reconocimiento entran y salen constantemente de las esclusas presurizadas. Como Oficial de Despacho y Bahías de Atraque, tienes a tu cargo tres parámetros críticos en memoria: el nombre o código de la nave, su nivel de combustible de plasma (%) y su velocidad de crucero warp (km/s). Si autorizas el despegue de una nave con combustible insuficiente, quedará a la deriva para siempre en el vacío interestelar."

Modelar el software de consola para la torre de control espacial con tres vectores paralelos: nombres o códigos de nave (vector<string>), porcentaje de combustible de plasma (vector<float>) y velocidad warp en km/s (vector<int>). Con un Menú interactivo continuo, debe soportar: 1) Acoplar nueva nave en una bahía del hangar, 2) Listar estado general de la flota estelar con sus métricas, 3) Buscar nave por código o nombre táctico, 4) Actualizar porcentaje de combustible tras reabastecimiento en la bahía o patrulla, 5) Eliminar nave despegada en misión o desguazada, 6) Reportes de la Armada Estelar (crucero más veloz, nave con menor combustible, promedio de plasma de la flota y alerta de naves en riesgo crítico < 25%), y 7) Salir.

📦Vectores en Memoria:
vector<string> nombres | vector<float> combustibles | vector<int> velocidades
📊Reportes Estadísticos Exigidos:
• ⚡ Crucero más rápido: Nave con la mayor velocidad warp registrada en km/s.
• ⛽ Alerta de combustible crítico: Nave con el menor porcentaje de combustible restante.
• 📊 Promedio de combustible: Porcentaje medio de plasma disponible en toda la flota.
• 🚨 Naves en riesgo de varar: Filtrar y listar todas las naves con combustible < 25%.
⚙️Prototipos de Funciones Clave (Paso por Referencia):
void menu() -> Menú de la torre de despacho espacialvoid guardarNave(vector<string>& nom, vector<float>& com, vector<int>& vel) -> Acoplamiento en bahíavoid listarFlota(const vector<string>& nom, const vector<float>& com, const vector<int>& vel) -> Estado de hangaresint buscarNave(const vector<string>& nom, const string& buscada) -> Búsqueda por código tácticovoid actualizarCombustible(vector<float>& com) -> Recarga de plasma en bahíavoid eliminarNave(vector<string>& nom, vector<float>& com, vector<int>& vel) -> Despegue definitivo triplevoid reportesFlota(const vector<string>& nom, const vector<float>& com, const vector<int>& vel) -> Métricas espaciales
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt
4. Misiones de Evaluación Especial (CRUD Inventarios)

16. Torneo de Fútbol: Tabla de Posiciones, Goles y Puntos

⭐ +200 XP · 3 Vectores
📜
Ambientación & Lore Gamer:

"El estadio ruge con 80,000 aficionados coreando los himnos de sus clubes. Se disputa la última fecha del Torneo Continental de Fútbol, donde cada pase y disparo a portería define al campeón y a los equipos clasificados a copas internacionales. Como Director del Centro de Cómputos y Estadísticas de la Liga, eres el responsable oficial del sistema de tabla general. Administras tres vectores paralelos sincronizados: el nombre del club, los goles a favor anotados (GF) y los puntos acumulados (PTS). La prensa, hinchas y dirigentes esperan tus reportes oficiales."

Implementar el sistema administrativo del torneo con tres vectores paralelos: nombres de los clubes (vector<string>), goles a favor acumulados (vector<int>) y puntos en la tabla (vector<int>). A través de un Menú interactivo continuo, debe permitir: 1) Inscribir equipo en la liga con sus estadísticas iniciales, 2) Listar tabla de posiciones general ordenada con formato de liga, 3) Buscar equipo por nombre para consultar su posición y saldo de goles, 4) Actualizar goles y puntos tras disputarse un partido (victoria: +3 pts, empate: +1 pto, derrota: +0 pts), 5) Eliminar equipo descalificado por sanciones disciplinarias, 6) Reportes del Campeonato (equipo puntero o campeón con mayor puntaje, bota de oro colectiva con más goles, total de goles del torneo y promedio de goles por club), y 7) Salir.

📦Vectores en Memoria:
vector<string> equipos | vector<int> goles | vector<int> puntos
📊Reportes Estadísticos Exigidos:
• 🏆 Puntero / Campeón: Equipo en la cima con la mayor cantidad de puntos.
• ⚽ Bota de Oro Colectiva: Club más goleador (mayor cantidad de goles a favor).
• 📈 Total de goles marcados: Suma de todos los goles anotados en el torneo.
• 📊 Promedio de goles: Media de goles a favor por cada club participante.
⚙️Prototipos de Funciones Clave (Paso por Referencia):
void menu() -> Menú administrativo de la liga de fútbolvoid guardarEquipo(vector<string>& eq, vector<int>& gol, vector<int>& pts) -> Inscripción oficialvoid listarTabla(const vector<string>& eq, const vector<int>& gol, const vector<int>& pts) -> Tabla de posicionesint buscarEquipo(const vector<string>& eq, const string& target) -> Búsqueda por nombre de clubvoid actualizarPuntosGoles(vector<int>& gol, vector<int>& pts) -> Registro de resultado de partidovoid eliminarEquipo(vector<string>& eq, vector<int>& gol, vector<int>& pts) -> Descalificación en 3 vectoresvoid reportesCampeonato(const vector<string>& eq, const vector<int>& gol, const vector<int>& pts) -> Auditoría de liga
📋Pasos de Implementación / Criterios de Evaluación:
Disponible en: C++, Python, Java, C#, JS, PHP, PSeInt