Как мне сохранить промежуточную сумму входной переменной внутри коммутатора? - PullRequest
0 голосов
/ 06 мая 2019

Я довольно новичок в C ++.Я работаю над программой, в которой пользователь может снимать или вносить деньги в виртуальный банкомат.В моем коммутаторе четыре случая, и я пытаюсь отследить каждую сумму, которую внес пользователь.Моя цель - не допустить, чтобы пользователь вносил более 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 «.

Буду признателен за любую помощь, которую вы сможете оказать!

Спасибо!

1 Ответ

2 голосов
/ 06 мая 2019

Вы можете ввести дополнительную переменную, скажем depositTracker. Инициализируйте его до 0. ` Тогда попробуйте это:

cin >> deposit;
depositTracker += deposit;
if (depositTracker > 1000) {
  cout << " You have reached your maximum deposit limit";
}

Таким образом, каждый раз, когда вы вносите депозит, он добавляет сумму к depositTracker. Если сумма депозитов превысит 1000, об этом сообщит пользователь. Надеюсь, это поможет.

...