728x90

1. ๋ฌธ์ œ 01-1 [C++ ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ์ž…์ถœ๋ ฅ]

โ–ถ ๋ฌธ์ œ1: ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ด 5๊ฐœ์˜ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„์„œ, ๊ทธ ํ•ฉ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž, ๋‹จ, ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ด๋ค„์ ธ์•ผ ํ•œ๋‹ค.

1๋ฒˆ์งธ ์ •์ˆ˜ ์ž…๋ ฅ: 1
2๋ฒˆ์งธ ์ •์ˆ˜ ์ž…๋ ฅ: 2
3๋ฒˆ์งธ ์ •์ˆ˜ ์ž…๋ ฅ: 3
4๋ฒˆ์งธ ์ •์ˆ˜ ์ž…๋ ฅ: 4
5๋ฒˆ์งธ ์ •์ˆ˜ ์ž…๋ ฅ: 5
ํ•ฉ๊ณ„: 15
#include <iostream>
using namespace std;

int main() {
    int n, sum = 0;

    for (int i = 1; i <= 5; i++) {
        cout << i << "๋ฒˆ์งธ ์ •์ˆ˜ ์ž…๋ ฅ: ";
        cin >> n;
        sum += n;
    }
    cout << "ํ•ฉ๊ณ„: " << sum;

    return 0;
}

 

โ–ถ ๋ฌธ์ œ2: ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ด๋ฆ„๊ณผ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋ฌธ์ž์—ด์˜ ํ˜•ํƒœ๋กœ ์ž…๋ ฅ๋ฐ›์•„์„œ, ์ž…๋ ฅ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž.

#include <iostream>
using namespace std;

int main() {
    char name[10];
    char num[20];


    cout << "์ด๋ฆ„ ์ž…๋ ฅ: ";
    cin >> name;
    cout << "๋ฒˆํ˜ธ ์ž…๋ ฅ: ";
    cin >> num;

    cout << "์ด๋ฆ„: " << name << endl;
    cout << "๋ฒˆํ˜ธ: " << num;

    return 0;
}

 

โ–ถ ๋ฌธ์ œ3: ์ˆซ์ž๋ฅผ ํ•˜๋‚˜ ์ž…๋ ฅ๋ฐ›์•„์„œ ๊ทธ ์ˆซ์ž์— ํ•ด๋‹นํ•˜๋Š” ๊ตฌ๊ตฌ๋‹จ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ 5๋ฅผ ์ž…๋ ฅํ•œ๋‹ค๋ฉด ๊ตฌ๊ตฌ๋‹จ์—์„œ 5๋‹จ์„ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

#include <iostream>
using namespace std;

int main() {
    int n;

    cout << "์ •์ˆ˜ ์ž…๋ ฅ: ";
    cin >> n;
    for (int i = 1; i <= 9; i++) {
        cout << n << " x " << i << " = " << n * i << endl;
    }
    return 0;
}

 

โ–ถ ๋ฌธ์ œ4: ํŒ๋งค์›๋“ค์˜ ๊ธ‰์—ฌ ๊ณ„์‚ฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž. ์ด ํšŒ์‚ฌ๋Š” ๋ชจ๋“  ํŒ๋งค์›์—๊ฒŒ ๋งค๋‹ฌ 50๋งŒ ์›์˜ ๊ธฐ๋ณธ ๊ธ‰์—ฌ์™€ ๋ฌผํ’ˆ ํŒ๋งค ๊ฐ€๊ฒฉ์˜ 12%์— ํ•ด๋‹นํ•˜๋Š” ๋ˆ์„ ์ง€๊ธ‰ํ•œ๋‹ค. 

์˜ˆ๋ฅผ ๋“ค์–ด์„œ ๋ฏผ์ˆ˜๋ผ๋Š” ์นœ๊ตฌ์˜ ์ด๋ฒˆ ๋‹ฌ ๋ฌผํ’ˆ ํŒ๋งค ๊ธˆ์•ก์ด 100๋งŒ ์›์ด๋ผ๋ฉด, 50+100x0.12 = 62, ๋”ฐ๋ผ์„œ 62๋งŒ ์›์„ ๊ธ‰์—ฌ๋กœ ์ง€๊ธ‰๋ฐ›๋Š”๋‹ค.

๋‹จ, ์•„๋ž˜์˜ ์‹คํ–‰์˜ ์˜ˆ์—์„œ ๋ณด์ด๋“ฏ์ด ์ด๋Ÿฌํ•œ ๊ธ‰์—ฌ์˜ ๊ณ„์‚ฐ์€ -1์ด ์ž…๋ ฅ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์†๋˜์–ด์•ผ ํ•œ๋‹ค.

