Member 13444731 Ответов: 1

Как рассчитать общий баланс и общий процент + дисплей


Эй, ребята, я строил эту программу банковского счета для 4 банковских счетов, и я изо всех сил пытался рассчитать общий баланс и общий процент и отобразить оба.

Может ли кто-нибудь помочь мне, я перепробовал много вещей, но я всего лишь 2 недели в C++, и я хотел бы получить некоторую профессиональную помощь.

Проблема в том что я не знаю как вычислить итоговые значения немного кода было бы здорово выход должен добавить весь конечный бал и все конечные проценты и дать общий бал и общий интерес

Что я уже пробовал:

#include <iostream>
#include <iomanip>
#include <stdlib.h>
using namespace std;

class bank_account
{
public:
    bank_account();
    bank_account(int account_no, float opening_balance);
    void deposit(float amount);
    void withdraw(float amount);
    float interest(float interest_rate);
    void balance();
    void display_balance();
    void display_interest_earned();
    void display_bank_heading();
    void display_bank_body();
    void display_bank_bottom();
    void display_total_balance();
    void display_total_interest();
private:
    int dm_account_no;
    float dm_balance;
    float dm_interest_rate;
    float dm_interest_earned;
    float dm_total_balance;
    float dm_total_interest;
};
class validation
{
public:
    bool test_userid(int user_id);
    bool test_userpin(int user_pin);

private:
    int dm_userid;
    int dm_userpin;
};

bank_account::bank_account()
{
    dm_account_no = 0;
    dm_balance =0.0;
}


bank_account::bank_account(int account_no, float opening_balance)
{
    dm_account_no = account_no;

    dm_balance = opening_balance*1.1;
}

void bank_account::deposit(float amount)
{
     dm_balance += amount;
}

void bank_account::withdraw(float amount)
{
    dm_balance -= amount;

}
void bank_account::display_total_balance()
{
    balance = ;
}


float bank_account::interest(float interest_rate)
{ dm_interest_rate = interest_rate;
    dm_interest_earned = dm_balance * dm_interest_rate;
    return dm_interest_earned;
}
void bank_account::display_interest_earned()

{   cout<<fixed<<setprecision(2)<<dm_interest_earned<<endl;}

void bank_account::display_balance()

{   cout<<fixed<<setprecision(2)<<dm_balance<<endl;}


void bank_account::display_bank_heading()
{
    cout<<" Bank Account System"<<endl;
    cout<<" ______________________________________"<<endl;
    cout<<"|                                      |"<<endl;
    cout<<"|"<<left << setw(13) <<"" << "Bank Report 1"  << right << setw(13) <<"|"<<endl;
    cout<<"|" <<left << setw(15) <<"" << "Closing"  << left << setw(8) <<""<<"Interest"<<"|" <<endl;
    cout<<"|" << left << setw(15) << "Account No" << "Balance" <<left<<setw(8) <<""<<"Earned"<<left<<setw(2)<<""<<"|" << endl;}

void bank_account::display_bank_body()
{   cout <<"|" << left << setw(15) << dm_account_no<< setw(15) << fixed << setprecision(2)
    << dm_balance <<setw(8)<<dm_interest_earned<<""<<"|"<<endl;}

void bank_account::display_bank_bottom()
{
    cout<<"|                                      |"<<endl;
    cout<<"|"<<"Total" <<right<<setw(10)<<balance<<"|"<<endl;
    cout<<"|______________________________________|"<<endl;
}

///float bank_account::balance()
///{dm_total_balance = 1905 ;
///dm_total_interest = 61.05;}

int reply;
int account_no[4]={80045001,80045002,80045003,80045004};
float opening_balance[4]={100,200,300,400};
int deposit[5]={100,200,300,400,10};
int withdraw[2]={50,155};
float interest_rate[4]={0.01,0.02,0.03,0.04};


bank_account account1,account2,account3,account4;
int main()
{

    class bank_account account1(account_no[0],opening_balance[0]);
    account1.display_bank_heading();
    account1.deposit(deposit[0]);
    account1.withdraw(withdraw[0]);
    account1.interest(interest_rate[0]);
    account1.display_bank_body();


    class bank_account account2(account_no[1],opening_balance[1]);
    account2.deposit(deposit[1]);
    account2.withdraw(withdraw[0]);
    account2.interest(interest_rate[1]);
    account2.display_bank_body();

    class bank_account account3(account_no[2],opening_balance[2]);
    account3.deposit(deposit[2]);
    account3.withdraw(withdraw[0]);
    account3.interest(interest_rate[2]);
    account3.display_bank_body();

    class bank_account account4(account_no[3],opening_balance[3]);
    account4.deposit(deposit[3]);
    account4.withdraw(withdraw[0]);
    account4.interest(interest_rate[0]);
    account4.display_bank_body();
    account4.display_bank_bottom();

    cout<< "Do you want to continue Yes or not"<<endl;
    cout<< "Enter Y to continue or N to exit"<<endl;
    cin>>reply;


    if (reply == 'N'){
        cout<<"Goodbye!"<<endl;
        exit(EXIT_FAILURE);}


    account1.display_bank_heading();
    account1.deposit(deposit[4]);
    account1.withdraw(withdraw[1]);
    account1.interest(interest_rate[0]);
    account1.display_bank_body();

    account2.deposit(deposit[1]);
    account2.withdraw(withdraw[0]);
    account2.interest(interest_rate[1]);
    account2.display_bank_body();

    account3.deposit(deposit[2]);
    account3.withdraw(withdraw[0]);
    account3.interest(interest_rate[2]);
    account3.display_bank_body();

    account4.deposit(deposit[3]);
    account4.withdraw(withdraw[1]);
    account4.interest(interest_rate[0]);
    account4.display_bank_body();
    account4.display_bank_bottom();



    cout<< "Enter 1 to continue or 2 to exit"<<endl;
    cin>>reply;
    if (reply == 2){
        cout<<"Goodbye!"<<endl;
        exit(EXIT_FAILURE);
    }
    cout<<"Continue processing"<<endl;
    return 0;
}

OriginalGriff

Так что же он делает такого, чего вы не ожидали, или не делает того, что вы сделали?
Что вы устали, чтобы исправить это?
Какая помощь вам нужна?
Все, что вы сделали, это сбросили на нас какой - то недокументированный код и дали нам приблизительное представление о том, что вам нужно, - это не поможет нам определить, в чем именно вам нужна помощь.

Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

saide_a

Я думаю, что вы не можете сделать это в классе bank_account, вам нужен другой класс или другая функция, которая получает bank_account в качестве входного объекта и добавляет или выводит его значение.

1 Ответов

Рейтинг:
2

KarstenK

Вы должны реализовать некоторые функции в классе банковского счета, которые возвращают необходимые значения.

class bank_account
{
public:
  float getBalance();
float getInterest();

Таким образом, вы получаете доступ к этим значениям в своей основной процедуре и можете вычислить их общую сумму.

Некоторые дополнительные советы: Используйте массив учетных записей, чтобы облегчить написание кода.
bank_account account[4]; //create 4 accounts
int sum = 0;
for(int i = 0: i < 4; i++ ) {
  account[i].deposit(1000);//access a function and deposit 1000 to all accounts
  sum = sum + account[i] + getBalance();
}

И вы закончили ,-)