In ogni caso, i due metodi privati che ti raccomandavo erano questi
int ContoCorrente::ToCent(int e, int c)
{
return (e*100+c);
}
void ContoCorrente::FromCent(int cents, int &e, int &c)
{
e=cents/100;
c=cents%100;
}
e i tre metodi che lo usano possono diventare molto semplici
void ContoCorrente::DepositaEuro(int u, int c)
{
FromCent(ToCent(u, c)+ToCent(unita, centesimi), unita, centesimi);
}
void ContoCorrente::PrelevaEuro(int u, int c)
{
int act = ToCent(unita, centesimi);
int pre = ToCent(u, c);
if (pre > act)
cerr << "importo non disponibile";
else
FromCent(act-pre, unita, centesimi);
}
int ContoCorrente::SaldoInLire()
{
return (int)(ToCent(unita, centesimi)*19.3627);
}