2024-12-23

김시현(Unreal_1)·2024년 12월 23일

TIL

목록 보기
6/35

목차

#개요
#변수
#간단한 계산기 만들기
#배열
#5명의 점수 종점과 평균 구하기
#함수
#함수 실습
#조건문
#계산기 추가 기능
#반복문
#마무리

#개요

오늘부터는 C++ 기초를 공부해보자.

#변수

int: 정수(양수,0,음수)
float, bouble: 부동소수 (정밀도 차이 bouble이 좀더 정밀도가 좋음)
char: 단일문자 ('A')
bool: 논리값
string: 문자열 ("ABCD" <string>해더 필요)
unsigned: 음수 입력 불가, 양수 범위가 2배
*cout, cin: cmd창 내보내기, 밭기*

산술 연산
+, -, *, /, % : 더하기, 빼기, 곱하기, 나누기 나머지

대입 연산
A += B  A=A+B
A -= B  A=A-B
A *= B  A=A*B
A /= B  A=A/B

관계 연산
==, !=, >, <, >=, <= : 같다, 다르다, 크다, 작다, 크거나 같다, 작거나 같다

논리 연산
&& 둘다 참          (직렬)
|| 둘중 하나만 참    (병렬)
! 반대로

#간단한 계산기 만들기

#include <iostream>

using namespace std;

int main()
{
  int firstNum = 0;
  int secondNum = 0;
  cout << "첫 번째 숫자:";
  cin >> firstNum;
  cout << "두 번째 숫자:";
  cin >> secondNum;
  cout << firstNum << "과 " << secondNum << "의 합은:" << firstNum+secondNum << endl;

  return 0;
}

