Estou tentando fazer um dimensionador de cabos, mas o programa estar salvando os equipamentos no mesmo lugar (vetor). Parece que o vetor não estar contando.
agradeço desde ja qualquer ajuda.
#include <iostream>
#include <stdlib.h>
using namespace std;
class Equipamento{
public:
int potencia;
int tensão;
string nome;
float cabo;
int disjuntor;
Equipamento(){
}
Equipamento(int potencia,int tensão,string nome){
this->potencia=potencia;
this->tensão=tensão;
this->nome=nome;
}
virtual void exibir(){
cout <<"---Equipamentos---"<<endl;
cout <<"Nome: "<<nome<<endl;
cout <<"tensão: "<<tensão<<"V"<<endl;
cout <<"Potencia: "<<potencia<<"W"<<endl;
}
};
class Geral: public Equipamento{
public: int I=0;
Geral(int potencia,int tensão,string nome):Equipamento(potencia,tensão,nome){
}
void exibir(){
I=potencia/tensão;
if(I<=10){
cabo=2.5;
disjuntor=20;
}
cout <<"---Equipamentos---"<<endl;
cout <<"Nome: "<<nome<<endl;
cout <<"tensão: "<<tensão<<"V"<<endl;
cout <<"Potencia: "<<potencia<<"W"<<endl;
cout <<"Cabo: "<<cabo<<"mm quadrado"<<endl;
cout <<"Disjuntor: "<<disjuntor<<"A"<<endl;
}
};
class Especifico: public Equipamento{
public:
int comprimento;
int I=0;
Especifico(int potencia,int tensão,string nome,int comprimento):Equipamento(potencia,tensão,nome){
this->comprimento=comprimento;
}
void exibir(){
I=potencia/tensão;
if(I>10){
cabo=4;
disjuntor=32;
}
cout <<"---Equipamentos---"<<endl;
cout <<"Nome: "<<nome<<endl;
cout <<"tensão: "<<tensão<<"V"<<endl;
cout <<"Potencia: "<<potencia<<"W"<<endl;
cout <<"Comprimento: "<<comprimento<<endl;
cout <<"Cabo: "<<cabo<<"mm quadrado"<<endl;
cout <<"Disjuntor: "<<disjuntor<<"A"<<endl;
}
};
class Lista{
private: Equipamento *Equipamentos[1000];
private: int i=0;
public:
void adicionar(Equipamento *p){
if(i<1000)
{
Equipamentos=p;
i++;
}
else
{
cout<<"Lista cheia"<<endl;
}
}
void exibir(){
int j=0;
if(i==0){
cout<<"Nao ha equipamentos na lista"<<endl;
}
else
{
cout<<"Exibindo lista de equipamentos"<<endl;
for(j=0;j<i;j++){
Equipamentos[j]->exibir();
}
}
}
};
int main()
{
Lista l;
int opcao=0;
int i;
string nome;
int potencia;
int tensão;
int comprimento;
while(opcao!=3){
cout<<"1-lista de equipamentos"<<endl;
cout<<"2-adicionar equipamento"<<endl;
cout<<"3-fechar tudo"<<endl;
cout<<"opcao escolhida: ";
cin>>opcao;
if(opcao==1){
system("cls");
cout<<"Equipamentos: "<<endl;
l.exibir();
system("pause");
system("cls");
}
if(opcao==2){
system("cls");
cout<<"digite o nome do equipamento"<<endl;
cin>>nome;
cout<<"digite a potencia do equipamento"<<endl;
cin>>potencia;
cout<<"digite a tensão do equipamento"<<endl;
cin>>tensão;
if(potencia/tensão<=10){
cout <<"Uso Geral"<<endl;
Geral g(potencia,tensão,nome);
l.adicionar(&g);
//l.clear();
}
if(potencia/tensão>10){
cout <<"Uso Especifico"<<endl;
cout<<"digite o comprimento do circuito: ";
cin>>comprimento;
Especifico e(potencia,tensão,nome,comprimento);
l.adicionar(&e);
}
system("cls");
}
}
}