본문 바로가기
반응형

Programming/C, C++54

C++ 숫자 야구게임 만들기 [C/C++] 숫자 야구게임 만들기배열, 랜덤, 중복체크 숫자 야구1 ~ 9까지의 랜덤 숫자 3개 생성 (중복 가능 or 중복 없이)1 ~ 9 사이의 숫자 3개 입력 받기결과 출력자릿수랑 숫자가 같으면 스트라이크자릿수는 다르고 숫자만 같으면 볼3스트라이크 되면 게임 클리어3아웃 또는 시도횟수 초과하면 게임 오버 #include #include #include void GetRandomNumber(int arr[]);void SetInputPlayerNumber(int arr[]);bool CheckAnswer(int rndNumber[], int playerNumber[]);int OutCount = 0;int main(){ int randomBaseballNumber[3] = {}; int player.. 2022. 12. 7.
C++ 지역변수, 전역변수, 정적변수 [C/C++] 지역변수, 전역변수, 정적변수 지역변수 :한 지역 안에서만 사용할 수 있는 변수매개변수도 지역변수다함수의 내부나, 중괄호 내부에서 동작한다.그 지역을 벗어나면 메모리 공간에서 소멸된다.초기화 하지 않으면 컴파일 에러가 나거나 쓰레기값이 저장된다.전역변수 :어느 지역에서나 사용할 수 있는 변수전처리기 밑에 선언한다.반드시 상수로 초기화해야 한다.초기값을 지정하지 않으면 디폴트 값 0으로 자동 초기화 된다.프로그램이 종료되면 메모리가 소멸된다.정적변수 :전역변수와 대부분 비슷한 특성을 가지고 있다.초기화가 딱 한 번만 진행된다.프로그램이 시작될 때 생성 및 초기화 된다.프로그램이 종료되면 소멸된다.함수의 매개변수로 사용할 수 없다.정적 지역변수와 정적 전역변수로 나뉜다.데이터 타입 앞에 sta.. 2022. 12. 7.
C++ 배열의 여러가지 사용 방법 [C/C++] 배열의 여러가지 사용 방법 #include #include void TestArrNameAddress(int arr[]){ // 배열의 이름은 주소값을 넘겨줌, // 그래서 arr의 값을 변경하면 메인에 있던 값도 변경됨 printf("%d\n", sizeof(arr)); // 포인터의 크기가 나옴 printf("%s", typeid(arr).name()); // arr의 데이터 타입은 int * __ptr64}int main(){ // 여러가지 초기화 방법 int arr1[5] = {}; // 크기5, 모두 0으로 초기화 int arr2[5] = { 1, 2 }; // 크기5, 앞 2개는 1, 2를 가지고 나머지 3개는 0으로 초기화 int arr3[5]; // 크기5, 쓰레기값 .. 2022. 12. 7.
C++ Call By Value, Call By Reference, Call By Address [C/C++] Call By Value, Call By Reference, Call By AddressCall By Value : 값만 전달하는 함수 호출 방법Call By Reference : 참조값을 전달하는 함수 호출 방법Call By Address : 주소 값을 전달하는 함수 호출 방법#include // Call By Valuevoid AddValue(int a, int b){ a = a + b; printf("Call By Value A : %d \n", a);}// Call By Referencevoid AddReference(int &a, int &b){ a = a + b; printf("Call By Reference A : %d \n", a);}// Call By Addressvoid .. 2022. 12. 7.
C++ Up&Down (업앤다운) 게임 만들기 [C/C++] Up&Down (업앤다운) 게임 만들기Up & Down 게임 만들기- 1 ~ n ( or 100 ) 사이의 랜덤 숫자 뽑기- 범위 안의 숫자를 입력한다.- 범위에서 벗어난 숫자를 입력할 경우 예외처리- 입력값이랑 랜덤숫자랑 비교 후 같을 경우 클리어, 낮거나 높으면 안내- 위 방법을 클리어까지 반복- 함수를 사용하여 만들기 * 참고#include rand 함수 사용을 위한 헤더파일#include time 함수 사용을 위한 헤더파일 #define INT_MAX  (내장매크로)#include #include #include void InputMaxValue(int &max);void CheckRange();bool CheckAnswer(const int inputNum, const int .. 2022. 12. 6.
C++ 별 다이아몬드 찍기 [C/C++] 별 다이아몬드 찍기 #include int main(){ int lineSize; int middleLine = 0; while (true) { printf("다이아몬드의 크기를 입력해 주세요 (1이상 홀수) : "); scanf_s("%d", &lineSize); if (lineSize 2022. 12. 6.
C++ #define, 매크로 [C/C++] #define, 매크로 매크로 #define단순 매크로가독성이 좋아지고 상수의 변경이 용이함형태#define MAX 100#define PI 3.14함수 매크로define을 이용해 매크로를 함수처럼 사용할 수 있다.형태#define SQUARE (x) ((x) * (x))#define 매크로명(매개변수) 치환 텍스트 내장 매크로미리 정의 되어 내장되어 있는 매크로 2022. 12. 6.
카멜 표기법, 스네이크 표기법 [C/C++] 카멜 표기법, 스네이크 표기법 카멜 표기법카멜 표기법(Camel case 카멜 케이스[*]) 또는 낙타 표기법 프로그래밍에서 파일, 변수, 함수 등 대상의 이름을 띄어쓰기 없이 짓기 위하여 따르는 관례인 네이밍컨벤션(Naming convention)의 하나다.맨 첫 글자를 제외한 각 합성어의 첫 글자만 대문자로 표기한다.단어 전체적으로 소문자를 사용합성한 단어의 모양이 쌍봉낙타의 등과 비슷하다는 뜻에서 이름붙었다.camelCase(일반적인 변수 이름)isCamelCase(Boolean 타입의 변수 이름)스네이크 표기스네이크 표기법(Snake case 스네이크 케이스[*]) 또는 스네이크 표기법은 프로그래밍에서 파일, 변수, 함수 등 대상의 이름의 띄어쓰기를 언더바(_)로 표기하는 관례인 네.. 2022. 12. 6.
C++ 가상 함수(Virtual Function), 순수 가상 함수(Pure Virtual Function) [C++] 가상 함수(Virtual Function), 순수 가상 함수(Pure Virtual Function) 가상 함수(Virtual Function)와 순수 가상함수(Pure Virtual Function)공통점1. 클래스 상속 관계에서 사용된다.2. 멤버 함수를 재정의 할 수 있다. (오버라이딩) 차이점1. 순수 가상 함수는 자식 클래스에서 반드시 재 구현해야 한다.2. 가상 함수는 부모 클래스에서 구현부를 포함하고 있기 때문에 재 구현을 꼭 필요로 하지 않는다.3. 순수 가상 함수는 함수 선언 뒷 부분에 " = 0 "를 추가 해야 한다.4. 추상 클래스는 객체를 생성할 수 없다.5. 순수 가상 함수는 함수의 구현부가 없다. (자식 클래스에게 인터페이스만을 제공한다.)   > 구현부를 넣어봤는데 .. 2022. 11. 18.
C++ 연산자 오버로딩 [C++] 연산자 오버로딩 // 연산자 오버로딩 // 오버로딩의 개념을 '+', '-', '*', '/' 등 표준 연산자에 확장하여 연산자들이 다중적인 의미를 가질 수 있게 함 // 연산자도 피연산자의 타입에 따라 중복 정의할 수 있다.  // 피연산자의 타입이 달라도 똑같은 연산자로 일관되게 할 수 있는 것은 다형성의 예이다. // 연산자를 오버로딩하기 위해서는 operator + () 와 같은 특별한 함수가 필요하다. // 함수 호출과 연산자 표기 방법으로 사용 가능하다. // 연산자 표기 방법으로 사용할 때 연산자의 왼쪽 객체가 호출 객체이다. //  // 오버로딩의 규칙 // 1. 원래 연산자에 적용되던 문법을 위반해서 오버로딩된 연산자를 사용할 수 없다. // 2. 연산자의 우선순위를 변경할 수.. 2022. 11. 17.
C++ 클래스 private접근, Friend 지정 사용 [C++] 클래스 private접근, Friend 지정 사용 클래스의 멤버 중 private로 지정된 것들은 자신만 접근할 수 있게 설계되었는데 예외는 있다.Friend 키워드이다. 내 소중한 물건을 친구에게 빌려줄 수 있듯이 클래스에서 친구로 지정한 것들은 접근이 가능하다.전역 함수, 클래스, 멤버 함수를 Friend로 지정 가능하다.그 세 가지 예시를 하나의 코드에 담았다.  #include using namespace std;// * 클래스의 순서도 중요// 하단 예시 코드는 클래스의 순서를 고려하지 않은 코드임class PrivateClass;class UnknownClass{public: void FriendMemberFunction(PrivateClass& pc); };class Private.. 2022. 11. 17.
C++ 오류 해결 Error:C4996, strcpy, strncpy 사용시 에러 발생 [C++ / 오류 해결] Error:C4996, strcpy, strncpy 사용시 에러 발생 Error C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 이 함수 또는 변수는 안전하지 않을 수 있습니다. 대신 strcpy_s를 사용해 보세요. 사용 중단을 비활성화하려면 _CRT_SECURE_NO_WARNINGS를 사용합니다. // 해당 기능을 사용하는 소스코드 상단에 추가#define _CRT_SECURE_NO_WARNINGS // 1번 째 방법#p.. 2022. 11. 16.
반응형