Dev - C++ - Problema de polimorfismo y herencia en C++

 
Vista:
sin imagen de perfil

Problema de polimorfismo y herencia en C++

Publicado por anonymous (3 intervenciones) el 22/06/2022 03:55:54
Se necesita un programa para optimizar el manejo de una flota de aviones. Cada Avión posee un código de fabricación (de 1 letra seguida de 3 dígitos), una velocidad máxima, y una cantidad de alas de acuerdo al tipo.

Se manejan tres tipos de avion:

avión comercial, con un par de alas y una capacidad máxima de 200 pasajeros. No puede girar durante el vuelo. Y una velocidad máxima de 300 Km/h
biplano, con dos pares de alas, y puede dar giros durante el vuelo. Además tiene una cabina, que puede ser abierta o cerrada. Un máximo de 2 pasajeros, y una velocidad máxima de 200 Km/h
avión militar, con un par de alas, y solo acepta un pasajero. Puede girar y volar verticalmente durante el vuelo. Un máximo de 1 pasajero, y una velocidad máxima de 1000 Km/h

Se necesita generar una flota de 3 aviones comerciales, 2 aviones militares y 2 biplanos. Estos deben ser manejados en un mismo vector.

Calcular el tiempo de mantenimiento de los aviones, considerando que éste se demora en días:

para aviones comerciales: 0.1 x (1+ alas) x cantidad máxima de pasajeros
para aviones militares: 0.1 x (1+ alas) x cantidad de giros y vuelos verticales realizados (aleatorio entre 100 y 200)
para biplanos, 0.1 x (1+ alas) x cantidad de giros (aleatorio entre 50 y 100) + (20 días si es cabina abierta o 10 días si tiene cabina cerrada)

Imprimir la lista de aviones con sus características incluyendo su tiempo de mantenimiento.

En este problema, los datos a imprimir deberán estar establecidos en el código, obviamente inicializados desde el main.

Justamente, he ido avanzando un codigo con respecto al ejercicio, pero sin conseguir el output esperado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
 
class Avion{
public:
   Avion(string code, int vmax, int c_alas):code(code), vmax(vmax), c_alas(c_alas){}
 
   string getCode(){return code;}
   int getVMax(){return vmax;}
   int getCAlas(){return c_alas;}
protected:
    string code;
    int vmax, c_alas;
};
 
class Biplano : public Avion{
private:
    int i=0, giros;
    string cabina;
public:
    Biplano(string code, int vmax, int c_alas): Avion(code, vmax, c_alas){}
};
 
class AvionMilitar : public Avion{
private:
    int i=0, gV;
public:
    AvionMilitar(string code, int vmax, int c_alas): Avion(code, vmax, c_alas){}
};
 
class AvionComercial : public Avion{
    int cmax;
public:
    AvionComercial(string code, int vmax, int c_alas): Avion(code, vmax, c_alas){}
};
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder