-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path11b- Account
134 lines (97 loc) · 1.83 KB
/
11b- Account
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#include <iostream>
using namespace std;
class MinimumBalanceException
{
public:
char str[200];
int amt1;
MinimumBalanceException()
{
*str = 0;
amt1 = 0;
}
MinimumBalanceException(char *s, int x)
{
strcpy(str, s);
amt1 = x;
}
};
class Account
{
long account_number;
string name;
float balance_amount = 0.0 ;
public:
void get_data()
{
string nam;
long acc_no;
cout<<"Enter name: "<<endl;
cin>>nam;
name = nam;
cout<<"Enter account_number: "<<endl;
cin>>acc_no;
account_number = acc_no;
}
void deposit()
{
float amt;
cout<<"Enter the amount to be deposited: "<<endl;
cin >> amt;
balance_amount = balance_amount + amt;
cout<<"Your account is credited with Rs. "<<amt<<endl;
cout<<"Total Balance is : "<< balance_amount<<endl;
}
void withdraw()
{
float amt;
cout<<"Enter the amount to be withdrawn: "<<endl;
cin>>amt;
try
{
if(amt > balance_amount)
throw MinimumBalanceException("Can't Withdraw ", amt);
balance_amount = balance_amount - amt;
cout<<"Your account is debited with Rs. "<<amt<<endl;
cout<<"Total balance is : "<<balance_amount<<endl;
}
catch(MinimumBalanceException e)
{
cout<<e.str<<endl;
cout<<e.amt1 << " is greater than Total Balance in your account. "<<endl;
cout<<"Try again."<<endl;
}
}
void display()
{
cout<<"Current Balance = " << balance_amount<<endl;
}
};
int main()
{
Account a;
a.get_data();
int choice;
while(1)
{
cout<<"1. Withdraw "<<endl;
cout<<"2. Deposit "<<endl;
cout<<"3. Display Balance "<<endl;
cin>>choice;
switch(choice)
{
case 1:
a.withdraw();
break;
case 2:
a.deposit();
break;
case 3:
a.display();
break;
default:
exit(0);
}
}
return 0;
}