All Pages
class (2) - this 포인터
class (2) - this 포인터
2024.09.24this 는 클래스 포인터다. #include using namespace std;class MyClass{public: void printThis() { std::cout #include using namespace std;class MyClass{public: void printThis(MyClass *ptr) { std::cout
Class (1) - 클래스, 캡슐화
Class (1) - 클래스, 캡슐화
2024.09.24클래스를 바라보는 관점프로그램은, Data 와 Logic 으로 이루어진다.프로그래밍에서 Data 는 기본 자료형, 복합 자료형, 구조체(사용자 정의 자료형), 클래스(구조체+함수) 로 사용한다. 프로그래밍에서 Data 는 자료형과 초기화 그리고 변수명으로 사용이 모두 동일하다.클래스도 마찬가지다.클래스라는 자료형을 선언하고, 변수명으로 사용하고, 초기화하는 관점으로 접근해야 한다.C++ OOP의 목적은, class 를 int, char 처럼 사용하게 만드는 것이다. (참고) 편의상, 구조체에 함수를 포함하면 클래스라고 단순히 설명한다. 하지만, C언어의 구조체와 C++의 구조체는 다르다.그리고 C++의 구조체와 C++의 클래스는 한가지 차이점이 있다.기본 자료형과 살펴보자.int a; 선언과, a = ..
<Ubuntu> GitHub in Qt
<Ubuntu> GitHub in Qt
2024.09.24Qt Creator에서 Git 저장 후, GitHub 업로드 방법만 간단히 요약합니다. ⏩ 작업 환경(2024.Sep.23) Ubuntu 22.04, Qt Creator 14.0.1 Based on Qt 6.7.2 (GCC 10.3.1, X86_64), Qt Creator 원격 저장소 공식문서 링크 ⏩ 요약더보기GitHub Terminal 사용법 요약git initgit commit -m "입력할메시지"git branch -M maingit remote add origin 깃허브주소git push -u origin main GitHub & Qt Creator 사용법 요약Git 설치Git 시작Git 로컬 저장소 커밋GitHub 원격 저장소 생성GitHub 원격 저장소 설정Qt Creator Push 단..
Stream (2) - 표준 입출력 함수
Stream (2) - 표준 입출력 함수
2024.09.130. 사전 지식더보기 리눅스 표준 입출력 스트림표준 스트림 : stdin, stdout, stderr 별도의 스트림 생성 없이 바로 사용 가능표준 입출력 함수 : C, C++ 등에서 제공하는 함수로, 함수 내부에 stdin, stdout 표준 스트림과 버퍼를 사용하도록 구현파일, 소켓, DB 사용 : 개발자가 명시적으로 스트림을 생성하여 사용 get 함수 실행 결과가 변수, 반환값 이면 get, scan, input 함수명 사용input 의미는 소스코드로 가져오는 것이다.키보드, 텍스트 파일(원본) → 함수 반환값, 변수(목적지) 등으로 가져올 때원본에서 데이터를 가져오는 이미지 put함수 실행 결과가 변수, 반환값 이 아니라면 put, print, output 함수명 사용output 의미는 소스코드 ..
Surface, Ubuntu 초기 설정 (Kernel 버전 고정)
Surface, Ubuntu 초기 설정 (Kernel 버전 고정)
2024.09.12Sep.09.2024Ubuntu 22.04.4Surface Pro 9 ●발생"서피스 프로 9"에서 우분투 24.04.4 듀얼 부팅시 프리즈 발생우분투 재설치 후에도 여전히 부팅 프리즈 발생 ●원인레딧에서 linux-surface 커널 버전 6.10 업데이트 후, 프리즈 발생하니 커널 다운그레이드 추천 확인*문제버전linux-headers-6.10.5-surface-1linux-image-6.10.5 -surface-1 ●해결linux-surface 커널 다운그레이드 ●추가괜히 밀었지만, 겸사겸사 초기 세팅 정리 + 24.04에서 22.04 으로 변경Qt 셋업 테스트 ○ 커널 버전 명시하여 설정sudo apt install linux-image-6.9.3-surface-1 linux-headers-6.9..
Code Blocks 설치, 삭제
Code Blocks 설치, 삭제
2024.09.051. APT 패키지 매니저로 설치 sudo apt update; sudo apt upgrade -y; sudo apt install g++ sudo apt install codeblocks -y sudo apt install codeblocks-contrib -y 2. 삭제sudo apt autoremove --purge codeblocks -y
Stream (1) - Buffer
Stream (1) - Buffer
2024.09.03Stream 1. Stream을 사용하는 이유 프로그램은 정보를 전달 하거거나, 정보를 전달받는 작업의 연속이다.정보를 주고받기 위해 Computer는 수많은 입출력(I/O) 장치와 연결된다. Keyboard, Mouse, Monitor, Printer 등 모든 입출력 장치 마다 입출력 방법을 별도로 만드는 것은 불가능하다. 이것은 마치 C++ 언어가 CPU 제조사마다 다른거나, 애플이 C타입을 쓰지 않고 8핀, 12핀 독자 규격을 사용했던 것과 같다. Stream은 여러 입출력 장치들 간에 데이터를 읽고 쓰는 통일된 방법이다.입출력 장치의 종류에 상관없이, 운영체제는 Stream 표준으로 입출력 기기간에 데이터를 주고받는다.장치가 달라지더라도, 항상 똑같은 절차를 통해 데이터를 읽고 쓰는 방법을 ..
콘솔 게임 맵
콘솔 게임 맵
2024.08.22이모지 링크 https://kr.piliapp.com/twitter-symbols/https://www.unicode.org/emoji/charts/full-emoji-list.htmlhttps://kr.piliapp.com/symbol/#graphic 1)#include #define icon_Size sizeof "🔚" // icon size == 5byte#define movable 8#define x_Blocks (movable + 2) // 이동 블럭 수 + 양쪽 벽 2개#define x_Total (icon_Size * x_Blocks) // x 축 전제 크기int main(void){ char map[x_Total] = {"⬛🔚🔙🔚🔙🔚🔙🔚🔙⬛"}; ..
문자 인코딩 1 - 인코딩
문자 인코딩 1 - 인코딩
2024.08.22https://namu.wiki/w/UTF-8#toc UTF-8UTF-8은 가장 많이 사용되는 가변 길이 유니코드 인코딩이다. 켄 톰슨과 롭 파이크( Go 언어 를 만든 사람namu.wiki #include #define iconSZ sizeof "✅" // icon size == 5byte// https://namu.wiki/w/UTF-8#toc// https://www.compart.com/en/unicode/U+2705// UTF-8 Encoding: 0xE2 0x9C 0x85int main(void){ char icon[iconSZ] = "✅"; printf("icon %s size: %ld Byte\n", icon, sizeof icon); char *ptr = icon; ..
rand()와 srand()
rand()와 srand()
2024.08.131. 기본 개념 rand() 임의의 난수 하나를 생성한다. 범위는 0~RAND_MAX, 0~32767(0x7fff) 이다. srand() 시간 값을 매개로 난수를 생성한다. time(NULL) 현재 시간을 초단위로 변경해 반환 2. 기본 사용법 int num = rand() % n; 임의의 0 ~ n-1 범위 중 임의의 수 하나를 생성한다.ex 1.) rand() % 5 의 범위는 0 ~ 4ex 2.) rand() % 9 의 범위는 0 ~ 8 3. 응용 사용법 int i = rand() % n + m; // ex 1.) rand() % 4 + 1 의 범위는 1, 2, 3, 4 (연속된 수)int j = rand() % n * m; // ex 2.) rand() % 4 * 2 의 범위는 0, 2..
[C언어 로직과 순서도] 07. 간단한 프로그램 만들기 2
[C언어 로직과 순서도] 07. 간단한 프로그램 만들기 2
2024.08.13간단한 프로그램 함수로 구현하기 14가위바위보 게임 만들기난수 발생 함수를 사용하여 컴퓨터와 대전이 가능한 가위바보 게임을 만들어 보세요. @참고 사항게임을 위한 각 기능들을 별도의 함수로 만들도록 한다.게임을 위해 필요한 기능으로는 사용자 입력, 컴퓨터 입력, 판정, 결과 출력 등이 있다.각 기능은 다음과 같은 삼수로 구현한다.함수1 : 사용자로부터 입력을 받기 위한 함수이다. 사용자로부터 0, 1, 2, 3의 값을 입력 받을 수 있는데 1, 2, 3은 각 가위, 바위, 보에 대응되는 정숫값이고, 0이 입력되면 결과를 출력한 후 프로그램을 종료한다.단, 지정된 번호 이외의 값이 입력될 경우 오류 메시지를 출력한다.함수2 : 난수 발생 함수를 사용하여 1~3의 값 중 임의의 값을 생성하며 이에 따라..
[C언어 로직과 순서도] 06. 간단한 프로그램 만들기 1
[C언어 로직과 순서도] 06. 간단한 프로그램 만들기 1
2024.08.13구현 방법은 개발자가 선택하세요. 간단한 프로그램 함수로 구현하기 1 사용자에게 숫자 2개를 입력받고, 사칙연산 기호(+, -, *, /, %, //) 를 입력받으면, 그 연산 결과를 출력하라.참고) 예제01, 예제02, 예제03, 예제42 간단한 프로그램 함수로 구현하기 2 사용자가 사각형의 넓이, 원의 넓이, 삼각형의 넓이, 원의 둘레를 선택하고 자동 계산되도록 구현하라.그리고 계산에 필요한 값을 입력받고, 그 결과를 출력하는 프로그램을 구현하라. 참고) 예제04, 예제05, 과제02 사각형의 넓이 = 가로의 길이 × 세로의 길이원의 넓이 = 반지름 × 반지름 × 원주율각형의 넓이 = (1/2) 밑변 × 높 간단한 프로그램 함수로 구현하기 3 사용자가 숫자를 원하는 개수만큼 입력..