大佬,再帮我这个渣改下c++的题 - 爱问答

(爱问答)

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

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

对象初始化;

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人工智能开发培训有前途吗?

上一篇:如何升级播放器

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?