#include <iostream>
#include <math.h>
using namespace std;
class Exception{
private:
float Kp, R, blad; // Kp-kapital, R-procent
int x, n; //x-okres
public:
Exception(float,float, int, int) throw(char); //wpisujemy wyjatek i mowimy jakiego typu jest ten wyjatek np: int
float FV(); //przyszla wartosc kapitalu
void setKp(float) throw(char) ;
// void setR(float);
//void setX(int);
//void setN(int);
float Except(float) throw (int);
void GetMessage(float);
};
Exception::Exception(float a, float b, int c, int d) throw (char) //podnosimy wyjatek
{
if(a<=0) throw 'B'; //podnosze wyjatek o wartosci 1
if(b<=0) throw 'C';//podnosze wyjatek o wartosci 2
if(c!=1&&c!=3&&c!=6&&c!=9&&c!=12&&c!=24&&c!=36) throw 'E'; //podnosze wyjatek o wartosci 3
if(d<=0) throw 'D'; //podnosze wyjatek o wartosci 4
Kp=a; R=b; x=c; n=d;
}
void Exception::setKp(float a) throw (char)
{
if(a<=0) throw 'A';
Kp=a;
}
float Exception::FV()
{
return Kp* pow(1+R*x/1200,n);
}
float Exception::Except(float g)throw(int)
{
if(g<0)throw 23;
}
void Exception::GetMessage(float g)
{
if(g<0)
{
cout<< "Funkcja na sprawdzenie bledu";
}
}
int main()
{
try{ //od sprobuj
Exception a1(100,5,12,1); a1.setKp(100); a1.Except(-1);
cout<< "kapital koncowy= " << a1.FV() << "\n";
}
//catch(int e) {cout<<"wyjatek nr " << e<< "\n";} //blok instrukcji obslugujacej wyjatek
catch(char e1){cout << "wyjatek znakowy= " << e1 << "\n";}
catch (int Except23) {cout << GetMessage() << "\n";}
catch(...){cout << "pozostale wyjatki\n";}
system("pause"); return 0;
}
Ogólnie próbuje do obsługi wyjątków wprowadzić funkcje "GetMessage()", która będzie mi wyświetlała napis o błędzie gdy ten błąd się pojawi.
Prosiłbym o jakieś wskazówki jak mogę to zrobić, gdyż póki co wywala mi błędy i brakuje mi już pomysłów.
Z góry dziękuje.