Typ wyliczeniowy enum jest to typ, który pozwala wyliczyć dane. Wartości tego typu są tekstami przez co nie trzeba pamiętać co oznacza, która wartość, ponieważ bardzo często krótki opis wystarczy. W celu zadeklarowania typu wyliczeniowego należy użyć słowa kluczowego enum, a następnie w nawiasach klamrowych podać wartości i rozdzielić je przecinkiem. Uwaga: Po zamknięciu nawiasu należy postawić średnik. Przykładowo deklaracja wygląda następująco:
(1.) Deklarowany jest nowy typ zmiennej na podstawie enum o nazwie nowytyp. Następnie idzie deklaracja (2. - 4.) trzech wartości rozdzielonych przecinkiem. Takich wartości może być więcej lub mniej. (5.) Zakończ deklaracje.
W celu zadeklarowania zmiennej należy podać nazwę nowego typu, nazwę zmiennej. W celu przypisania wartości wystarczy wybrać dowolną podaną w zadeklarowanym typie.
Przypisane wartości można sprawdzać przy użyciu instrukcji if. W miejsce gdzie np. stałaby liczba należy podać prawidłową wartość dla tego typu danych.
Typ wyliczeniowy enum przydaje się w przypadku kwestionariuszy. O wiele jest łatwiej sprawdzić czy dana zmienna ma wartość dane, a nie zastanawiać się jaka liczba reprezentuje dane. Przypuśćmy, że pracujemy nad ankietą elektroniczną, która zapyta użytkownika z jakiego urządzenia korzysta.
Pierwszy etap będzie polegał na tym, żeby zadeklarować urządzenia z których może korzystać użytkownik. Dla uproszczenie przyjmijmy, że będzie to komputer stacjonarny, smartfon oraz tablet. Wtedy deklaracja typu danych wygląda następująco:
Po wprowadzeniu z pewnością przyda się wydobyć informację co wybrał użytkownik. Do tego celu najlepsza będzie instrukcja switch, która na podstawie wartości przekazanego argumentu wyświetli rodzaj urządzenia.
Teraz pozostaje już tylko wczytać od użytkownika, ale pojawia się problem. urzadzenie to typ danych dla którego nie zostało określone jak mają być wczytywane dane prosto z konsoli. Istnieje jednak możliwość, aby to ominąć.
Typ wyliczeniowy przypoprządkowuje każdej kolejnej wartości kolejną liczbę począwszy od 0. W tym przypadku wartości desktop odpowiada 0, tablet 1, a smartphone 2. Rzutując wartość liczbową (0, 1, 2) na typ urzadzenie otrzymamy pożądaną wartość.
Prezentowana poniżej funkcja main() ma za zadanie wypisać dostępne urządzenia, a następnie wczytać od użytkownika jakiego urządzenia używa i wypisać co to jest na ekran.
(2.) Zadeklaruj zmienną n do wczytania danych. (3. - 7.) Wypisz listę wszystkich urządzeń. Ze względu na fakt, że typ enum nie wie ile ma wpisanych wartości to dodatkowo została zadeklarowana stała ROZNYCH_URZADZEN, która przechowuje ile jest urządzeń. (8. - 10.) Wczytaj od użytkownika dane, aż poda prawidłową opcję. (11.) Zadeklaruj zmienną typu urzadzenie na podstawie wczytanej wartości pomniejszonej o 1. (Dla ułatwienia wczytujemy od użytkownika wartości od 1 do 3, ale wartości w typie enum są numerowane od 0.) (12. - 13.) Wypisz sprzęt użytkownika i zakończ działanie programu.
Napisz program, który poprosi użytkownika o wybranie ulubionego owocu spośród prezentowanych gatunków. Do wyboru powinno być co najmniej trzy owoce oraz opcja "żaden z wymienionych". Po wczytaniu od użytkownika nieprawidłowych danych powinien zostać wypisany stosowny komunikat. Na koniec wypisz czy użytkownik lubi ten sam owoc co autor kodu.