Другие языки программирования и технологии

Нужна помощь новичку по C++

Объясните как работает, не понятно.
Читал книгу, а тут резкие переходы на перечисление и структуры, ничего не понял из этой программы. Понял как работает цикл ввода, но не понимаю как работает NO, YES.
OP
Oleg Prigorenko
141
Никак NO и YES не работают.
NO - это 0, YES - 1 - там даже подписали.
Больше в типе itsaWord значений быть не может.
И следует использовать логический тип.

Оправдано в ситуации
enum itsaWord { ХРЕН_ЗНАЕТ, ДА, НЕТ }
Роман Ситник
Роман Ситник
27 070
Лучший ответ
Потому что это говнокод.
enum в данном случае нафиг не нужен.
enum - грубо говорят создает const int с именами в перечислениях и присваивает им целые числа по порядку, если не указанно другое число
enum days_of_week {mon = 1, tue, wed, thu, fri, sat, sun};
равносильно
const int mon = 1, tue = 2, wed = 3, thu = 4, ..sun = 7;
Потом можно использовать осмысленные названия вместо бесмысленных чисел

switch(day)
{
case mon:
...
...
...
break;
case sun:
...
...
...
break;
}

Перечисление начинает с нуля.
enum number { null, one, two, three, ten=10, eleven, twelve};
но как только вы указали другое число прибавление единицы уже идет с этого числа.
cout << null; - выведет 0
cout << two; - выведет 2
cout << ten; - выведет 10 так как я указал что далее идут перечисления с 10.
Аналогично я сделал и с днями. Указал что понедельник должен начинаться с единицы.
В данном случае у вас NO равно нулю, а YES равно единице. Но для двух значений нет смысла использовать перечисление. Проще использовать, как вам указали, bool.
bool itsaword;
itsaword = false; //itsaword = no
itsaword = true; //itsaword = yes
Rifa Abdullin
Rifa Abdullin
15 408