본문 바로가기

분류 전체보기

[C/C++ 콘솔] 콘웨이의 생명 게임 지난주에 과제로 제작한 콘솔 버전 콘웨이의 생명 게임. 생명 게임이라는 거 자체를 처음 접했는데, 이걸 가지고 여러 대단한 작품들을 만들어내는 걸 구경하니까 신기하고 재밌어 보였다. 제작 시간은 한 6시간 정도? 이번에 제작하면서 뭔가 특별한 건 없었다. 지금 와서 생각난 거지만 블록 배치를 위해 마우스를 사용하여 배치하는 방식을 사용했으면 좋았을 텐데 하는 생각이 든다. 더보기
C/C++ 기초 - 열거체 ( Enumeration ), 공용체 ( Union ) 열거체 #include enum Number { One = 1, Two, Three, Four, Five, Six, Seven, Eight, Nine, Zero = 0 }; int main(void) { int a = One; int b = Eight; int c = Zero; printf("a : %d / b : %d / c : %d", a, b, c); // 결과 1, 8, 0 return 0; } '열거체'는 상수 값을 가지는 식별자입니다. 값이 정의되지 않으면 0부터 시작해서 1씩 증가하며 값이 정해지고, 값이 정의가 되었다면 정의된 값 이후부터 1씩 증가하게 됩니다. 예시에서 처음에 1로 정의하였기 때문에 1부터 9까지 증가하면서 값이 정의되었고, Zero에서 0을 정의하여 Zero는 0이 되었.. 더보기
C/C++ 기초 - 구조체 ( Struct ), 비트 필드 ( Bit field ) 구조체 #include struct My_struct { int a; int i; short b; char c; }; struct My_struct_2nd { int a : 5; int i : 3; short b : 7; char c : 4; }; int main(void) { struct My_struct s1; struct My_struct_2nd s2; s1.a = 10; s1.b = 23; s2.c = 'a'; printf("My_struct size : %d\n", sizeof(My_struct));// 결과 12 printf("My_struct_2nd size : %d", sizeof(My_struct_2nd));// 결과 8 return 0; } '구조체'는 여러 변수를 묶어서 하나의 자료형.. 더보기
C/C++ 기초 - 변수 ( Variable ) 변수 #include using namespace std; int main (void) { int a = 10; int b; b = 20; return 0; } 변수는 값을 저장하는 메모리 공간을 프로그래머가 사용하기 쉽게 나타낸 것입니다. 변수를 사용하기 위해서 선언과 정의가 이루어져야 하고 선언과 정의를 각각 나눠서 할 수도 있으며 값을 재정의 할 수도 있습니다. 선언 변수의 선언은 '자료형 변수명'입니다. 예시 코드에서 'int b;' 부분이 선언입니다. int라는 자료형 변수 b를 만들겠다고 선언한 것입니다. 정의 변수의 정의는 '변수명 = 값'입니다. 예시 코드에서 'b = 20;'이 정의 부분입니다. b라는 변수에다 20이라는 값을 넣어주겠다는 의미입니다. 선언 및 정의 C/C++ 대부분의 상.. 더보기
C/C++ 기초 - 함수 ( Function ) 함수 #include using namespace std; int sum(const int& a, const int& b) { return a + b; } void function(int a, int b) { printf("함수가 호출되었습니다.\n매개 변수의 합은 %d입니다.", sum(a, b)); // sum 함수 종료 후 -> printf("함수가 호출되었습니다.\n매개 변수의 합은 %d입니다.", 30); } int main(void) { int left = 10; int right = 20; function(left, right); // 출력 결과 함수가 호출되었습니다.\n매개 변수의 합은 30입니다. return 0; } '함수'는 간단하게 설명하자면 특정 기능을 수행하는 코드 모음입니다. .. 더보기
C/C++ 기초 - 포인터 ( Pointer ) 포인터 #include using namespace std; int main(void) { int a = 10; int* b = &a; int** c = &b; printf("변수 a의 메모리 주소 : %p\n", &a); printf("포인터 변수 b의 값 : %p\n", b); printf("포인터 변수 c의 참조 값 : %p\n\n", *c); // 세 출력 값은 모두 같다. printf("변수 a의 값 : %d\n", a); printf("포인터 변수 b의 참조 값 : %d\n", *b); printf("포인터 변수 c의 이중 참조 값 : %d\n", **c); // 세 출력 값은 모두 같다. return 0; } '포인터'는 '메모리 주소를 저장하는 자료형'입니다. 모든 자료형에 애스터리스크 (.. 더보기
C/C++ 기초 - 배열 ( Array ) 배열 #include using namespace std; int main(void) { int a[10] = { 0,1,2,3,4,5,6,7,8,9 }; int b[2][3] = { {1, 2, 3}, {4, 5, 6} }; a[0] = 10; *(a + 9) = 15; cout 더보기
[C/C++ 콘솔] 슬롯 머신 학원 주말 과제로 슬롯머신 만들기가 있어서 제작했다. 제작 시간은 12시간 정도 되는 거 같다. 로직 자체는 어렵지 않았는데 더블 버퍼링 적용시키는 거와 꾸미는 부분에서 시간이 좀 들었다. ▽ main.cpp 더보기 #pragma once #include #include "function.h" #include "printers.h" #include "controller.h" #include "result.h" int main() { intslot[3][10] = {}; intremain = 0; intmoney = 10000; intbetting = 10; intpre_time = get_time(); intkey = 0; intdelay = 0; COMMAND_STATEcmd_state = COMMAN.. 더보기