آموزش نوع شمارشی enum در C++

آموزش نوع شمارشی enum در C++ (به زبان کاملا ساده)

folderساختارها
comments1 دیدگاه
اساطیر زبان

در این آموزش، با نحوه کار با متغیر شمارشی (ENUM) آشنا می شوید. همچنین، یاد خواهید گرفت که enum چه زمانی در برنامه نویسی++C استفاده می شود.

داده شمارشی نوعی داده تعریف شده توسط کاربر است که شامل یک سری مقادیر ثابت است. برای تعریف داده شمارشی، کلید واژه ی enum استفاده می شود.

 


سی پلاس پلاس

توی این پک فوق العاده، سی پلاس پلاس رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با سی پلاس پلاس به عمق فهم برنامه نویسی شیرجه بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

 


برنامه نویسی شبکه معماری کامپیوتر هوش مصنوعی و تجاری

توی این پک فوق العاده، صفرتاصد مبانی برنامه نویسی رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با صفرتاصد مبانی برنامه نویسی اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

enum season { spring, summer, autumn, winter };

در بالا نام داده شمارشی season است و spring، summer، autumn و winter مقادیر season هستند.

به طور پیش فرض spring برابر ۰، summer برابر ۱ و به همین ترتیب. می توانید مقدار پیش فرض عنصر enum را در هنگام تعریف تغییر دهید.

enum season

{ spring = 0,

summer = 4,

autumn = 8,

winter = 12

};

تعریف نوع داده شمارشی

هنگامی که یک نوع داده شمارشی ایجاد می کنید، تنها طرحی برای متغیر ایجاد می شود. در اینجا چگونگی ایجاد متغیرهایی از نوع enum را خواهید دید.

enum boolean { false, true };

// inside function

enum boolean check;

در قطعه کد بالا متغیر check از نوع enum boolean ایجاد شده است.

در اینجا راه دیگری برای تعریف متغیر check با استفاده از ساختاری متفاوت ارائه شده است.

enum boolean

{

false, true

} check;

مثال ۱ : نوع شمارشی

  1. #include <iostream>
  2. using namespace std;
  3. enum week { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };
  4. int main()
  5. {
  6. week today;
  7. today = Wednesday;
  8. cout << “Day ” << today+1;
  9. return 0;
  10. }

خروجی

Day 4

مثال ۲ : تغییر مقدار پیش فرض Enum

  1. #include <iostream>
  2. using namespace std;
  3. enum seasons { spring = 34, summer = 4, autumn = 9, winter = 32};
  4. int main() {
  5. seasons s;
  6. s = summer;
  7. cout << “Summer = ” << s << endl;
  8. return 0;
  9. }

خروجی

Summer = 4

چرا enum در برنامه ++C استفاده می شود؟

یک متغیر enum فقط یک مقدار را از بین مقادیر ممکن می گیرد. در کد زیر داریم:

  1. #include <iostream>
  2. using namespace std;
  3. enum suit {
  4. club = 0,
  5. diamonds = 10,
  6. hearts = 20,
  7. spades = 3
  8. } card;
  9. int main()
  10. {
  11. card = club;
  12. cout << “Size of enum variable ” << sizeof(card) << ” bytes.”;
  13. return 0;
  14. }

خروجی

Size of enum variable 4 bytes.

خروجی به این دلیل ۴ است که اندازه یک عدد صحیح ۴ بایت است.

متغیر های enum روش خوبی برای کار با flag ها هستند.

می توان همین کار را با استفاده از struct هم انجام داد. با این حال، کار با enum به شما کارایی و انعطاف پذیری می دهد.

چگونه از enum برای flag ها استفاده کنیم؟

به مثال زیر توجه کنید.

  1. enum designFlags {
  2. ITALICS = 1,
  3. BOLD = 2,
  4. UNDERLINE = 4
  5. } button;

فرض کنید یک button برای برنامه ویندوز طراحی کرده اید که با آن می توان flag های ITALICS، BOLD و UNDERLINE را برای کار با متن تنظیم کرد.

دلیلی وجود دارد که تمام مقادیر ثابت توانی از ۲ را در سودوکد بالا دارند.

// In binary

ITALICS = 00000001

BOLD = 00000010

UNDERLINE = 00000100

از آنجا که مقادیر ثابت توان ۲ هستند، می توانید دو یا چند flag را یک بار بدون همپوشانی با استفاده از OR کردن بیت ها ترکیب کنید. این کار اجازه می دهد دو یا چند flag را در یک زمان انتخاب کنید. مثلا،

  1. #include <iostream>
  2. using namespace std;
  3. enum designFlags {
  4. BOLD = 1,
  5. ITALICS = 2,
  6. UNDERLINE = 4
  7. };
  8. int main()
  9. {
  10. int myDesign = BOLD | UNDERLINE;
  11. // ۰۰۰۰۰۰۰۱
  12. // | ۰۰۰۰۰۱۰۰
  13. // ___________
  14. // ۰۰۰۰۰۱۰۱
  15. cout << myDesign;
  16. return 0;
  17. }

خروجی

۵

وقتی خروجی ۵ باشد، می دانید که همیشه bold و underline استفاده می شوند.

همچنین می توانید flag خود را به نیازمندی هایی که می خواهید اضافه کنید.

if (myDesign & ITALICS) {

// code for italics

}

در اینجا، ما italics را به طراحی خود اضافه کردیم. توجه داشته باشید که فقط کد برای italics در ساختار if نوشته شده است.

بدون استفاده از enum ها می توانید تقریبا هر چیزی را در ++C پیاده سازی کنید. با این حال، در شرایط خاص می توانند بسیار مفید باشند. این نکته ای است که برنامه نویسان خوب را از برنامه نویسان بزرگ متمایز می کند.

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in,

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

1 دیدگاه. ارسال دیدگاه جدید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست