C++ 코딩

***혹시 구조체 struct 에 대해서 잘 모르시는 분들은 미리 struct에 대해서 공부한 후에 보세요!*** 구조체 struct, 구조체 응용(*포인터 인수로 사용하기) 1. 클래스의 원리 클래스에 대한 접근은, 현실 세계에 존재하는 특정한 '사물'이 어떠한 일반적인 요소를 가지고 있는지를 관찰하는 것부터 시작된다. 예를 들어, '자동차'라는 사물을 프로그램으로 표현한다고 생각해 보면, 자동차는 차량 번호를 가지고 있을 것이고 어느 정도 양의 연료를 싣고 있을 것이다. 또한 자동차는 차량 번호를 결정하고, 자동차에 연료를 넣고, 차량 번호와 남은 연료의 양을 표시하기 등의 기능을 가지고 있을 것이다. 클래스란, 이러한 사물의 상태 및 특성, 그와 관련된 기능을 정리하여 프로그램으로 표현하기 위해 사..
1. 식과 연산자 '식'은 1 + 2 와 같은 '수식'이다. C++에서는 이러한 식을 코드 안에서 사용한다. C++ 의 식(expression) 대부분은 연산자 (연산하는 것: operator), 피연산자 (연산 대상: operand) 를 조합해서 만든다. 예를 들어 '1 + 2'의 경우 '+'가 연산자, '1'과 '2'가 피연산자가 된다. 또한 식의 '평가(evaluation)' 라는 요소 또한 중요한 개념이다. 평가는, 식의 '계산'을 하는 것이다. 예를 들어, 1+2가 평가되면 3이 된다. 평가된 후의 결과값 3을 가리켜 '식의 값' 이라고 부른다. 2. 식의 값 출력하기 또한 변수를 피연산자로 사용할 수도 있다. 3. 키보드로 입력한 값을 더하기 위는 키보드로 입력한 값을 변수로 저장한 후 더하는..
지금까지 배운 언어들을 활용해서 블랙잭 게임을 만들어 보자. 참고> namu.wiki/w/%EB%B8%94%EB%9E%99%EC%9E%AD(%EC%B9%B4%EB%93%9C%EA%B2%8C%EC%9E%84) 블랙잭(카드게임) - 나무위키 인셔런스(Insurance) 딜러의 오픈된 카드가 에이스일 경우, 딜러가 블랙잭이 나올 가능성에 대비해 보험을 들어두는 것을 말한다. 건 금액의 절반(절반은 상한일뿐이고 절반이하를 지불하는것도 namu.wiki 전부 다 구현하기는 어려워 기본적인 게임 기능만 구현해 보았다. 1. 트럼프 카드 만들기 - 카드의 숫자와 문양 출력하기 - 구조체 활용 2. 플레이어의 손패(손에 들고 있는 패)와 손패의 합(카드의 숫자의 총합) 만들기 - 구조체 활용 3. 카드 섞기 - 스왑,..
동적배열 (vector) 이란 크기가 가변적인 배열이다. 1. What is Vector Container? 메모리의 블럭을 관리해주는 객체 자동으로 메모리를 할당해주는 배열 벡터에 들어가는 자료형은 모두 동일해야 한다. 끝에 삽입 삭제를 하기위해서 쓰는 컨테이너! 동적 배열이다! STL : Standard Template Library, C++을 위한 템플릿 라이브러리! 사이즈보다 더 공간을 잡아서 쓰는 것이 capacity(하단 5번에서 설명) vector 컨테이너는 자동으로 메모리가 할당되는 배열.정도로 생각해 볼 수 있다. 모든 STL 이 그렇듯. template를 사용하기 때문에 데이터 타입은 마음대로 넣을 수 있다. 맨 뒤쪽에서 삽입과 삭제가 가능하다. 중간에 값을 삽입 하거나 삭제할 수도 있..
지금까지 배운 C++ 코딩을 최대한 활용해서 섯다 게임을 만들어 보자. 먼저 필요한 변수들을 생각해 본 후, 게임이 어떤 식으로 진행될지 생각해 본다. 1. 섯다 게임을 플레이할 플레이어 숫자를 정하는데, 플레이어 숫자를 플레이어가 직접 정하도록 한다. 2. 화투 카드를 구현해야 한다. 화투 카드는 1부터 10까지 존재하고, 총 20장을 사용할 것이다. 3. 광땡, 떙, 끗의 족보를 구현해야 한다. 구현한 족보를 통해 승부를 내야 한다. 4. 배팅금과 소지금을 정해야 한다. 구조체로 카드의 숫자와 광 유무를 한번에 정할 수 있다. 또한 플레이어별로 족보값을 가지게 할 수 있다. 플레이어 수는 동적할당을 통해서 런타임에 정하도록 만들어 줄 것이다. 이넘문을 사용해서 정수형으로 족보를 쉽게 비교해서 승부를 ..
1. typedef typedef라는 키워드는, int형, double형과 같은 일반형에 별명을 붙여주는 키워드이다. typedef 형명 식별자; 예를 들어, 이 코드는 unsigned long int형에 Count 라는 짧은 이름을 붙여준다. 이처럼 typedef를 사용하면 다음과 같이 'Count'형 변수 num을 사용할 수 있게 된다. 이 문장의 뜻은 다음 코드와 같다. 즉, typedef를 사용하면, 이미 존재하는 형에 별명을 붙일 수 있는 것이다. typedef를 사용하면 긴 형명에 별명을 붙일 수 있기 떄문에 코드의 가독성을 높일 수 있다. 2. 열거 enum C++는 프로그래머가 새로운 형을 만들수 있도록 도와준다. 프로그래머가 만든 형을 사용자 정의형(user-defined type)이라고..
참고 > 배열에 대한 기초적 이해 문자열로 별찍기, 다이아몬드 만들기 문자열을 다루는 표준 라이브러리 함수 C++ 환경에는 문자열을 처리하기 위한 표준적인 함수가 이미 제공되어 있다. 이 함수들을 표준 라이브러리(standard library)라고 부른다. 이 표준 라이브러리에는 다양한 문자열 조작 함수가 정의되어 있다. 이 함수들을 코드에서 이용하면 문자열의 길이를 측정하거나 복사하는 작업을 쉽게 할 수 있다. 다음은 표준 라이브러리의 주요 문자열 조작 함수이다. 문자열을 다루는 표준 라이브러리 함수() size t strlen(const char* s); : 문자열 s에서 NULL 문자를 제외한 길이를 리턴한다. char* strcpy(char* s1, const char* s2); : 문자열 s2를..
참고 nybot-house.tistory.com/9 변수와 스코프(지역변수와 전역변수) 02.14 변수의 종류 파악하기 지금까지 변수와 배열을 사용했던 곳은 main() 함수 안이거나 직접 만든 함수 안이었다. 그러나 변수와 배열의 선언은 반드시 함수 안에서만 해야 하는 것은 아니다. 변수와 nybot-house.tistory.com 메모리의 동적인 확보 전역 변수의 메모리는 프로그램이 시작될 때 확보된다. 또한 일반 지역 변수의 메모리는 함수가 선언되고 호출될 때 확보된다. 이 두 가지 방법 외에도 프로그래머가 원하는 타이밍에 메모리를 확보하는 방법이 있다. 이것을 동적 메모리 확보(dynamic allocation)라고 부른다. 이 방법을 사용하면 변수를 이용한 메모리 사용법과 다르게 프로그래머가 메..
HeadlessCreator
'C++ 코딩' 카테고리의 글 목록 (2 Page)