Я хочу начать с того, что я новичок в C ++.Я изучал веб-сайты и часами пытался перебирать код и пробовал что-то новое, пытаясь решить эту проблему.
Когда я ссылаюсь на переменную в функции, где переменная изменена, он возвращаетправильное значение.После того, как эта функция оставлена, даже если я передал переменные следующей функции, значения будут сброшены.Я даже начал добавлять койки тут и там, чтобы отобразить значения, помогающие мне отлаживать, но ничего не дало никаких результатов.Может кто-нибудь указать мне правильное направление, пожалуйста?Я выложу свой код ниже.Спасибо за помощь, ребята.
#include <iostream>
//void Loop(int Total, int Spend);
//int NewTotal(int Total, int Spend);
//void Spent(int Total, int Spend);
void UserInput(int Total, int Spend);
// Loops back to UserInput() for next entry input
void Loop(int Total, int Spend)
{
UserInput(Total, Spend);
}
int NewTotal(int Total, int Spend)
{
std::cout << "Output of Total is: " << Total << std::endl;
std::cout << "Output of Spend is: " << Spend << std::endl;
return Total + Spend;
}
void Expense()
{
std::cout << "Please enter a description of your expense!" << std::endl;
char ExpenseDesc;
std::cin >> ExpenseDesc;
std::cout << "You described your expense as: " << std::endl;
std::cout << ExpenseDesc << std::endl;
}
void Spent(int Total, int Spend)
{
std::cout << "Please enter the amount you spent!" << std::endl;
std::cin >> Spend;
NewTotal(Total, Spend);
}
void UserInput(int Total, int Spend)
{
Expense();
Spent(Total, Spend);
std::cout << "Result of Total and Spend (NewTotal) is: " << Total + Spend << std::endl;
std::cout << "Record saved!" << std::endl;
std::cout << "So far, you have spent " << NewTotal(Total, Spend) << "!" << std::endl; //int Total & int Spend not retaining value when NewTotal(Total, Spend) gets called again to return value
std::cout << "Ready for next entry!" << std::endl;
Loop(Total, Spend);
}
int main()
{
int Total;
int Spend;
Spend = 0;
Total = 0;
UserInput(Total, Spend);
return 0;
}
По сути, это очень простой запрос, который запрашивает описание транзакции (которая принимает только один символ, мне нужно это исправить) и сумму транзакции.,После завершения этой записи вы можете сделать еще одну, и программа должна добавить старую итоговую сумму к новой итоговой сумме, чтобы получить итоговые расходы, а затем повторить запрос.