سلامنقل قول:
فکر می کنم مشکل شما با دستور define هست. این دستور کمک می کنه که یک متغیر رو در زمان compile تعریف و مقدار دهی کنیم. این دستور معمولا در ایتدا قرار می گیره.
دستور های if defined هم چک می کنه که آیا یک متغیر define شده یا نه.elif هم که همون else if هست به عبارتی.