Позвольте мне сначала начать с того, что я очень новичок в C++ и совершенно новый для stackoverflow. Привет всем, Я пытался понять это весь день. Я пытаюсь обновить переменную «real_total» переменной «playerTotal» в приведенной ниже функции. Однако все это делает их равными. Когда я cout < < real_total < < playerTotal < < endl; Я получаю тот же номер, который правильный для пользователей, прежде всего, догадываются, но их вторая догадка, как «real_total», сбрасывается обратно до 0 вместо того, чтобы удерживать значение «playerTotal». Я уверен, что это связано с моей петлей или с размещением моих заявлений. Любая помощь будет оценена по достоинству.Как прирастить переменную int другой переменной int?
void update_total (string str, char& letter, int num, bool& roundover, int& playerTotal){
int found = 0, real_total=playerTotal;
for(int i=0; i < str.length(); i++){
if(str.at(i) == letter){
found = found + 1;
}
}
playerTotal = num * found;
real_total =+ playerTotal;
cout << real_total << playerTotal << endl;
cout << "There were " << found << " of those in the phrase. Your total earnings is $" << playerTotal << endl;
cout << "Total game winnings is $ " << real_total << endl;
if(found == 0){
cout << "You guessed incorectly:(" << endl;
roundover = true;
}
}
Попробуйте создать [** Минимальный **, полный и проверенный пример] (http://stackoverflow.com/help/mcve) и покажите нам. –
Не в тему: Просто тупая удача я видел это, но в 'int random (int & num)', вы не хотите 'srand (time (NULL));'. 'srand' перезапустит генератор чисел с текущим временем в качестве семени. Возвращаемое время имеет минимальное разрешение 1 секунду, поэтому, если вы вызовете слишком быстро, вы будете получать одинаковое значение. Рекомендуемое использование 'srand' - это его вызов только один раз где-то рядом с началом программы. – user4581301