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 |
---|