ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.12.2025
Просмотров: 3179
Скачиваний: 1
// Deposit - позволен любой положительный вклад public voi d Deposit(doubl e dAmount)
{
if (dAmount > 0.0)
{
//Округление к ближайшей копейке перед внесением
//вклада
decimal mTemp = (decimal)dAmount; mTemp = Decimal . Round(mTemp , 2 ) ;
mBalance += m T e m p ;
}
// Withdraw - вы можете снять со счета любую сумму, не
//превышающую баланс ; функция возвращает реально снятую
//сумму
public decimal Withdraw(decima l dWithdrawal)
{
if (mBalance <= dWithdrawal)
{
dWithdrawal = m B a l a n c e ;
}
mBalance -= dWithdrawal ; return dWithdrawal ;
// GetString |
- возвращает информацию о состоянии счета в |
|
// виде |
строки |
|
public string GetString() |
||
string |
s = |
String . Format("#{0} = { l : C } " , |
|
|
G e t A c c o u n t N u m b e r ( ) , |
|
|
GetBalance() ) ; |
return |
s; |
|
Внутреннее представление поменялось на использование значений типа decimal, который в любом случае более подходит для работы с банковским счетом, чем тип dou ble. Метод Deposit () теперь применяет функцию Decimal . Round () для округле ния вкладываемой суммы до ближайшей копейки. Вывод программы оказывается таким, как и ожидалось:
Создание |
объекта |
банковского счета |
||
Вклад $123.45 |
|
|
|
|
Счет = |
#1001 |
= |
|
$123 .45 |
Вклад $0.00 |
|
|
|
|
В результате счет |
= |
#1001 = $123 .45 |
||
Нажмите <Enter> |
для |
завершения программы . . . |
||