#배열

    1. 정수형 배열 선언
    int numbers[5];
    정수를 5개 저장할 수 있는 배열

    2. 선언과 동시에 초기화
    int initializedNumbers[3] = {1, 2, 3};
    정수 배열을 선언하고 값 초기화

    3. 크기를 자동으로 설정
    int autoSizeNumbers[] = {10, 20, 30, 40};
    배열의 크기를 자동으로 결정 (4칸)

    4. 실수형 배열 선언
    double decimals[4];
    실수를 4개 저장할 수 있는 배열

    5. 문자형 배열 선언
    char letters[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
    문자열을 저장하기 위한 문자 배열

    6. 문자열 배열 (C 스타일)
    char word[] = "Hello";
    문자열을 저장하는 배열, '\0' 자동 추가

    7. 논리형 배열
    bool flags[3] = {true, false, true};
    참/거짓을 저장하는 배열

    8. 다차원 배열 (2차원 배열)
    int matrix[2][3] = { {1, 2, 3}, {4, 5, 6} };
    2행 3열의 배열 선언

    9. 크기가 큰 배열
    long long largeArray[1000];
    1000개의 데이터를 저장할 수 있는 배열

    10. 배열을 모두 0으로 초기화
    int zeroArray[5] = {0};
    첫 번째 값만 0으로 초기화하면 나머지도 0으로 초기화

#5명의 점수 종점과 평균 구하기


#include <iostream>

using namespace std;

int main() 
{
	double score[5];
	cout << "첫 번째 학생의 점수를 입력해 주세요: ";
	cin >> score[0];

	cout << "두 번째 학생의 점수를 입력해 주세요: ";
	cin >> score[1];

	cout << "세 번째 학생의 점수를 입력해 주세요: ";
	cin >> score[2];

	cout << "네 번째 학생의 점수를 입력해 주세요: ";
	cin >> score[3];
	
	cout << "다섯 번째 학생의 점수를 입력해 주세요: ";
	cin >> score[4];

	double totalScore = score[0] + score[1] + score[2] + score[3] + score[4];

	double avgScore = totalScore / 5;
	
	cout << "평균: " << avgScore << endl;
	cout << "합: " << totalScore << endl;

	return 0;
}

#함수

작업을 정의해서 이름을 붙이고, 이 이름을 부를 때마다 그 작업을 해주는 것

  1. 인자
    작업에 사용되는 외부값
  2. 동작
    무엇을 할지
  3. 반환
    최종적으로 작업을 진행한 뒤 무엇을 외부에 전달할지
  4. 이름
    작업을 시킬 때 호출 할 수 있는 이름

#함수 실습

#원의 넓이 계산


#include <iostream>
using namespace std;

double calculateCircleArea(double radius) {
    return 3.14 * radius * radius;
}

int main() {
    double radius = 2.0;
    cout << "원의 넓이: " << calculateCircleArea(radius) << endl;
    return 0;
}

#평균 계산

#include <iostream>
using namespace std;

int calculateAverage(int score1, int score2, int score3, int score4) 
{
    int sum = score1 + score2 + score3 + score4;
    return sum / 4;
}

int main() 
{
    int score1 = 80, score2 = 90, score3 = 85, score4 = 70;
    cout << "평균 점수: " << calculateAverage(score1, score2, score3, score4) << endl;
    return 0;
}

#이름 형식 변환

#include <iostream>
#include <string>
using namespace std;

string formatName(string firstName, string lastName) 
{
    return lastName + " " + firstName; // 문자열 결합
}

int main() 
{
    string firstName = "철수";
    string lastName = "김";
    cout << "이름 형식 변환: " << formatName(firstName, lastName) << endl;
    return 0;
}

#점수 출력

#include <iostream>
using namespace std;

void printTotalScore(int score1, int score2, int score3, int score4) 
{
    int total = score1 + score2 + score3 + score4;
    cout << "점수 합계: " << total << endl;
}

int main() 
{
    printTotalScore(80, 90, 85, 70);
    return 0;
}

#조건문

단순 if: 조건을 만족하면 수행한다.

#include <iostream>
using namespace std;

int main() {
    int age;

    cout << "Enter your age: ";
    cin >> age;

    // if 문: 조건이 true일 때만 실행됩니다.
    if (age >= 18) {
        cout << "You are eligible to vote." << endl;
    }

    // 조건이 false인 경우 아무것도 실행되지 않습니다.
    cout << "Program finished." << endl;

    return 0;
}

18 미만

18 이상

if/else: 두 조건의 해당하는 행동을 수행한다. (모 아니면 도)

  • else는 조건이 없음

#include <iostream>
using namespace std;

int main() {
    int number;

    cout << "Enter a number: ";
    cin >> number;

    // if/else 문: 조건이 true일 때와 false일 때 다른 작업을 수행합니다.
    if (number % 2 == 0) { // 입력값이 짝수인지 확인합니다.
        cout << "The number is even." << endl;
    } else { // 위 조건이 false라면 (즉, 홀수라면) 실행됩니다.
        cout << "The number is odd." << endl;
    }

    cout << "Program finished." << endl;

    return 0;
}

홀수

짝수

if / else if / else: 여러가지 조건을 만들고 각각의 행동을 수행시킨다.


#include <iostream>
using namespace std;

int main() {
    int score;

    cout << "Enter your score (0-100): ";
    cin >> score;

    // if/else if/else 문: 여러 조건을 순차적으로 검사합니다.
    if (score >= 90) { // 90 이상인 경우
        cout << "Grade: A" << endl;
    } else if (score >= 80) { // 80 이상 90 미만인 경우
        cout << "Grade: B" << endl;
    } else if (score >= 70) { // 70 이상 80 미만인 경우
        cout << "Grade: C" << endl;
    } else if (score >= 60) { // 60 이상 70 미만인 경우
        cout << "Grade: D" << endl;
    } else { // 60 미만인 경우
        cout << "Grade: F" << endl;
    }

    cout << "Program finished." << endl;

    return 0;
}

90이상

80이상 90미만

60미만

#계산기 추가 기능(사칙 연산)


#include <iostream>
using namespace std;

int main() {
    char op;
    double num1, num2;

    cout << "Enter first number: ";
    cin >> num1;
    cout << "Enter an operator (+, -, *, /): ";
    cin >> op;
    cout << "Enter second number: ";
    cin >> num2;

    if (op == '+') {
        cout << "Result: " << num1 + num2 << endl;
    }
    if (op == '-') {
        cout << "Result: " << num1 - num2 << endl;
    }
    if (op == '*') {
        cout << "Result: " << num1 * num2 << endl;
    }
    if (op == '/') {
        if (num2 == 0) {
            cout << "Division by zero is not allowed." << endl;
        } else {
            cout << "Result: " << num1 / num2 << endl;
        }
    }
    if (op != '+' && op != '-' && op != '*' && op != '/') {
        cout << "Invalid operator." << endl;
    }

    return 0;
}

#반복문

for: 반복의 범위가 명확하게 주어지는 경우사용

while: 종료조건이 명확할때 사용

#마무리

잘 모르것다..... 뭔가 보고하는건 어느정도 이해하고 따라서 할 수 있지만 처음 보는건 너무 어렵다....

profile
언리얼 개발

0개의 댓글