Penggunaan Enumerasi dalam C++

Tipe data yang ditentukan user dideklarasikan dengan menggunakan enumerasi yang berisi sekumpulan konstanta. Itu membuatnya lebih mudah untuk membaca dan mengelola kode. Kata kuncinyaenum digunakan untuk mendefinisikan enumerasi. Seperangkat nilai tertentu ditentukan oleh enumerasi. Nilai yang digunakan dalam pencacahan disebut pencacah. Nilai enumerasi dapat diuraikan dengan mudah dan digunakan dalam a switchpenyataan. Penggunaan enumerasi yang berbeda dalam C++ telah ditunjukkan dalam tutorial ini.

Sintaksis:

Sintaks mendeklarasikan enumerasi diberikan di bawah ini. Ituenum kata kunci digunakan untuk mendeklarasikan tipe data pencacahan, dan nama-nama enum nilai dipisahkan dengan koma (,). Selain itu, nilai default pencacahan dimulai dari 0.

enum enum-type-name { v1, v2, v3…..vn };

Contoh 1: Ubah Angka Menjadi Nilai Enum

Cara mengonversi nilai angka apa pun menjadi nilai enum ditunjukkan pada contoh berikut. Enum dari 12 elemen telah dideklarasikan dalam kode. Nilai integer akan diambil dari user. Jika nilai input berada dalam rentang 0 hingga 11, maka nilai tersebut akan diubah menjadi nilai enum. Selanjutnya, posisi bulan akan diatur berdasarkan nilai enum, dan string yang diformat akan dicetak nanti:

//Include necessary library
#include <iostream>
using namespace std;

int main()
{
    //Declare the enum
    enum Month { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };
    //Declare necessary variables
    Month enumVar;
    string mVal, pos = "th";
    int mNum;

    //Take any integer value from the user
    cout <> mNum;
    //Check the input
    if(mNum >=0 && mNum <=11)
    {
        //Convert the number into enum
        enumVar = (Month)mNum;

        if (enumVar+1 == 1)
            pos = "st";
        else if(enumVar+1 == 2)
            pos = "nd";
        else if(enumVar+1 == 3)
            pos = "rd";
        cout << "" << enumVar + 1 << pos <<" month of the year." << "n";

    }
    else
        cout << "Invalid number.";
    return 0;
}

Keluaran:

Output berikut akan muncul setelah mengeksekusi kode di atas jika 6 diambil sebagai nilai input:

Contoh 2: Ubah Nilai Enum Menjadi String

Pada contoh sebelumnya, nilai variabel enum diakses. Namun, jika Anda ingin mencetak teks tertentu untuk nilai enum tertentu, maka Anda harus menggunakan pernyataan bersyarat. Cara mengubah nilai enum menjadi string menggunakan pernyataan switch case ditunjukkan pada contoh berikut. Enum dari 7 elemen telah dideklarasikan dalam kode di mana nama enum adalah nama 7 hari kerja. Setelah mengambil input dalam 0 hingga 6, nilai nilai enum yang sesuai akan diubah menjadi nama hari kerja dengan menggunakan pernyataan switch. Nilai yang dikonversi akan dicetak nanti.

//Include necessary library
#include <iostream>
using namespace std;

//Declare the enum
enum Weekdays { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };

/*
function will convert the enum values
into the string value
*/
void convert_to_string(Weekdays wVal)
{
    string weekday;
    switch(wVal) {
        case Sunday:
            weekday = "Sunday";
            break;
        case Monday:
            weekday = "Monday";
            break;
        case Tuesday:
            weekday = "Tuesday";
            break;
        case Wednesday:
            weekday = "Wednesday";
            break;
        case Thursday:
            weekday = "Thursday";
            break;
        case Friday:
            weekday = "Friday";
            break;
        case Saturday:
            weekday = "Saturday";
    }

    cout << "weekday name is " << weekday << "n";

}

int main()
{
    //Declare necessary variables
    Weekdays enumVar;
    string wVal;
    int mNum;

  ;   //Take any integer value from the user
    cout <> mNum;
    //Check the input
    if(mNum >=0 && mNum <=6)
    {
        enumVar = (Weekdays)mNum;
        convert_to_string(enumVar);
    }
    else
        cout << "Invalid number.";

    return 0;
}

Keluaran:

Output berikut akan muncul setelah mengeksekusi kode di atas jika 3 diambil sebagai nilai input:

Contoh 3: Tetapkan Nilai yang Berbeda untuk Enum

Disebutkan sebelumnya bahwa nilai default awal dari enum adalah 0. Cara untuk mendeklarasikan enum adalah dengan mendefinisikan setiap nilai secara terpisah dan mengakses nilai tertentu, seperti yang ditunjukkan pada contoh berikut. Enum dari 5 elemen telah dideklarasikan dalam kode di mana nilai non-sekuensial telah ditetapkan untuk setiap elemen. Nilai “Biru” akan dicetak nanti:

//Include necessary library
#include <iostream>

using namespace std;

int main() {

    //Declare the enum
    enum colors { Red = 10, Green = 30, Blue = 20, White = 40, Black = 50};

    //Declare enum variable with value
    colors enumCol = Blue;

    //Print the value of the enum
    cout << "value of 'Blue' is : " << enumCol << "n";

    return 0;
}

Keluaran:

Output berikut akan muncul setelah mengeksekusi kode di atas:

Contoh 4: Hitung Ukuran Enum

Cara menghitung ukuran enum ditunjukkan pada contoh berikut. Enum dari 5 elemen telah dideklarasikan dalam kode. Variabel penghitung telah digunakan untuk menghitung jumlah total elemen enum. Loop “for” telah digunakan untuk mengulangi nilai enum dari awal hingga akhir dan menambah nilai variabel penghitung sebanyak satu di setiap iterasi.

//Include necessary library
#include  <iostream>

using namespace std;

int main()
{
    //Declare the enum
    enum marks {CT, Attendence, Assignment, Mid, Final };
    //Initialize the counter variable
    int counter = 1;

    /*
    Iterate the values of the enum using loop
    to count the total number of elements of the enum
    */
    for(int i = CT; i < Final; i++)
    {
        counter++;
    }

    cout << "Total number of elements is: " << counter << "n";
    return 0;
}

Keluaran:

Output berikut akan muncul setelah mengeksekusi kode di atas:

Kesimpulan:

Pencacahan dapat digunakan untuk memecahkan berbagai jenis masalah pemrograman di C++. Tujuan useran pencacahan telah dijelaskan di sini dengan menggunakan berbagai contoh. Saya berharap, para coder C++ yang baru akan dapat memahami useran enumerasi dan menerapkannya dalam kode mereka dengan benar setelah membaca tutorial ini.

Related Posts