我正在做这个项目的银行系统
该系统跟踪客户在银行的账户。每个帐户都有一个号码,名称和余额。系统提供以下功能:创建新帐户,提取,存款和关闭帐户
系统具有以下界面:
选择:
1-添加新帐户
2-撤回
3-存款
4-获得平衡
5-退出
当用户选择1 时,系统会生成新ID,然后要求用户输入该帐户的名称。初始余额设置为零。
当用户选择2 时,系统会要求用户输入帐户ID和要提取的金额。如果此金额大于余额,则会显示一条消息,表明此交易因余额不足而失败。如果余额足够,则减少的金额将被撤销。
当用户选择3 时。系统要求用户输入帐户ID和要存入的金额。系统会增加这个数额的余额。
当用户选择4 时,系统会要求用户输入帐户ID,然后打印帐户名称和余额。
每次完成任务时,系统都会返回上面的主菜单,直到用户选择5。
# include <iostream>
#include <string>
using namespace std;
# include<iomanip>
class Bank
{
private:
char name;
int acno;
float balance;
public:
void newAccount();
void withdraw();
void deposit();
void getbalance();
void disp_det();
};
//member functions of bank class
void Bank::newAccount()
{
cout<<"New Account";
cout<<"Enter the Name of the depositor : ";
cin>>name;
cout<<"Enter the Account Number : ";
cin>>acno;
cout<<"Enter the Amount to Deposit : ";
cin >>balance;
}
void Bank::deposit()
{
float more;
cout <<"Depositing";
cout<<"Enter the amount to deposit : ";
cin>>more;
balance+=more;
}
void Bank::withdraw()
{
float amt;
cout<<"Withdrwal";
cout<<"Enter the amount to withdraw : ";
cin>>amt;
balance-=amt;
}
void Bank::disp_det()
{
cout<<"Account Details";
cout<<"Name of the depositor : "<<name<<endl;
cout<<"Account Number : "<<acno<<endl;
cout<<"Balance : $"<<balance<<endl;
}
// main function , exectution starts here
void main(void)
{
Bank obj;
int choice =1;
while (choice != 5 )
{
cout<<"Enter \n 1- to create new account \n 2- Withdraw\n 3- Deposit \n 4- get balance\n 5 Exit"<<endl;
cin>>choice;
switch(choice)
{
case '1' :obj.newAccount();
break;
case '2' :obj.withdraw();
break;
case 3: obj.deposit();
break;
case 4: getbalance();
break;
case 5:
break;
default: cout<<"Illegal Option"<<endl;
}
}
}
答案 0 :(得分:2)
问题1:
你已经弄错了方法,让你平衡和您正在呼叫的人,将Bank::disp_det()
重命名为Bank::getbalance()
void Bank::getbalance()
{
cout<<"Account Details";
cout<<"Name of the depositor : "<<name<<endl;
cout<<"Account Number : "<<acno<<endl;
cout<<"Balance : $"<<balance<<endl;
}
问题2:
您没有通过Bank::getbalance
的对象调用Bank
,因为它是一个成员函数,您应该按如下方式调用它:
case 4:
obj.getbalance();
break;
答案 1 :(得分:1)
在案例4中,您应该致电obj.getbalance()
。而且还没有写出来:似乎你写了disp_det()
而不是显示余额。尝试重命名。
答案 2 :(得分:0)
这并不是您想要的,因为案例标签有不同的类型:
switch(choice)
{
case '1' :obj.newAccount();
break;
case '2' :obj.withdraw();
break;
case 3: obj.deposit();
break;
case 4: getbalance();
break;
case 5:
break;
default: cout<<"Illegal Option"<<endl;
}
要选择'1'
或'2'
选项,当选项为int
时,用户必须输入31和32。