무리스

반응형

[패스트캠퍼스 수강 후기] {C++ 실력완성} 100% 환급 챌린지 {16} 회차 미션

 

안녕하세요. 무리스입니다.

오늘도 패스트캠퍼스 C++인강 환불챌린지 16회차 학습 기록을 하기 위해 왔습니다.

하루에 3강씩 진행하다보니 16회차에서는 벌써 46강을 학습하게 되네요.

16회차에서는 46강, 47강, 48강으로 구성됩니다.

 

그럼 46강 함수 - 함수의 기본에 대해서 알아보도록 하겠습니다.

이때까지 printf, scanf, vector, array 등 많은 함수를 써봤습니다.

이번에는 함수편에서는 직접 함수를 만들어보겠습니다.

 

#include <iostream>

 

using namespace std;

 

int sum(int x, int y)

{

   return x + y;

}

 

int abs(int x)

{

   teturn x >=0 ? x : -x;

}

 

int main(int argc, char* argv[])

{

   cout << sum(5, 10) << endl;

}

// 몸풀기용으로 작성해봤습니다.

 

다음 47강에서는 함수 - 재귀 함수에 대해서 배워보도록 하겠습니다.

재귀 함수는 함수가 자기 자신을 호출하는 함수라고 생각하시면 됩니다.

먼저 카운팅하는 함수를 작성해보도록 하겠습니다.

재귀 함수는 반드시 탈출 조건을 만들어 줘야 합니다.

 

#include <iostream>

 

using namespace std;

 

void count(int n)

{

   if (n < 0)

       return;    // 탈출 조건

   cout << n << endl;

   count(n - 1);

}

 

int main()

{

   count(10);

}

// 10~0까지만 출력되도록 return 탈출 조건을 만들어 줬습니다.

return 후 10~0까지 출력

int fac(int n)

{

   int (n == 1)

      return 1;

   return n * fac(n-1);

}

 

int main()

{

   cout // fac(5) << endl;

}

// 팩토리얼식도 작성해봤습니다.

 

struct Node

{

   int value;

   Node* left;

   Node* right;

};

 

void visit(Node* root)

{

   if (root == nullptr)

      return;

   cout << root0->value << endl;

   visit(root->left);

   visit(rrot->right);

}

 

int main()

{

   Node node0{ 0 };

   Node node0{ 1 };

   Node node0{ 2 };

   Node node0{ 3 };

   Node node0{ 4 };

   Node node0{ 5 };

   Node node0{ 6 };

   Node node0{ 7 };

   Node node0{ 8 };

   Node node0{ 9 };

 

   node0.left = &node1;

   node1.left = &node2;

   node1.left = &node3;

   node3.left = &node4;

   node0.left = &node5;

   node5.left = &node6;

   node6.left = &node7;

   node5.left = &node8;

   node8.left = &node9;

 

   visit(&node0);

}

// 왼쪽 오른쪽 배치에 따라 순서대로 출력됩니다.

재귀 함수는 여기까지 하겠습니다.

 

다음 48강에서는 함수 - 값으로 전달에 대해 알아보겠습니다.

이번에는 두 함수를 서로 교환하는 함수를 작성해보겠습니다.

 

using namespace std;

 

struct Weapon

{

   int price;

   int power;

};

 

void update(Weapon weapon)

{

   weapon.power += 10;

   weapon.price += 10;

 

int main()

{

   Weapon weapon{ 10, 20 };

 

   cout << "Price : " << weapon.price << endl;

   cout << "Power : " << weapon.power << endl;

 

   // upgrad(weapon);

 

   Weapon pWeapon = weapon;

   weapon.power += 10;

   weapon.price += 10;

 

   cout << "Price : " << weapon.price << endl;

   cout << "Power : " << weapon.power << endl;

}

// 게임 비슷하게 예를들어 무기 업그레이드 관련 식을 작성해봤습니다.

오늘은 이렇게 해서 함수의 기본, 재귀 함수, 값으로 전달 까지 배워봤습니다.

다소 어려울 수도 있는 내용이기때문에 복습을 다시 해봐야될 것 같다는 생각이 드네요.

그럼 16회차 학습 기록은 여기서 마무리하도록 하겠습니다.

오늘도 고생하셨습니다.

 

이상입니다.

 

패스트캠퍼스 C++ 강의 링크를 걸어두겠습니다. 참고하세요~
올인원 패키지 : C++ 실력 완성  https://bit.ly/33beaFj

 

C++ 실력 완성 올인원 패키지 Online. | 패스트캠퍼스

선데이토즈, ICON Foundation 출신 Core 개발자가 직접 알려주는 C++의 모든 것. 애니팡 게임을 직접 만들어 보며 어려운 C++의 원리를 이해하고 실무에서 쓸 수 있는 수준까지 만들어 드립니다.

www.fastcampus.co.kr

 

2020/11/16 - [프로그래밍] - [패스트캠퍼스 수강 후기] {C++ 실력완성} 100% 환급 챌린지 {15} 회차 미션

2020/11/15 - [프로그래밍] - [패스트캠퍼스 수강 후기] {C++ 실력완성} 100% 환급 챌린지 {14} 회차 미션

2020/11/14 - [프로그래밍] - [패스트캠퍼스 수강 후기] {C++ 실력완성} 100% 환급 챌린지 {13} 회차 미션

2020/11/13 - [프로그래밍] - [패스트캠퍼스 수강 후기] {C++ 실력완성} 100% 환급 챌린지 {12} 회차 미션

2020/11/12 - [프로그래밍] - [패스트캠퍼스 수강 후기] {C++ 실력완성} 100% 환급 챌린지 {11} 회차 미션

2020/11/11 - [프로그래밍] - [패스트캠퍼스 수강 후기] {C++ 실력완성} 100% 환급 챌린지 {10} 회차 미션

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading