#include <iostream>
enum Day { Mon = 1, Tue, Wed, Thu, Fri, Sat, Sun };
void printa(Day day);
int main() {
enum Day day = Sun;
printa(day);
return 0;
}
void printa(Day day) {
if (day > Fri)
std::cout << "weekend" << std::endl;
else
std::cout << "weekdays" << std::endl;
}
См. Код выше.
День определяется как переменная типа enum.
Значение «Sun» присваивается дню, который равен 7.
В результате «выходные» "печатается.
Теперь я хочу вот что: я ввожу значение (от 1 до 7) в день, то есть присваиваю ему состояние.
Вот код:
#include <iostream>
enum Day { Mon = 1, Tue, Wed, Thu, Fri, Sat, Sun };
void printa(Day day);
int main() {
enum Day day = Sun;
std::cin >> day; // Here is the added line
printa(day);
return 0;
}
void printa(Day day) {
if (day > Fri)
std::cout << "weekend" << std::endl;
else
std::cout << "weekdays" << std::endl;
}
Это не может работать.
Может кто-нибудь сказать мне, почему?
Как я могу ввести состояние переменной типа enum в C ++?