ํŒ๋งค ๊ธˆ์•ก์„ ๋งŒ์› ๋‹จ์œ„๋กœ ์ž…๋ ฅ(-1 to end): 100
์ด๋ฒˆ ๋‹ฌ ๊ธ‰์—ฌ: 62๋งŒ์›
ํŒ๋งค ๊ธˆ์•ก์„ ๋งŒ์› ๋‹จ์œ„๋กœ ์ž…๋ ฅ(-1 to end): 200
์ด๋ฒˆ ๋‹ฌ ๊ธ‰์—ฌ: 74๋งŒ์›
ํŒ๋งค ๊ธˆ์•ก์„ ๋งŒ์› ๋‹จ์œ„๋กœ ์ž…๋ ฅ(-1 to end): -1
ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
#include <iostream>
using namespace std;

int Salary(int money) {
    return (int)(50 + money * 0.12);
}
int main() {
    int money;

    while (1) {
        cout << "ํŒ๋งค ๊ธˆ์•ก์„ ๋งŒ์› ๋‹จ์œ„๋กœ ์ž…๋ ฅ(-1 to end) : ";
        cin >> money;
        if (money == -1) {
            cout << "ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.";
            break;
        }
        cout << "์ด๋ฒˆ ๋‹ฌ ๊ธ‰์—ฌ: " << Salary(money) << "๋งŒ์›" << endl;
    }
    
    return 0;
}

2. ๋ฌธ์ œ 01-2 [ํ•จ์ˆ˜ ์˜ค๋ฒ„๋กœ๋”ฉ]

โ–ถ ๋ฌธ์ œ: ๋‹ค์Œ main ํ•จ์ˆ˜์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” swap ํ•จ์ˆ˜๋ฅผ ์˜ค๋ฒ„๋กœ๋”ฉ ํ•ด์„œ ๊ตฌํ˜„ํ•ด ๋ณด์ž.

int main(void)
{
	int num1=20, num2=30;
    swap(&num1, &num2);
    std::cout<<num1<<' '<<num2<<std::endl;
    
    char ch1='A', ch2='Z';
    swap(&ch1, &ch2);
    std::cout<<ch1<<' '<<ch2<<std::endl;
    
    double dbl1=1.111, dbl2=5.555;
    swap(&dbl1, &dbl2);
    std::cout<<dbl1<<' '<<dbl2<<std::endl;
    return 0;
}
#include <iostream>
using namespace std;

void swap(int * ptr1, int * ptr2) {		// ๋งค๊ฐœ๋ณ€์ˆ˜์— ํฌ์ธํ„ฐ๊ฐ€ ์™€์•ผ๋จ!
	int temp = *ptr1;
	*ptr1 = *ptr2;
	*ptr2 = temp;
}
void swap(char * ptr1, char* ptr2) {
	char temp = *ptr1;
	*ptr1 = *ptr2;
	*ptr2 = temp;
}
void swap(double * ptr1, double* ptr2) {
	double temp = *ptr1;
	*ptr1 = *ptr2;
	*ptr2 = temp;
}

int main(void) {
	int num1 = 20, num2 = 30;
	swap(&num1, &num2);			// ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํฌ์ธํ„ฐ์ด๋ฏ€๋กœ ์ฃผ์†Œ์—ฐ์‚ฐ์ž ํฌํ•จ!
	cout << num1 << ' ' << num2 << endl;

	char ch1 = 'A', ch2 = 'Z';
	swap(&ch1, &ch2);
	cout << ch1 << ' ' << ch2 << endl;

	double dbl1 = 1.111, dbl2 = 5.555;
	swap(&dbl1, &dbl2);
	cout << dbl1 << ' ' << dbl2 << endl;
	return 0;
}

3. ๋ฌธ์ œ 01-2 [๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๋””ํดํŠธ ๊ฐ’]

โ–ถ ๋ฌธ์ œ1: ์˜ˆ์ œ DefaultValue3.cpp์— ์ •์˜๋œ ํ•จ์ˆ˜ BoxVolume๋ฅผ '๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๋””ํดํŠธ ๊ฐ’ ์ง€์ •'ํ˜•ํƒœ๊ฐ€ ์•„๋‹Œ, 'ํ•จ์ˆ˜ ์˜ค๋ฒ„๋กœ๋”ฉ'์˜ ํ˜•ํƒœ๋กœ ์žฌ ๊ตฌํ˜„ํ•ด ๋ณด์ž. ๋ฌผ๋ก  main ํ•จ์ˆ˜๋Š” ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋ฉฐ, ์‹คํ–‰๊ฒฐ๊ณผ๋„ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค.

#include<iostream>
int BoxVolume(int lenth, int width = 1, int height = 1);

