C代码:设计题
typedef struct {
long long* arr;
int arrSize;
} Bank;
Bank* bankCreate(long long* balance, int balanceSize) {
Bank* bank = (Bank*)malloc(sizeof(Bank));
bank->arrSize = balanceSize;
bank->arr = (long long*)malloc(sizeof(long long) * (balanceSize + 1));
for (int i = 1; i <= balanceSize; ++i) {
(bank->arr)[i] = balance[i - 1];
}
return bank;
}
bool bankTransfer(Bank* obj, int account1, int account2, long long money) {
if (account1 > obj->arrSize || account2 > obj->arrSize) {
return false;
}
if ((obj->arr)[account1] < money) {
return false;
}
(obj->arr)[account1] -= money;
(obj->arr)[account2] += money;
return true;
}
bool bankDeposit(Bank* obj, int account, long long money) {
if (account > obj->arrSize) {
return false;
}
(obj->arr)[account] += money;
return true;
}
bool bankWithdraw(Bank* obj, int account, long long money) {
if (account > obj->arrSize) {
return false;
}
if ((obj->arr)[account] < money) {
return false;
}
(obj->arr)[account] -= money;
return true;
}
void bankFree(Bank* obj) {
free(obj);
}