2043. 简易银行系统

2043. 简易银行系统

在这里插入图片描述


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);
}

猜你喜欢

转载自blog.csdn.net/LIZHUOLONG1/article/details/131111560