c++ написал прогу по фану а там

118
05 октября 2021, 08:50

написал прогу по фану на с++ а она почему то не вызывает ошибку 0_0

#ifndef IS_GUARD_
#define IS_GUARD_
#include <iostream>
#include <string>
using namespace std;
#define RETURN return 0;
int main() {
    setlocale(LC_ALL,"ru");
    int iChetOrNo;
    cin>>iChetOrNo;
    if(iChetOrNo % 2==0) {
        cout<<"Число четное"<<endl;
    }
    else {
        cout<<"Число не четное"<<endl;
    }
    RETURN;
}
#endif //IS_GUARD_

по идеи если ввести не целочисленное число то должна вызываться ошибка а она пишет: Число Четное

Answer 1

Обычно делают вот так:

cin >> iChetOrNo;
if (!cin) {/* выйти с ошибкой */}

Либо можно приписать в начале main это:

cin.exceptions(cin.failbit | cin.badbit);

Тогда cin будет бросать сам исключение при ошибке.

Answer 2

Попытка ввести строковый литерал в целочисленную переменную приводит к тому, что в ней оказывается число 0. А ноль - четное число.

READ ALSO
Как вызвать два метода по клику в Vue Js

Как вызвать два метода по клику в Vue Js

В разработке приложения я использую vue cli у меня есть такой код

237
Как сделать ожидание ответа от клиента

Как сделать ожидание ответа от клиента

У меня есть логика проверки пользователя

126
Ошибка при запуске task(а) gulp

Ошибка при запуске task(а) gulp

Я скачал node js вот этой версии:

207