The illustration shows a code segment with the lines numbered from 46 through 128 and the annotations are as follows:

"{
//Body intentionally empty.
}
double BankAccount::fraction(double percentValue)
{
return (percentValue/100.0);
}
//Uses cmath:
void BankAccount::update( )
{
double balance = getBalance( );
balance = balance + interestRate * balance;
dollarsPart = staticCast<int>(floor(balance));
centsPart = staticCast<int>(floor((balance - dollarsPart)*100));
}
double BankAccount::getBalance( )
{
return (dollarsPart + 0.01 * centsPart);
}
double BankAccount::percent(double fractionValue)
{
return (fractionValue * 100);
}
double BankAccount::getRate( )
{
return percent(interestRate);
}
//Uses iostream:
void BankAccount::output(ostream& outs)
{
outs.setf(ios::fixed);
outs.setf(ios::showpoint);
outs.precision(2);"
"outs << "Account balance $" << getBalance( ) << endl;
outs << "Interest rate "<< getRate( ) << "%" << endl;” with “getBalance( )” and “getRate( )” annotated as "The new definitions of getBalance and getRate ensure that the output will still be in the correct units."
}
void BankAccount::set(int dollars, int cents, double rate)
{
if ((dollars < 0) || (cents < 0) || (rate < 0))
{
cout << "Illegal values for money or interest rate.\n";
return;
}"