首页 > 电脑

大佬,再帮我这个渣改下c++的题

更新时间2018-03-27 13:45:55

/*定义一个类来表示银行账户。数据成员包括储户姓名、账号(使用字符串)和存款。成员函数执行如下操作:

对象初始化;

2)显示储户姓名、账号和存款;

3)存入参数指定的存款;

4)取出参数制定的款项。

请提供类声明及类的实现。并编写主函数进行测试。*/

#include <iostream>

#include <cstring>

class BankAccount

{

private:

 char Name[50];

 char Number[25];

 double Balance;

public:

 BankAccount(char *Name="none",char *Number=0,double Balance=0.0);

 void saving(double money);

 void fetch(double money);

 void show()const;

};

BankAccount::BankAccount(char *Name/* ="none" */,char *Num/* =0 */,double Bal/* =0.0 */)

{

 strncpy(Name,Name,49);

 Name[49]='';

 strncpy(Number,Num,24);

 Number[24]='';

 Balance=Bal;

}

void BankAccount::saving(double money)

{

 if (money<0)

 {

  std::cerr<<"The saving money can't be negative"

   <<", Transation is terminate"<<std::endl;

 }

 else

  Balance+=money;

}

void BankAccount::fetch(double money)

{

 if (money>Balance)

 {

  std::cerr<<"There isn't enough money in your account!!!"<<std::endl;

 }

 else if (money<0)

 {

  std::cerr<<"The money can't be nagative!"<<std::endl;

 }

 else

  Balance-=money;

}

void BankAccount::show() const

{

 using std::cout;

 using std::endl;

 cout<<"Client : "<< Name<<endl

  <<"Account : "<< Number<<endl

  <<"Balance : "<< Balance<<endl;

}

int main()

{

 using namespace std;

 BankAccount acc1("heyyroup","286962249",14000);

 acc1.show();

 acc1.fetch(1200);

 acc1.show();

 acc1.saving(4200);

 acc1.show();

 BankAccount acc2=BankAccount("sunshineradio","32012088",2000);

 acc2.show();

 acc2.fetch(4300);

 acc2.saving(-7);

 return 0;

}


一.  BankAccount(char *Name="none",char *Number=0,double Balance=0.0);

改为

BankAccount(const char *Name="none",const char *Number="0",double Balance=0.0); //你的Number是字串型,不能赋为0的 ,另外改为const更合理(非必须) 

二.BankAccount::BankAccount(char *Name/* ="none" */,char *Num/* =0 */,double Bal/* =0.0 */)

改为

BankAccount::BankAccount(const char *Name/* ="none" */,const char *Num/* =0 */,double Bal/* =0.0 */) //与上面对应 

三.BankAccount::BankAccount中的内容改

strcpy(this->Name,Name); //你要区分两个Name的,最好不用同一名字,另外不用strncpy的,用这个中间数据要乱的 

//Name[49]='';

strcpy(Number,Num); //与上同理 

//Number[24]='';

Balance=Bal;

运行结果

大佬,再帮我这个渣改下c++的题

上一篇:如何升级播放器

下一篇:python人工智能开发培训有前途吗?