Zastosowanie wyliczenia w C ++

Zastosowanie wyliczenia w C ++
Typ danych zdefiniowany przez użytkownika jest zadeklarowany za pomocą wyliczenia zawierającego zestaw stałych. Ułatwia to czytanie i zarządzanie kodem. Słowo kluczowe enum służy do zdefiniowania wyliczenia. Określony zestaw wartości jest zdefiniowany przez wyliczenie. Wartości stosowane w wyliczeniu nazywane są wyliczaniem. Wartości wyliczenia można łatwo analizować i używać w przełącznik oświadczenie. W tym samouczku pokazano różne zastosowania wyliczenia w C ++.

Składnia:

Składnia deklarowania wyliczenia podano poniżej. enum Słowo kluczowe służy do deklarowania typu danych wyliczenia i nazwisk enum Wartości są oddzielone przecinkiem (,). Ponadto domyślna wartość wyliczenia zaczyna się od 0.

ENUM ENUM-Type-Nazwa v1, v2, v3… vn;

Przykład 1: Konwertuj liczbę na wartości enum

Sposób konwersji dowolnej wartości liczbowej na wartość enum jest pokazana w poniższym przykładzie. W kodzie zadeklarowano wyliczenie 12 elementów. Wartość liczb całkowita zostanie pobrana od użytkownika. Jeśli wartość wejściowa ma od 0 do 11, wartość zostanie przekonwertowana na wartość enum. Następnie pozycja miesiąca zostanie ustawiona na podstawie wartości wyliczonej, a sformatowany ciąg zostanie wydrukowany później:

// Dołącz niezbędną bibliotekę
#włączać
za pomocą przestrzeni nazw Std;
int main ()

// zadeklaruj enum
Miesiąc enum styczeń, luty, marsz, maj, czerwca, lipca, sierpień, września, października, listopada, grudzień;
// zadeklaruj niezbędne zmienne
Miesiąc Enumvar;
string mval, pos = "th";
int mnum;
// weź wartość całkowitą od użytkownika
cout mnum;
// Sprawdź wejście
if (mnum> = 0 && mnum <=11)

// Konwertuj numer na enum
enumvar = (miesiąc) mnum;
if (enumvar+1 == 1)
pos = "st";
W przeciwnym razie if (enumvar+1 == 2)
pos = "nd";
W przeciwnym razie if (enumvar+1 == 3)
pos = "rd";
Cout << "The " << enumVar + 1 << pos <<" month of the year." << "\n";

w przeciwnym razie
Cout << "Invalid number.";
powrót 0;

Wyjście:

Poniższe dane wyjściowe pojawią się po wykonaniu powyższego kodu, jeśli 6 zostanie uznane za wartość wejściową:

Przykład 2: Konwertuj wartości enum na ciąg

W poprzednim przykładzie uzyskano dostęp do wartości zmiennej enum. Jeśli jednak chcesz wydrukować konkretny tekst dla konkretnej wartości enum, musisz użyć instrukcji warunkowej. Sposób konwersji wartości wyliczenia na ciąg za pomocą instrukcji przełącznika jest pokazany w poniższym przykładzie. Enum 7 elementów zostało ogłoszone w kodzie, w którym nazwy enum są nazwami 7 tygodni. Po przyjęciu wejścia w odległości 0 do 6, wartość odpowiedniej wartości wyliczania zostanie przekonwertowana na nazwę dni powszednie za pomocą instrukcji przełącznika. Konwertowana wartość zostanie wydrukowana później.

// Dołącz niezbędną bibliotekę
#włączać
za pomocą przestrzeni nazw Std;
// zadeklaruj enum
Enum dni powszednie niedziela, poniedziałek, wtorek, środa, czwartek, piątek, sobota;
/*
Funkcja przekonwertuje wartości enum
do wartości ciągu
*/
void Convert_To_String (Days WVal)

String WeekDay;
przełącznik (wval)
przypadek niedziela:
WEDEKDAY = „Sunday”;
przerwa;
Przypadek poniedziałkowy:
WEDEKDAY = „Poniedziałek”;
przerwa;
Sprawa we wtorek:
WEDEKDAY = „Wtorek”;
przerwa;
Sprawa środowa:
WEDEKDAY = „środa”;
przerwa;
Sprawa czwartkowa:
WEDEKDAY = „Czwartek”;
przerwa;
Przypadek piątek:
WEDEKDAY = „Friday”;
przerwa;
Sprawa sobota:
WEDEKDAY = „Sobota”;

Cout << "The weekday name is " << weekday << "\n";

int main ()

// zadeklaruj niezbędne zmienne
DAY WYDANIE ENUMVAR;
String Wval;
int mnum;
// weź wartość całkowitą od użytkownika
cout mnum;
// Sprawdź wejście
if (mnum> = 0 && mnum <=6)

enumvar = (dni powszednie) mnum;
Convert_to_String (enumvar);

w przeciwnym razie
Cout << "Invalid number.";
powrót 0;

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego kodu, jeśli 3 zostanie traktowane jako wartość wejściowa:

Przykład 3: Ustaw różne wartości dla enum

Wcześniej wspomniano, że początkowa domyślna wartość enum wynosi 0. Sposobem deklarowania enum jest zdefiniowanie każdej wartości osobno i dostęp do konkretnej wartości, jak pokazano w poniższym przykładzie. W kodzie zadeklarowano enum 5 elementów, w którym dla każdego elementu przypisano wartość nieodprzestrzeniową. Wartość „niebieskiego” zostanie wydrukowana później:

// Dołącz niezbędną bibliotekę
#włączać
za pomocą przestrzeni nazw Std;
int main ()
// zadeklaruj enum
Enum Colours Red = 10, zielony = 30, niebieski = 20, biały = 40, czarny = 50;
// deklaruj zmienną enum o wartości
kolory enumcol = niebieski;
// Wydrukuj wartość enum
Cout << "The value of 'Blue' is : " << enumCol << "\n";
powrót 0;

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego kodu:

Przykład 4: Policz rozmiar enum

Sposób naliczenia wielkości wyliczenia jest pokazany w poniższym przykładzie. W kodzie zadeklarowano wyliczenie 5 elementów. Do zliczenia całkowitej liczby elementów enum zastosowano zmienną kontratakową. Pętla „for” została użyta do iteracji wartości enum od początku do zakończenia i zwiększania wartości zmiennej licznika o jedną w każdej iteracji.

// Dołącz niezbędną bibliotekę
#włączać
za pomocą przestrzeni nazw Std;
int main ()

// zadeklaruj enum
Enum Marks CT, Ettenit, zadanie, Mid, Final;
// zainicjuj zmienną licznika
int licznik = 1;
/*
Iteruj wartości enum za pomocą pętli
policzyć całkowitą liczbę elementów enum
*/
for (int i = ct; i < Final; i++)

licznik ++;

Cout << "Total number of elements is: " << counter << "\n";
powrót 0;

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego kodu:

Wniosek:

Wyliczenie można użyć do rozwiązania różnych rodzajów problemów z programowaniem w C++. Cel zastosowania wyliczenia został tutaj opisany przy użyciu różnych przykładów. Mam nadzieję, że nowe kodery C ++ będą w stanie zrozumieć użycie wyliczenia i odpowiednio zastosować je w ich kodzie po przeczytaniu tego samouczka.