Я пытаюсь изучить код C ++ из моей учебной книги. Я написал это, используя CodeBlocks IDE:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
/*...*/
using namespace std;
/*...*/
int main (void){
cout << "Please enter name and age: \n\n:>";
string _sInput = "";
int _intInput = -1;
cin >> _sInput >> _intInput;
cout << "Hello " << _sInput << "!\n";
cout << "You have aged " << _intInput << " years.";
}
Основываясь на том, что обсуждалось в книге г-на Страуструпа, теперь, когда я дал переменной _intInput
начальное значение, если я введу неправильные данные, такие как James Boy
, я должен получить такой вывод:
Hello James!
You have aged -1 years.
Но я получаю You have aged 0 years.
точно так же, как время, которое я не дал начальному значению.
Что-то не так с моим кодом или как?