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".

Enunciado: Pregunta 4 · Metodologia de la Programació UAB 2018

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 ›

Más ejercicios de Classes contenidor amb arrays estàtics i composició