#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 .