goku_san
Power Member
podem me dar uma ajuda nisto ?
Complete/altere o programa seguinte de modo a tratar as possíveis excepções.
Se uma excepção do tipo "impossibilidadeDesportiva" ocorre, deve ser escrito o nome do clube que originou essa ocorrência. Deve implementar também a classe "impossibilidadeDesportiva".
Complete/altere o programa seguinte de modo a tratar as possíveis excepções.
Se uma excepção do tipo "impossibilidadeDesportiva" ocorre, deve ser escrito o nome do clube que originou essa ocorrência. Deve implementar também a classe "impossibilidadeDesportiva".
Código:
#include <iostream>
#include <exception>
#include <string>
using namespace std;
class Clube {
string nome;
bool campeao;
public:
Clube() { campeao=false;nome="";}
void setNome(string s){ nome=s;}
void setCampeao(bool b)
{
string e="porto";
if(b==true && nome.compare("FCPorto"))
throw impossibilidadeDesportiva(nome);
campeao=b;
}
string getNome() const {return nome;}
};
class impossibilidadeDesportiva{
public:
string clube;
impossibilidadeDesportiva(string club){clube = club;}
};
int main() {
Clube c1, c2, c3;
c1.setNome("FCPorto");
cout << "Nome do Clube: " << c1.getNome() << endl;
c2.setNome("Guimaraes");
cout << "Nome do Clube: " << c2.getNome() << endl;
c3.setNome("Sporting");
cout << "Nome do Clube: " << c3.getNome() << endl;
try {c1.setCampeao(true);
}
catch (impossibilidadeDesportiva e) {
cout << e.clube << endl;
}
try {c2.setCampeao(true);
}
catch (impossibilidadeDesportiva e) {
cout << e.clube << endl;
}
try {c3.setCampeao(true);
}
catch (impossibilidadeDesportiva e) {
cout << e.clube << endl;
}
}