Pregunta 4 · Metodologia de la Programació UAB 2018
Tema: Classes contenidor amb arrays estàtics i composició · Del examen Examen Primer Parcial Curs 2018-2019 (2018)
Enunciado
Context
Aquest examen avalua els conceptes de disseny orientat a objectes en C++ mitjançant la creació i gestió d'una lliga de fins a 20 superherois. Es parteix de la declaració bàsica de la classe SuperHeroi:
class SuperHeroi
{
public:
SuperHeroi();
void setNom(string nom) { m_nom = nom; }
void setVelocitat(int velocitat) { m_velocitat = velocitat; }
void setPoder(const string& poder) { m_poder = poder; }
void setVida(int vida) { m_vides = vida; }
void setForca(int forca) { m_forca = forca; }
string getNom() const { return m_nom; }
int getVelocitat() const { return m_velocitat; }
int getVides() const { return m_vides; }
string getPoder() const { return m_poder; }
int getForca() const { return m_forca; }
private:
string m_nom;
int m_velocitat;
string m_poder;
int m_vides;
int m_forca;
};
Pregunta 4 (1 punt). Programa principal de prova
Escriviu la funció main en C++ que executi la seqüència d'instruccions següent:
Inicialitzar un array de superherois amb un únic heroi.
Instanciar la lliga de superherois inicialitzant-la mitjançant aquest array.
Carregar la llista de superherois a partir de l'arxiu "superherois.txt".
Afegir a la lliga un nou superheroi amb les dades següents: nom "Aquaman", velocitat 100, poder "lluitar_a_terra_i_mar", vides 100 i força 200.
Eliminar de la lliga el superheroi de nom "Batman".
Enfrontar Batman i Flash segons el criteri de velocitat.
Guardar la informació de la lliga resultant al fitxer "superherois.txt".

Solución
Según los criterios oficiales de corrección
Escriviu la funció main en C++ que executi la seqüència d'instruccions de prova.
Solución: ```cpp #include <iostream> #include "LligaSuperHerois.h" using namespace std; int main() { // 1. Array amb un sol superheroi SuperHeroi heroiInicial; heroiInicial.setNom("Superman"); heroiInicial.setVelocitat(150); heroiInicial.setPoder("volar"); heroiInicial.setVida(100); heroiInicial.setForca(250); SuperHeroi llistaInicial[1] = { heroiInicial }; // 2. Crear la lliga a partir de l'array LligaSuperHerois lliga(llistaInicial, 1); // 3. Carregar des de fitxer lliga.carregarDeFitxer("superherois.txt"); // 4. Afegir Aquaman SuperHeroi aquaman; aquaman.setNom("Aquaman"); aquaman.setVelocitat(100); aquaman.setPoder("lluitar_a_terra_i_mar"); aquaman.setVida(100); aquaman.setForca(200); lliga.afegirSuperHeroi(aquaman); // 5. Esborrar Batman lliga.esborrarSuperHeroi("Batman"); // 6. Enfrontar Batman i Flash segons velocitat string guanyador = lliga.enfrontar("Batman", "Flash", "velocitat"); cout << "El guanyador de l'enfrontament és: " << guanyador << endl; // 7. Desar a fitxer lliga.desarAFitxer("superherois.txt"); return 0; } ```
La explicación paso a paso, hecha con IA, es Premium. Premium
Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.
‹ Pregunta 3 - Classes contenidor amb arrays estàti… · 2018 · Exercici 2 · 2017 ›