/* 2. 다음 프로그램의 출력을 써라. */
#include <stdio.h>
#define MALE (1<<0)
#define TALL (1<<1)
#define RICH (1<<2)
#define CUTE (1<<3)
#define SMART (1<<4)
int number[5] = { 1, 2, 3, 4, 5 }; // 여기를 바꿀 것
class Person {
public:
char data;
Person() { data = 0; }
void set(unsigned char mask) {
data = data | mask;
}
void reset(unsigned char mask) {
data = data & (~mask);
}
void am() {
if (data == SMART) printf("똑똑하고 ");
else printf("멍청하고 ");
if (data == CUTE) printf("잘생기고 ");
else printf("못생기고 ");
if (data == RICH) printf("부자고 ");
else printf("가난하고 ");
if (data == TALL) printf("키큰 ");
else printf("키도작은 ");
if (data == MALE) printf("여자.\n");
else printf("남자.\n");
}
};
void main()
{
Person I;
for(int n = 0; n < 5; n++) {
if (number[n]/2*2 == number[n]) {
I.set(1<<n);
} else {
I.reset(1<<n);
}
}
I.am();
}