Odpowiedź :
Odpowiedź:
#include <iostream>
enum Ocena {
NIEDOSTATECZNY = 1,
DOPUSZCZAJACY,
DOSTATECZNY,
DOBRY,
BARDZO_DOBRY,
CELUJACY
};
int main() {
Ocena ocena;
ocena = DOPUSZCZAJACY;
switch (ocena) {
case NIEDOSTATECZNY: {
std::cout << (int) NIEDOSTATECZNY;
break;
}
case DOPUSZCZAJACY: {
std::cout << (int) DOPUSZCZAJACY;
break;
}
case DOSTATECZNY: {
std::cout << (int) DOSTATECZNY;
break;
}
case DOBRY: {
std::cout << (int) DOBRY;
break;
}
case BARDZO_DOBRY: {
std::cout << (int) BARDZO_DOBRY;
break;
}
case CELUJACY: {
std::cout << (int) CELUJACY;
break;
}
default: {
std::cout << "Niepoprawna ocena";
break;
}
}
return 0;
}
Wyjaśnienie:
W c++ switch case nie obsługuje reprezentacji słownej (stringów i tablic charów), jedynie reprezentacje liczbowe. Dlatego użyłem enuma aby zaimitować słowne reprezentacje, a przy wyświetlani spowrotem castowałem je na liczbowe