Может ли переменная в c добавить свое старое значение плюс новое значение?

#c #variable-assignment

#c #переменная-назначение

Вопрос:

Есть ли в c способ, чтобы одна переменная сохраняла свое прежнее значение, а при добавлении к нему добавляла свое последнее значение с новым? например, я пишу программу, в которой пользователь может ввести столько «чеков» и «депозитов», которые они получили в течение дня, и в конце дня программа сообщит пользователю, сколько он заработал в течение дня

вот что у меня есть на данный момент

 #include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{

system("Color 0E");
int cashBalance = 1000;
int check;
int depo;
double toDepo = depo * 0.3;
double totalDepo = depo - toDepo;
int loop = 5;
int choice;

cout << "check = 1, deposit = 2, add = 3, clear the screen = 4, close = 0n" << endl;
while (loop == 5){
  cout << "Would you like to enter a depoist or a check?n" << endl;
  cin >> choice;
  //determines whether or not to close the program
  if(choice == 0 || depo == 0 || check == 0){
  return 0;          
  }//end close if
  //choses which type of input to make
    if( choice == 1){
      cout << "Please enter checkn" << endl;    
      cin >> check;
    } else if(choice == 2){
      cout << "Please enter depositn" << endl;
      cin >> depo;
    }//end if
    if(choice == 3 || depo == 3 || check == 3){
    cout << "Total = " << (cashBalance - check)   totalDepo << endl;
  }
  //clear the console screen
  if(choice == 4 || depo == 4 || check == 4){
  system("cls");
  cout << "check = 1, deposit = 2, add = 3, clear the screen = 4, close = 0n" << endl;
  }
}//end while loop
system("PAUSE");
return EXIT_SUCCESS;
}//end of program
  

проблема в том, что мне нужны переменные «check» и «depo», чтобы иметь возможность добавлять первое значение пользователя и второе значение для получения нового значения. прямо сейчас все, что она делает, это отображает последнее значение, введенное пользователем.

Ответ №1:

ДА.

Вы можете добавить новые значения к старому значению как:

 oldValue  = newValue;
  

Или, альтернативно, вы также можете сделать это:

 oldValue = oldValue   newValue;
  

Комментарии:

1. будет ли «newValue» совершенно новой переменной или, например, check = check;

2. @user975452: Если вы пишете check = check , не добавляет ли она себя к нему? Это эквивалентно check = check check , что, в свою очередь, эквивалентно check = 2 * check . Итак, где хранится новое значение и где ваше старое значение? Задайте эти вопросы себе.

Ответ №2:

Переменная может отображать только последнее значение, введенное пользователем. предположим

 int a=5;
a=a 5;
cout<<a;
  

output will be 10 поскольку новое значение перезаписывает предыдущее значение по адресу a .