Coding & Programming 106

[C/C++, SFML] 3. 기본 윈도우(RenderWindow) 출력하기

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و SFML의 기본 윈도우(RenderWindow)를 출력해 보겠습니다. RenderWindow는 그래픽 모듈의 메인 클래스이며 부모 클래스는 Window, RenderTarget, 최상위 클래스는 GlResource, NonCopyable 클래스로 구성되어 있습니다. Window 클래스와 같이 RenderWindow 클래스도 OpenGL 항목을 렌더링 할 수 있습니다. RenderWindow 클래스의 생성자(Constructor)는 다음과 같습니다. 디폴트 생성자 sf::RenderWindow::RenderWindow ( VideoMode mode, const String & title, Uint32 style = Style::Default, const C..

[C/C++, SFML] 2. SFML 라이브러리 소개 및 Visual Studio 2019 설정

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و SFML 라이브러리는 크게 Graphics, Audio, Network, System, Window의 다섯 가지 모듈로 구성되어 있습니다.Audio 모듈Sound, streaming, recording 등 소리를 표현하고 레코딩하기 위한 하기 위한 모듈입니다.Graphics 모듈sprite, text, shape 등 2D 그래픽을 위한 용도의 모듈로 Sprite, Image, Shape, Texture, Color 등의 그래픽 관련 클래스들로 구성되어 있습니다.Network 모듈Socket을 기반으로 한 통신, 유틸리티와 HTTP, FTP와 같은 하이레벨 네트워크 프로토콜을 지원합니다.System 모듈Clock, Thread, Mutex, Time, Ve..

[C/C++, SFML] 1. SFML 프로그래밍 시작

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 예전에 가지고 놀던 사이먼(Simon) 게임기가 생각이 나서 프로그램으로 만들어 보자는 생각을 했습니다. 일종의 기억력 테스트 게임이라고 알고 있었는데 정작 이름은 모르고 있었더라구요. 구글링 해서 찾아보니 위키에서 Simon Game이라고 알려주네요. Simon(game) : en.wikipedia.org/wiki/Simon_(game) 그런데 장난감부터 컴퓨터 프로그램, 스마트폰 앱들이 많이 있긴 하지만 생각보다 알고리즘이 간결하여 스터디도 할겸 이미지 제작부터 코딩까지 해 보기로 하였습니다. 아무래도 이미지, 효과음 등을 표현하기에는 Visual Studio 2019만으로는 표현이 부족하다는 생각이 들어 관련 라이브러리들을 찾아봤습니다. 간단히 2D..

[C/C++] 단위 변환(길이, 시간, 온도, 속도, 넓이, 무게) 하기

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 일상 생활에서 자주 사용하는 단위를 변환하는 예제입니다. 단위변환 대상은 길이, 온도, 시간, 부피, 속도, 넓이, 무게입니다. 프로그램 소스코드(Source Code): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 9..

[C/C++] 배열 메모리 초기화(리셋) 및 복사(reset array & copy array)

[C/C++] 배열 메모리 초기화(리셋) 및 복사(reset array & copy array) 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 이번 포스팅은 정수형 배열, 문자형 배열, 구조체형 배열의 초기화(리셋)와 복사 방법입니다. 작성한 예제를 보면서 정리하겠습니다. 예제(Example): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80..

[C언어 기초코딩: 예제로 간단 정리] 12. 동적 메모리 할당과 파일 입출력(dynamic memory allocation, file input output)

JollyTree의 C언어 기초코딩: 예제로 간단 정리 - 12. 동적 메모리 할당과 파일 입출력(dynamic memory allocation, file input output) 동적 메모리 할당(dynamic memory allocation) 메모리를 할당하는 방법은 크게 정적(static) 할당과 동적(Dynamic) 할당이 있습니다. 정적 할당은 지난 8.배열(array)에서 정리한 배열이 대표적인 정적 할당 방법입니다. 배열과 같은 정적 할당은 프로그램이 시작되기 전에 미리 크기가 결정됩니다. 더 쉽게 표현하면 개발자가 크기를 예측하여 적절한 크기를 결정하여 코딩합니다. int num[10]; char name[50]="Hong Gildong; float avg[5]; 정적할당은 메모리의 크기가..

[C언어 기초코딩: 예제로 간단 정리] 11. 전처리기(Preprocessor)

JollyTree의 C언어 기초코딩: 예제로 간단 정리 - 11. 전처리기(Preprocessor) 안녕하세요 JollyTree입니다(•̀ᴗ•́)و C언어는 소스코드를 컴파일하기 전에 소스코드를 처리하는 기능을 가지고 있습니다. 컴파일러에게 컴파일 할때 이렇게 처리해줘 라고 의사를 전달하는 것으로 이것을 전처리기라고합니다. 소스코드에 헤더파일을 포함시키는 용도인 #include, 숫자, 문자열 등을 기호로 표현하는 #define 등이 전처리기에 지시어에 해당됩니다. 전처리를 사용하면 소스코의 가독력을 높일 수 있을 뿐만 아니라, 윈도우, 리눅스 등 플랫폼을 고려하여 소스코드 영역을 구분하여 컴파일 할 수도 있고, 소스코드의 라인, 파일명 등을 컴파일된 코드가 실행 될 때 출력할 수 있습니다. 전처리기라는..

[C언어 기초코딩: 예제로 간단 정리] 10. 구조체(structure)

JollyTree의 C언어 기초코딩: 예제로 간단 정리 - 10. 구조체(structure) 안녕하세요 JollyTree입니다(•̀ᴗ•́)و 구조체(structure)는 서로 다른 자료형(char, int, float, double 등) 변수들을 함께 그룹으로 만들수 있는 문법입니다. 구조체를 선언하는 형식은 다음과 같습니다. struct 구조체태그명 { 자료형 변수명; // 멤버 변수 자료형 변수명; // 멤버 변수 자료형 변수명; // 멤버 변수 ... }; 구조체 선언 예: struct student_tag { int number; //멤버 변수 char name[3]; //멤버 변수 char bloodtype; //멤버 변수 int age; }; 구조체는 코딩할 때 많이 사용하는 문법으로 구조체 ..

[C언어 기초코딩: 예제로 간단 정리] 9. 포인터(Pointer)

JollyTree의 C언어 기초코딩: 예제로 간단 정리 - 9. 포인터(Pointer) 안녕하세요 JollyTree입니다(•̀ᴗ•́)و 모든 변수는 컴퓨터의 메모리 공간에 저장되며 저장과 동시에 운영체제가 정한 주소를 할당받게 됩니다. 그럼 선언한 변수가 메모리의 어느 주소에 할당되었는지 그리고 어떤 주소에 어떤 값이 저장되어 있는지는 어떻게 확인할까요 ? C언어의 강력한 기능인 포인터(Pointer)를 통해 가능하게 됩니다. 아래와 같은 변수를 선언했다고 가정해 봅시다. 참고로, 선언된 변수의 크기는 sizeof(score);, sizeof(ch);, sizeof(vaue); 로 확인할 수 있습니다. int score = 20; //정수형 4바이트 크기로 메모리에 할당 char ch = 'j'; //문..

[C언어 기초코딩: 예제로 간단 정리] 7.전역변수(Global Variable)와 지역변수(Local Variable) 그리고 변수의 특성(feat. 함수) - static, extern 자료 추가

JollyTree의 C언어 기초코딩: 예제로 간단 정리 - 7.전역변수(Global Variable)와 지역변수(Local Variable) 그리고 변수의 특성(feat. 함수) - static, extern 자료 추가 정리 내용 요약 - 변수의 범위, 유형, 속성, 생존 시간 - static, extern 키워드를 지정한 함수와 변수 선언 방법 안녕하세요 JollyTree입니다(•̀ᴗ•́)و 지난 번 포스팅 했던 전역변수&지역변수와 관련해서 static, extern에 대한 기록이 부족하여 추가합니다. static 키워드는 함수에도 적용할 수 있습니다. 규모가 있는 프로그램들은 여러 개의 소스코드 파일(a.cpp, b.cpp, c.cpp...)로 구성됩니다. a.cpp내에 func()함수를 정의했다고 ..