How to use enumeration (enum) in C

7 Answers

0 votes
#include <stdio.h>
  
// defined enum, SUNDAY start from 0 by default, MONDAY value increased by 1 to 1, 
// TUESDAY is 2, ...
enum WEEK { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY };
  
int main(void)
{
    enum WEEK today = MONDAY;
  
    if(today == SUNDAY)
       printf("sanday");
    else if(today == MONDAY)
            printf("monday"); // monday
         else if(today == TUESDAY)
                 printf("tuesday");
    return 0;
}


/*
run:

monday

*/


answered Jul 17, 2014 by avibootz
edited Nov 4, 2015 by avibootz
0 votes
#include <stdio.h>
 
// SUNDAY start from 1 by the programmer, MONDAY value increased by 1 to 2, TUESDAY is 3, ...
enum WEEK { SUNDAY = 1, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY };
 
int main(void)
{
    printf("%d %d %d %d %d %d %d", SUNDAY, MONDAY, TUESDAY, 
                                   WEDNESDAY, THURSDAY, FRIDAY, SATURDAY);
    // 1 2 3 4 5 6 7

    return 0;
}



/*
run:

1 2 3 4 5 6 7

*/



answered Jul 17, 2014 by avibootz
edited Nov 4, 2015 by avibootz
0 votes
#include <stdio.h>
  
// A = 1, B = 2, C = 3, D = 92, E = 93, F = 94, G = 95, H = -1, I = 0, J = 1
enum LETTERS { A = 1, B, C, D = 92, E, F, G, H = -1, I, J };
  
int main(void)
{
    printf("%d %d %d %d %d %d %d %d %d %d", A, B, C, D, E, F, G, H, I, J);
    // 1 2 3 92 93 94 95 -1 0 1
 
    return 0;
}



/*
run:

1 2 3 92 93 94 95 -1 0 1

*/


answered Jul 17, 2014 by avibootz
edited Nov 4, 2015 by avibootz
0 votes
#include <stdio.h>
 
enum { BACKSPACE = '\b', TAB = '\t' , NEWLINE = '\n', RETURN = '\r' };
 
int main(void)
{
    printf("abc %c def %c ghi %c jkl %c mno", TAB,  TAB, NEWLINE, TAB);

    return 0;
}



/*
run:

abc      def     ghi
 jkl     mno

*/


answered Jul 17, 2014 by avibootz
edited Nov 4, 2015 by avibootz
0 votes
#include <stdio.h>

enum months { JAN = 1, FEB, MAR, APR, MAY, JUN, 
              JUL, AUG, SEP, OCT, NOV, DEC }; 

int main(int argc, char **argv) 
{ 
    printf("%d\n", JAN);
    printf("%d\n", FEB);
    printf("%d\n", MAR);
    printf("%d\n", APR);
    printf("%d\n", MAY);
    printf("%d\n", JUN);
    printf("%d\n", JUL);
    printf("%d\n", AUG);
    printf("%d\n", SEP);
    printf("%d\n", OCT);
    printf("%d\n", NOV);
    printf("%d\n", DEC);
    
    return 0; 

}


/*
  
run:

1
2
3
4
5
6
7
8
9
10
11
12

*/

 



answered Nov 4, 2015 by avibootz
0 votes
#include <stdio.h>
 
enum colors { RED, GREEN, BLUE };
 
void print_color(enum colors color)
{
    switch (color)
    {
       case RED:
         puts("RED");
         break;
       case GREEN:
         puts("GREEN");
         break;    
       case BLUE:
         puts("BLUE");
         break;
       default:
         puts("Color not exist");
         break;        
    }
}
 
int main(void) 
{
    print_color(GREEN);
     
    enum colors color;
    printf("Enter a number between 0 and 2: ");
    scanf("%d", (int*)&color);
    print_color(color);
   
    return 0;
}
 
    
/*
run:
  
GREEN
Enter a number between 0 and 2: 2
BLUE
 
*/

 



answered 18 hours ago by avibootz
0 votes
#include <stdio.h>
 
enum week_days { SUN = 1, MON, TUE, WED, THU, FRI, SAT };
 
const char* const days[] = { 
                [SUN] = "Sun" , [MON] = "Mon", [TUE] = "Tue", [WED] = "Wed", 
                [THU] = "Thu", [FRI] = "Fri", [SAT] = "Sat", 
            };
 
int main(void) 
{
    printf("%s\n", days[1]);
    printf("%s\n", days[2]);
    printf("%s\n", days[3]);
     
    return 0;
}
 

    
/*
run:
  
Sun
Mon
Tue
 
*/

 



answered 18 hours ago by avibootz

Related questions

1 answer 222 views
1 answer 202 views
1 answer 235 views
1 answer 178 views
1 answer 100 views
100 views asked Jan 28, 2023 by avibootz
1 answer 149 views
149 views asked Mar 13, 2022 by avibootz
...