用c++写一个银行信贷系统,要求包含申请贷款、还贷、查询贷款记录、查询还贷记录功能
时间: 2023-12-24 08:06:07 浏览: 35
好的,下面是一个简单的银行信贷系统的C++代码:
```c++
#include <iostream>
#include <string>
#include <vector>
#include <ctime>
using namespace std;
class Loan {
private:
string name;
int amount;
float rate;
int term;
time_t start_date;
time_t end_date;
bool approved;
bool repaid;
public:
Loan(string n, int a, float r, int t) {
name = n;
amount = a;
rate = r;
term = t;
approved = false;
repaid = false;
}
string get_name() {
return name;
}
int get_amount() {
return amount;
}
float get_rate() {
return rate;
}
int get_term() {
return term;
}
time_t get_start_date() {
return start_date;
}
time_t get_end_date() {
return end_date;
}
bool is_approved() {
return approved;
}
bool is_repaid() {
return repaid;
}
void approve_loan() {
approved = true;
start_date = time(NULL);
end_date = start_date + term * 86400;
}
void repay_loan() {
repaid = true;
}
};
class Customer {
private:
string name;
string id_number;
vector<Loan*> loans;
public:
Customer(string n, string id) {
name = n;
id_number = id;
}
string get_name() {
return name;
}
string get_id_number() {
return id_number;
}
void apply_loan(int amount, float rate, int term) {
Loan* loan = new Loan(name, amount, rate, term);
loans.push_back(loan);
cout << "Loan application submitted." << endl;
}
void repay_loan(int index) {
if (loans[index]->is_approved() && !loans[index]->is_repaid()) {
loans[index]->repay_loan();
cout << "Loan repaid." << endl;
}
else {
cout << "Loan not approved or already repaid." << endl;
}
}
void display_loan_history() {
for (int i = 0; i < loans.size(); i++) {
cout << "Loan " << i << endl;
cout << "Name: " << loans[i]->get_name() << endl;
cout << "Amount: " << loans[i]->get_amount() << endl;
cout << "Rate: " << loans[i]->get_rate() << endl;
cout << "Term: " << loans[i]->get_term() << " days" << endl;
if (loans[i]->is_approved()) {
cout << "Loan approved." << endl;
cout << "Start date: " << ctime(&loans[i]->get_start_date());
cout << "End date: " << ctime(&loans[i]->get_end_date());
}
else {
cout << "Loan not approved." << endl;
}
if (loans[i]->is_repaid()) {
cout << "Loan repaid." << endl;
}
else {
cout << "Loan not repaid." << endl;
}
cout << endl;
}
}
};
int main() {
Customer c("John", "1234567890");
c.apply_loan(5000, 0.05, 30);
c.apply_loan(10000, 0.06, 60);
c.display_loan_history();
c.repay_loan(0);
c.repay_loan(1);
c.display_loan_history();
return 0;
}
```
在这个程序中,我们定义了两个类:Loan(贷款)和Customer(客户)。Loan类表示一个贷款,包括贷款人姓名(name)、贷款金额(amount)、利率(rate)、期限(term)、开始日期(start_date)、结束日期(end_date)、是否批准(approved)和是否还清(repaid)等属性。Customer类表示一个客户,包括客户姓名(name)、身份证号(id_number)和贷款记录(loans)等属性,同时还有申请贷款、还贷款、查询贷款记录、查询还贷记录等方法。
在主函数中,我们创建了一个名为c的Customer对象,并测试了它的申请贷款、查询贷款记录、还贷款和查询还贷记录等功能。