Exercise 3-16 (Colors enumeration in C/C++)
Chapter_3 Exercise_3-15 Enum | Union Exercise_3-17 |
Exercise 3-16 TCP1, p. 228
Exercise 3-16. Create a program that uses an enumeration of colors. Create a variable of this enum type and print out all the numbers that correspond with the color names, using a for() loop.
CONTENTS: colors.c Colors.cpp
colors.c download
#include <stdio.h> // for printf(), putchar()
typedef enum Colors // type `enum Colors' defined in C
{
white, yellow, green, blue, orange, red, brown, black // 0, 1, ..., 7
} Colors; // type `Colors' defined in C
void printColor(enum Colors);
void printColor(Colors);
int main()
{
enum Colors color; // Colors color;
for (color = white; color <= black; color++)
{printColor(color);}
printColor(color);
putchar('\n');
int col;
for (col = white; col <= black; col++)
{printColor(col);}
printColor(col);
return 0;
}
void printColor(Colors color)
{
switch(color)
{
case white:
printf("white: %d\n", color);
break;
case yellow:
printf("yellow: %d\n", color);
break;
case green:
printf("green: %d\n", color);
break;
case blue:
printf("blue: %d\n", color);
break;
case orange:
printf("orange: %d\n", color);
break;
case red:
printf("red: %d\n", color);
break;
case brown:
printf("brown: %d\n", color);
break;
case black:
printf("black: %d\n", color);
break;
default:
printf("unknown color: %d\n", color);
break;
}
}
/*
gcc colors.c -o colors
./colors
white: 0
yellow: 1
green: 2
blue: 3
orange: 4
red: 5
brown: 6
black: 7
unknown color: 8
white: 0
yellow: 1
green: 2
blue: 3
orange: 4
red: 5
brown: 6
black: 7
unknown color: 8
*/
Colors.cpp download
#include <iostream>
using std::cout;
using std::endl;
enum Colors // types `Colors', `enum Colors' defined in C++
{
white, yellow, green, blue, orange, red, brown, black // 0, 1, ..., 7
};
void printColor(enum Colors);
void printColor(Colors);
int main()
{
enum Colors color; // Colors color;
for (color = white; color <= black; color = Colors(color+1))
{printColor(color);}
printColor(color);
cout << endl;
int col;
for (col = white; col <= black; col++)
{printColor(Colors(col));} // int to Colors
printColor(Colors(col));
return 0;
}
void printColor(Colors color)
{
switch(color)
{
case white:
cout << "white: " << color << endl;
break;
case yellow:
cout << "yellow: " << color << endl;
break;
case green:
cout << "green: " << color << endl;
break;
case blue:
cout << "blue: " << color << endl;
break;
case orange:
cout << "orange: " << color << endl;
break;
case red:
cout << "red: " << color << endl;
break;
case brown:
cout << "brown: " << color << endl;
break;
case black:
cout << "black: " << color << endl;
break;
default:
cout << "unknown color: " << color << endl;
break;
}
}
/*
g++ Colors.cpp -o Colors
./Colors
white: 0
yellow: 1
green: 2
blue: 3
orange: 4
red: 5
brown: 6
black: 7
unknown color: 8
white: 0
yellow: 1
green: 2
blue: 3
orange: 4
red: 5
brown: 6
black: 7
unknown color: 8
*/
Note: See also enum_iterator on StackOverflow.
Chapter_3 Exercise_3-15 Enum | BACK_TO_TOP | Union Exercise_3-17 |
Comments
Post a Comment