C++ 120

[강의] 8월 23일 수업정리

오늘은 예제를 풀며 수업을 시작했다.  1. 성적 계산 프로그램 (if-else문 사용 유무 비교)int형 점수를 입력받아 ( 단, 0 ~ 100까지 -> 나머지는 없다고 가정)90 ~ 100 : A, 80 ~ 89 : B, 70 ~ 79 : C , 60 ~ 69 : D,  0 ~ 59 -> F (else문 사용한 거랑 안사용한 거랑 둘 다 같이 정리)#include int main() { int nScore{}; scanf_s("%d", &nScore); // else문을 사용하지 않음 if(nScore >= 90 && nScore = 80 && nScore = 70 && nScore = 60 && nScore = 0 && nSco..

C++ 2024.08.23

[강의] 8월 22일 수업정리

오늘은 조건문에 대한 수업을 들었다.1. if문의 구성과 구현먼저 짚고 넘어가야 할 부분, if문은 구성 -> 구현으로 이루어진다.구성은 조건을 분류하는 단계이며, 구현은 그 조건에 따라 동작을 정의하는 단계이므로 이 두 가지를 명확히 구분하는 것이 중요하다.else -> 구성이 되는 거고 and, or -> 구현이라는 느낌이다. 무언가를 정교하게 만들 때는 구조적으로 값을 나눈 다음에 그 후 하나의 값을 정교하게 만드는 게 좋다.즉, 구성을 먼저 해서 분류체계를 만들고 그 이후 얼마나 자세하게 구현이 들어가야 하는 것이다. 1.1 else문우리는 else문을 어떻게 이해를 하였는가? 예시를 하나 들어보자 int nData{};scanf_s("%d", &nData);if(nData nData가 10 미만..

C++ 2024.08.22

[강의] 8월 21일 수업정리

어제 내주셨던 %를 사용하지 않고 나머지를 구하는 코드에 대해 설명해 주셨는데 굉장히 반성할 부분이 많았었다.처음부터 설계를 잘못했다는 것, 변수 활용이 부족했다는 점그리고 복기를 제대로 했어야했는데 제대로 안 해서 굉장히 잘못된 코드를 짠 점.그냥 애초에 프로그래밍을 너무 잘못된 습관과 관점으로 바라본 거 같아서 반성하는 시간이 되었다. 오늘 수업에서는 간단한 문제를 풀어보면서 이를 통해 배운 내용을 정리해 보았다. 1. 특정 숫자를 입력받아, 해당 숫자가 홀수인지 짝수인지 판단하는 프로그램을 작성할 것,     (이때 0은 짝수로 간주하고, 음수는 고려하지 않는다.)#include int main() { int nData{}; int nRemainder{}; scanf_s("%d", &nData); ..

C++ 2024.08.21

[강의] 8월 20일 수업정리

오늘은 간단한 예제로 시작을 했다.1. 조건문과 중괄호 {} 사용의 중요성조건문 예시:#include int main() { int nData{}; nData = 5; if (nData   - 위 코드에서는 if 조건이 참일 경우 "참"과 "테스트"가 출력되지만, 조건이 거짓일 경우 "테스트"만 출력된다.- 이유는 printf("테스트\n");가 중괄호 {}로 묶여 있지 않아 if문과는 무관하게 항상 실행되기 때문이다. 해결 방법: 중괄호 사용     #include int main() { int nData{}; nData = 5; if (nData  - 이렇게 중괄호로 코드를 묶으면 if 조건이 참일 때만 두 문장이 모두 실행된다.- 잘못된 중괄호 사용은 논리적인 오류를 유발할 수 있으므로 주의..

C++ 2024.08.20

[강의] 8월 19일 수업정리

오늘의 수업은 간단한 코딩으로 시작했다 [ 국어, 영어, 수학, 단 점수는 int형, 총점과 평균을 출력해라, 평균은 소수점이 나오게 출력한다.]#include int main() { int nKorean{}; int nEnglish{}; int nMathmatics{}; int nTotal{}; float fAverage{}; nKorean = 99; nEnglish = 88; nMathmatics = 93; nTotal = nKorean + nEnglish + nMathmatics; fAverage = (float)nTotal / 3.0f; std::cout 설명nKorean, nEnglish, nMathmatics는 정수형 변수로 각 과목의..

C++ 2024.08.19

[강의] 8월 16일 수업정리

1. 과제에 관한 이야기코드 작성과 계획의 중요성inlcude int main(){ int nRectangleWidth{}; int nRectangleHeight{}; int nRectangleArea{}; nRectangleWidth = 10; nRectangleHeight = 3; nRectangleArea = nRectangleWidth * nRectangleHeight; cout  위의 코드는 직사각형의 넓이를 계산하는 간단한 예제입니다. 우리가 일반적으로 직사각형의 넓이를 계산할 때는 "밑변 * 높이"를 사용합니다.위 코드에서 nRectangleArea = nRectangleWidth * nRectangleHeight와 같이 작성한 경우..

C++ 2024.08.16

[강의] 8월 14일 수업정리

오늘은 간단한 코드 예제를 통해 수업을 진행했습니다. int nData1{};int nData2{};int nTotal{};nData1 = 100;nData2 = 100;nTotal = nData1 + nData2;std::cout  코드 작성의 기본 원칙코드를 작성할 때는 단순히 암기하는 것이 아니라, 작성된 코드의 의도를 파악하고 해석하는 능력을 기르는 것이 중요합니다. 이는 마치 운전을 할 때 단순히 조작 방법만 외우는 것이 아니라, 다양한 상황에 맞게 운전하는 것과 비슷합니다. 프로그래밍도 마찬가지로, 코드를 이해하고 응용하는 능력을 키워야 합니다.코딩의 나쁜 습관과 개선 방법1. 주석을 달지 말라주석은 코드의 작동 방식이나 목적을 설명하기 위해 사용됩니다. 하지만 주석을 자주 달게 되는 이유는 ..

C++ 2024.08.14

[강의] 8월 13일 수업정리

저번 수업의 복기 내용프로그래밍의 본질프로그래밍은 결과가 정해져 있는 상황에서 그 결과를 어떻게 구현할지 고민하고, 이를 코드로 표현하는 과정입니다.클래스 코딩의 핵심Class 코딩에서 중요한 것은 사용자가 객체의 변수에 직접 명령을 내리는 것이 아니라, 객체가 제공하는 기능(메서드) 중 무엇을 사용할지 선택하는 것입니다. 이는 '물건을 사용한다'는 개념으로 이해할 수 있습니다.내 객체가 구체적으로 무엇을 하는지 알 필요가 없다는 관점이 핵심입니다. 프로그램에서 객체의 사용 순서객체 사용의 흐름객체 사용 시 정해진 흐름이 있습니다: [생성 -> 준비 -> 사용 -> 해제 -> 삭제]'준비' 과정의 중요성'준비' 단계는 간단한 로직에서는 생성 단계에 포함될 수 있지만, 복잡한 로직에서는 별도로 준비 단계가..

C++ 2024.08.13

[강의] 8월 12일 수업정리

1. 비주얼 스튜디오 설정줄 번호 비활성화: 줄 번호를 끄는 설정을 했는데, 그 이유는 줄 번호에 의존하는 습관을 없애기 위해서입니다. 줄 번호를 외우는 것보다는 코드를 보고 그 의미를 파악하는 능력을 키우는 것이 중요합니다. 특히, 팀 프로젝트에서 다른 사람이 코드를 수정하면 줄이 밀려 줄 번호의 의미가 없어지기 때문에, 줄 번호에 의존하지 않도록 하는 것이 좋습니다.2. 자료형의 간단한 개념자료형의 역할 부여: 변수에 적절한 이름을 부여하여 그 역할을 명확하게 하는 것이 중요합니다. int와 같은 자료형에 명령을 내리는 방법을 배우면서, 변수의 이름을 통해 그 변수가 어떤 역할을 수행하는지 쉽게 알 수 있도록 설정하는 것이 필요합니다. 처음부터 변수를 설정할 때 어떤 행동을 하겠지?라는 생각을 버리고..

C++ 2024.08.12

[강의] 8월 8 ~9일치 수업정리

이번 주 강의에서는 프로그래밍 언어의 학습보다는 프로그래밍 사고를 어떻게 발전시킬지에 대한 방향성에 대해 논의했습니다. 강사님은 언어 자체를 배우는 것보다는 프로그래밍의 사고방식을 배우는 것이 중요하다고 강조했습니다.프로그래밍 사고 방식강사님은 프로그래밍 사고에서 중요한 것은 로직이 아닌 행동 기준으로 생각하는 것이라고 설명했습니다. 다음은 두 가지 예시입니다:태트리스:일반적으로 블록의 좌우 움직임, 블록이 한 줄이 되었을 때 지워지는 것 등을 고려할 수 있습니다. 그러나 강사님은 ‘지워지는 블록’과 ‘지워지지 않는 블록’을 기준으로 사고해야 한다고 강조했습니다.슈팅게임:적, 적 총알, 아이템, 플레이어 등을 고려할 수 있지만, 강사님은 ‘나와 상호작용 가능한 것’, ‘화면에 돌아다니는 객체’, ‘충돌 ..

C++ 2024.08.09