《C++大学教程》3.12Account类

题目:

(Account类)创建一个名为Account 的类,银行可以使用它表示客户的银行账户。这个类应该包括一个类型为int 的数据成员,表示账户余额。【注意:在后续章节中,将使用称为浮点值的包含小数点的数(例如2.75)表示美元数。】

  • 这个类必须提供一个构造函数,它接收初始余额并用它初始化数据成员。这个构造函数应当确认初始余额的有效性,保证它大于或等于0。否则,余额应当设置为0并且构造函数必须显示一条错误信息,指出初始余额是无效的。
  • 该类还要提供三个成员函数。
  1.      成员函数 credit将一笔金额加到当前余额中。
  2.      debit 将从这个 Account 中取钱,并保证取出金额不超过此Account的余额。如果不是这样,余额不变函数打印一条信息,指出“Debit amount”。
  3.      成员函数getBalance将返回当前余额。编写一个测试程序,它创建两exceeded account balance.个Account对象,并测试Account类的成员函数

代码:

//Account.h

#include 
#include 
// 不能使用using声明

class Account
{

public:
    Account()
    { // 构造函数保证数据的有效性
        setBalance();
    };

    void setBalance()
    {
        int num;
        std::cout << "请输入初始余额:";
        std::cin >> num;
        if (num < 0)
        {
            num = 0;
            std::cout << "初始余额是无效的。";
        }
        accountBalance = num;
    }
    int getBalance() const // 查询余额
    {
        return accountBalance;
    }

    void credit()
    { // 存钱
        int num;
        std::cout << "请输入存入的金额:";
        std::cin >> num;
        accountBalance += num;
    }

    void debit()
    { // 取钱
        int num;
        std::cout << "请输入取出的金额:";
        std::cin >> num;
        if (num > getBalance())
        {
            std::cout << "Debit amount exceeded account balance(取款数目超过了账户余额).\n";
        }
        else
        {
            accountBalance -= num;
        }
    }

private:
    int accountBalance;
};
//3.12account.cpp

#include 
#include "Account.h"
#include 
using namespace std;

int main()
{
    cout << "请输入对account1的操作:" << endl;
    Account account1;
    cout << "The account1 initial balance is " << account1.getBalance() << endl;
    account1.credit();
    account1.debit();
    cout << "The account1 now balance is " << account1.getBalance() << endl;
    cout << endl;

    cout << "请输入对account2的操作:" << endl;
    Account account2;
    cout << "The account2 initial balance is " << account2.getBalance() << endl;
    account2.credit();
    account2.debit();
    cout << "The account2 now balance is " << account2.getBalance() << endl;

    return 0;
}

运行截图:

《C++大学教程》3.12Account类_第1张图片

你可能感兴趣的:(C++大学教程,c++,开发语言)