What's happening in your code is that whenever you input a letter, cin
keeps its invalid state for subsequent inputs, so you have to clear it and remove bad inputs first. So you can do something like this :
if (!(cin >> n)) {
cout << "THE NUMBER INPUT IS NOT RECOGNISED AS AN INTEGER, TRY AGAIN." << endl;
cin.clear();
while(cin.get() != '
');
n = 1;
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…