int main(void){
	std::cout<<"[3,3,3] : "<<BoxVolume(3,3,3)<<std::endl;
    std::cout<<"[5,5,D] : "<<BoxVolume(5,5)<<std::endl;
    std::cout<<"[7,D,D] : "<<BoxVolume(7)<<std::endl;
    return 0;
}

int BoxVolume(int length, int width, int height){
	return length*width*height;
}

#include<iostream>
int BoxVolume(int length, int width, int height) {
    return length * width * height;
}
int BoxVolume(int length, int width) {
    return length * width * 1;
}
int BoxVolume(int length) {
    return length * 1 * 1;
}

int main(void) {
    std::cout << "[3,3,3] : " << BoxVolume(3, 3, 3) << std::endl;
    std::cout << "[5,5,D] : " << BoxVolume(5, 5) << std::endl;
    std::cout << "[7,D,D] : " << BoxVolume(7) << std::endl;
    return 0;
}

 

โ–ถ ๋ฌธ์ œ2: ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ์˜ ํ•จ์ˆ˜ ์˜ค๋ฒ„๋กœ๋”ฉ์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์–ด๋– ํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•ด ๋ณด์ž.

int SimpleFunc(int a = 10)
{
	return a+1;
}
int SimpleFunc(void)
{
	return 10;
}

โ†’ ์ธ์ž๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š๊ณ  ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ, ๋‘ ํ•จ์ˆ˜ ๋ชจ๋‘ ํ˜ธ์ถœ์ด ๋˜๋ฏ€๋กœ ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.


4. ๋ฌธ์ œ 01-4 [ํŒŒ์ผ์˜ ๋ถ„ํ• ]

โ–ถ ๋ฌธ์ œ: ์˜ˆ์ œ NameSp2.cpp๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ด 3๊ฐœ์˜ ํŒŒ์ผ๋กœ ๋ถ„ํ• ํ•ด์„œ ์ปดํŒŒ์ผํ•ด๋ณด์ž.

  • ํ—ค๋”ํŒŒ์ผ: main ํ•จ์ˆ˜๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๋‘ ํ•จ์ˆ˜์˜ ์„ ์–ธ์„ ์‚ฝ์ž…ํ•œ๋‹ค.
  • ์†Œ์ŠคํŒŒ์ผ1: main ํ•จ์ˆ˜๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๋‘ ํ•จ์ˆ˜์˜ ์ •์˜๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค.
  • ์†Œ์ŠคํŒŒ์ผ2: main ํ•จ์ˆ˜๋งŒ ์‚ฝ์ž…ํ•œ๋‹ค.
// NameSp2.cpp
#include <iostream>

namespace BestComImpl
{
	void SimpleFunc(void);
}
namespace ProgComImpl
{
	void SimpleFunc(void);
}

int main(void)
{
	BestComImpl::SimpleFunc();
    ProgComImpl::SimpleFunc();
    return 0;
}

void BestComImpl::SimpleFunc(void)
{
	std::cout<<"BestCom์ด ์ •์˜ํ•œ ํ•จ์ˆ˜"<<std::endl;
}
void ProgComImple::SimpleFunc(void)
{
	std::cout<<"ProgCom์ด ์ •์˜ํ•œ ํ•จ์ˆ˜"<<std::endl;
}

//SimpleFunc.h(ํ—ค๋”ํŒŒ์ผ)
#pragma once
namespace BestComImpl
{
	void SimpleFunc(void);
}
namespace ProgComImpl
{
	void SimpleFunc(void);
}
// SimpleFunc.cpp (์†Œ์ŠคํŒŒ์ผ1)
#include <iostream>
#include "SimpleFunc.h"
// ํ—ค๋”ํŒŒ์ผ ์‚ฝ์ž…๋ฐฉ๋ฒ•

void BestComImpl::SimpleFunc(void) {
	std::cout << "BestCom์ด ์ •์˜ํ•œ ํ•จ์ˆ˜" << std::endl;
}
void ProgComImpl::SimpleFunc(void) {
	std::cout << "ProgCom์ด ์ •์˜ํ•œ ํ•จ์ˆ˜" << std::endl;
}
ํ—ค๋”ํŒŒ์ผ ์‚ฝ์ž…๋ฐฉ๋ฒ•: #include "ํ—ค๋”ํŒŒ์ผ ์ด๋ฆ„.h"
// SimpleMain.cpp(๋ฉ”์ธ ์†Œ์ŠคํŒŒ์ผ)

#include "SimpleFunc.h"

int main(void) {
	BestComImpl::SimpleFunc();
	ProgComImpl::SimpleFunc();
	return 0;
}

 

'ํ”„๋กœ๊ทธ๋ž˜๋ฐ > C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์—ดํ˜ˆC++]Chapter 01 - C์–ธ์–ด ๊ธฐ๋ฐ˜์˜ C++ 1  (0) 2024.08.07

+ Recent posts