1 #include <iostream>
2 using namespace std;
3 /*
4 创建一个Account类,银行可以使用它表示客户的银行账户。这个类应该包含一个类型为float的数据成员,表示账户余额
5 这个类必须提供一个构造函数,它接受初始余额,并且用它初始化数据成员。这个构造函数应当确认初始余额的有效性,保证
6 它大于或等于0.否则余额应当设置为0.并且构造函数必须显示一条错误信息,指出初始余额是无效的。该类还要提供三个成员
7 函数。成员函数credit将一笔金额加到当前余额中。debit将从这个Account中取钱,并且保证金额不会超过Account的余额。
8 如果不是这样,将打印一条消息:余额不足。成员函数getbalance将返回当前余额。编写一个测试程序,它创建2个Account对象
9 ,并测试Account类的函数。
10 */
11 class Account
12 {
13 public:
14 /*explicit*/ Account(float init)
15 {
16 if(init >= 0)
17 balance = init;
18 else
19 {
20 balance = 0;
21 cout <<"error ,账户初始金额不能为负,现已自动将初始金额调整为0\n";
22 }
23 }
24 void credit(float saveMoney)
25 {
26 balance += saveMoney;
27 }
28 void debit(float withMoney)
29 {
30 if(withMoney > balance)
31 cout<<"余额不足\n";
32 else
33 balance -= withMoney;
34 }
35 float getbalance()
36 {
37 return balance;
38 }
39 private:
40 float balance;
41 };
42 void menu()
43 {
44 Account a(-1),b(2);
45 cout<<"a的余额 = "<<a.getbalance()<<endl;
46 cout<<"b的余额 = "<<b.getbalance()<<endl;
47 int i;
48 float j;
49 char ch;
50 //为了简化程序就不做输入错误判断了
51 cout<<"请选择您的操作:1.存钱,2取钱\n";
52 cin>>i;
53 if(1 == i)
54 {
55 cout<<"请输入存款人姓名:";
56 cin>>ch;
57 cout<<"请输入存入金额:";
58 cin>>j;
59 if('a' == ch)
60 a.credit(j);
61 if('b' == ch)
62 b.credit(j);
63 }
64 if(2 == i)
65 {
66 cout<<"请输入取款人姓名:";
67 cin>>ch;
68 cout<<"请输入取出金额:";
69 cin>>j;
70 if('a' == ch)
71 a.debit(j);
72 if('b' == ch)
73 b.debit(j);
74 }
75 cout<<"a的余额 = "<<a.getbalance()<<endl;
76 cout<<"b的余额 = "<<b.getbalance()<<endl;
77 }
78 int main(void)
79 {
80 menu();
81 return 0;
82 }