2017-02-19 3 views
-4

Позвольте мне сначала начать с того, что я очень новичок в 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; 
    } 
} 
+5

Попробуйте создать [** Минимальный **, полный и проверенный пример] (http://stackoverflow.com/help/mcve) и покажите нам. –

+1

Не в тему: Просто тупая удача я видел это, но в 'int random (int & num)', вы не хотите 'srand (time (NULL));'. 'srand' перезапустит генератор чисел с текущим временем в качестве семени. Возвращаемое время имеет минимальное разрешение 1 секунду, поэтому, если вы вызовете слишком быстро, вы будете получать одинаковое значение. Рекомендуемое использование 'srand' - это его вызов только один раз где-то рядом с началом программы. – user4581301

ответ

1

Простой ответ на этот вопрос будет следующим:

void foo() { 
    int i = 0; 
    int j = 10; 

    // Increment i with j 
    i += j; 
} 

Оператор + = добавляет значение правого операнда на левый операнд и присваивает новое значение левого операнда на переменная.

Смежные вопросы