我对C ++很陌生。我正在开发一个程序,用户可以在其中提款或将钱存入虚拟ATM。我的交换机中有四种情况,我正在尝试跟踪用户存入的每笔金额。我的目标是不允许用户在整个切换过程中存入超过1000美元的费用-无论是一次存入1000美元,还是两次存入500美元,等等。
我只有运气会使用嵌套的if语句,如您将在下面看到的那样,说出“ if(deposit> 1000)”,但这只能解决它们输入的值大于1000的情况,而不是多次存款,然后输入400,然后输入600。
case 3:
cout << "Deposit - How much would you like to deposit? $";
cin >> deposit;
if (deposit >= 0 && deposit <=50) {
cout << "Your new balance after depositing $" << deposit << " will be $"
<< (balance += deposit) << '\n' <<endl;
}
else if (deposit < 0 )
{
cout << "Please enter a postive value." << endl;
}
else if (balance + deposit > 3495.99)
{
cout<< "You have exceeded the maximum balance your account can hold. Please enter a smaller deposit amount.";
}
else if (deposit > 50)
cout << "Please note: There is a $2.50 fee for deposits over $50. Your new balance after depositing $" << deposit << " will be $"
<< (balance += (deposit - over50fee )) <<'\n' <<endl;
cout << "Would you like to take any other actions today? Y/N ";
如果用户输入的总存款金额(无论有多少笔存款)都超过$ 1000,我想打印一条消息“已达到最大每日存款限额。请最多存入$ 1000。”
希望您能提供任何帮助!
谢谢!
答案 0 :(得分:2)
您可以引入一个附加变量,例如depositTracker
。将其初始化为0。
然后尝试:
cin >> deposit;
depositTracker += deposit;
if (depositTracker > 1000) {
cout << " You have reached your maximum deposit limit";
}
这样,每次您存款时,都会将金额添加到depositTracker
中。如果存款总额超过1000,它将告知用户。
希望这会有所帮助。