先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户
类中增加密码、地址、最小余额和利率等成员变量,并增加一些银行账户经常用到的成员函数。
要求:
(1)类中的成员函数具有输入、输出储户上述信息的功能;
(2)将账号设计成不可更改;
(3)修改密码时要提供原密码。
本文为博主原创文章,未经博主允许不得转载。
版权为陈博超所有,第一次于2020年11月22日发表于BLOG上
本BLOG上原创文章未经本人许可,不得用于商业用途。转载请经允许后注明出处,否则保留追究法律责任的权利。
码字不宜,穷酸学生,各位老板打赏个1分钱支持一下,谢谢各位老板。
#include<iostream>
#include<string.h>
using namespace std;
class basic {
public:
long id;
basic(long a):id(a) //基类构造函数
{}
void show(long id) {
cout <<"账号:" << id << endl;
}
~basic() //基类析构函数
{}
};
class account :private basic {
public:
char name[20];
long balance;
char password[20];
char address[20];
long minimum_balance;
float annual_interest_rate;
account(char *a, long b, long c, char *d, char *e, long f, float g): //派生类构造函数
basic(b), balance(c), minimum_balance(f), annual_interest_rate(g)
{
strcpy_s(name, a);
strcpy_s(password, d);
strcpy_s(address, e);
}
void show1(); //声明显示函数
void deposit(long money); //声明存款函数
void withdrawal(long money); //声明取款函数
void change_password(char* chpassword); //声明修改密码函数
void modify_name(char* chname); //声明修改姓名函数
void modification_address(char* chaddress);//声明修改地址函数
~account() //派生类析构函数
{}
};
void account::show1()
{
cout << "姓名:" << name << endl;
basic::show(id);
cout << "余额:" << balance << endl;
cout << "密码:" << password << endl;
cout << "地址:" << address << endl;
cout << "最小余额:" << minimum_balance << endl;
cout << "年利率:" << annual_interest_rate << endl;
}
void account::deposit(long money) {
balance += money;
}
void account::withdrawal(long money) {
balance -= money;
}
void account::change_password(char *chpassword) {
strcpy_s(password, chpassword);
}
void account::modify_name(char* chname) {
strcpy_s(name, chname);
}
void account::modification_address(char* chaddress) {
strcpy_s(address, chaddress);
}
int main() {
char name[20];
long id;
long balance;
char password[20];
char address[20];
long minimum_balance;
float annual_interest_rate;
long money; //存款或取款数额
int a;
cout << "请输入客户信息" << endl;
cout << "---------------------------------" << endl;
cout << "姓名:";
cin >> name;
cout << "账号:";
cin >> id;
cout << "余额:";
cin >> balance;
cout << "密码:";
cin >> password;
cout << "地址:";
cin >> address;
cout << "最小余额:";
cin >> minimum_balance;
cout << "年利率";
cin >> annual_interest_rate;
account n(name, id, balance, password, address, minimum_balance, annual_interest_rate);
cout << "------------------------请输入操作------------------------------" << endl;
cout << "1.打印客户信息" << endl << "2.存款" << endl << "3.取款" << endl;
cout << "4.修改密码" << endl <<"5.修改姓名" << endl << "6.修改地址" << endl;
while (scanf("%d", &a) != EOF) {
switch (a) {
case 1:
n.show1();
break;
case 2:
cout << "请输入存款金额:" << endl;
cin >> money;
n.deposit(money);
cout << "当前余额:" << n.balance <<endl;
break;
case 3:
cout << "请输入取款金额:" << endl;
cin >> money;
n.withdrawal(money);
cout << "当前余额:" << n.balance << endl;
break;
case 4:
char chpassword[20];
cout << "请输入原始密码:" << endl;
cin >> chpassword;
if (strcmp(n.password, chpassword) != 0) {
cout << "原始密码错误!请重新选择操作!" << endl;
}
else {
cout << "请输入新密码:" << endl;
cin >> chpassword;
n.change_password(chpassword);
cout << "修改成功!" << endl;
}
break;
case 5:
char chname[20];
cout << "请输入修改后的姓名:" << endl;
cin >> chname;
n.modify_name(chname);
cout << "修改成功!" << endl;
break;
case 6:
char chaddress[20];
cout << "请输入修改后的地址:" << endl;
cin >> chaddress;
n.modification_address(chaddress);
cout << "修改成功!" << endl;
break;
}
}
return 0;
}
本文为博主原创文章,未经博主允许不得转载。
版权为陈博超所有,第一次于2020年11月22日发表于BLOG上
本BLOG上原创文章未经本人许可,不得用于商业用途。转载请经允许后注明出处,否则保留追究法律责任的权利。
码字不宜,穷酸学生,各位老板打赏个1分钱支持一下,谢谢各位老板。