- ํ๋ก๊ทธ๋๋ฐ์์ ๊ด์ฉ๊ตฌ(idiom)๋ ํน์ ์์ ์ ์ํํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์์ฑํ๋ ํน๋ณํ ๋ฐฉ๋ฒ
1. **Guarded Action (๊ฐ๋๋ ๋์)**:
int temperature = 25; // ์์๋ก ์จ๋๋ฅผ ์ค์ ํฉ๋๋ค.
if (temperature > 30) {
// ๋์ ์จ๋์ ๋ํ ๋์
cout << "It's hot outside!" << endl;
} else if (temperature < 10) {
// ๋ฎ์ ์จ๋์ ๋ํ ๋์
cout << "It's cold outside!" << endl;
} else {
// ์ค๊ฐ ์จ๋์ ๋ํ ๋์
cout << "The weather is comfortable." << endl;
}
```
์ด ์์์์๋ `temperature` ๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋์์ ์ํํฉ๋๋ค. `if`, `else if`, `else` ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ์จ๋์ ๋ฐ๋ผ ๋ค๋ฅธ ์กฐ๊ฑด์ด ๋ง์กฑ๋๋ฉด ํด๋น ๋์์ด ์คํ๋ฉ๋๋ค.
2. **Alternative Action (๋์ ๋์)**:
try {
// ํ์ผ ์ด๊ธฐ ์๋
ifstream file("example.txt");
if (!file.is_open()) {
throw runtime_error("File not found."); // ํ์ผ์ด ์๋ ๊ฒฝ์ฐ ์์ธ ๋ฐ์
}
// ํ์ผ ๋ด์ฉ ์ฝ๊ธฐ
// ...
file.close();
} catch (const exception& e) {
// ํ์ผ ์ด๊ธฐ๋ ์ฝ๊ธฐ์์ ์์ธ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋์ ๋์
cout << "An error occurred: " << e.what() << endl;
// ๋์ ๋์์ผ๋ก ์ค๋ฅ ๋ฉ์์ง ์ถ๋ ฅ
}
```
์ด ์์์์๋ ํ์ผ์ ์ด ๋ ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ๋์ ๋์์ผ๋ก ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ณ ํ๋ก๊ทธ๋จ์ด ์ค๋จ๋์ง ์๋๋ก ํฉ๋๋ค.
3. **Multiple Selection (๋ค์ค ์ ํ)**:
int option = 2; // ์์๋ก ์ต์
์ ์ค์ ํฉ๋๋ค.
switch (option) {
case 1:
// ์ฒซ ๋ฒ์งธ ์ต์
์ ๋ํ ๋์
cout << "Option 1 selected." << endl;
break;
case 2:
// ๋ ๋ฒ์งธ ์ต์
์ ๋ํ ๋์
cout << "Option 2 selected." << endl;
break;
case 3:
// ์ธ ๋ฒ์งธ ์ต์
์ ๋ํ ๋์
cout << "Option 3 selected." << endl;
break;
default:
// ๋ค๋ฅธ ์ต์
์ ๋ํ ๋์
cout << "Invalid option selected." << endl;
break;
}
์ด ์์์์๋ `switch` ๋ฌธ์ ์ฌ์ฉํ์ฌ `option` ๋ณ์์ ๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋์์ ์ ํํฉ๋๋ค. `case` ๋ฌธ์ ๋ค๋ฅธ ์ต์
์ ๋ํ ๋์์ ์ ์ํ๊ณ , `default`๋ ์ด๋ค ์ต์
์๋ ๋ง์ง ์์ ๋ ์ํํ ๋์์ ์ ์ํฉ๋๋ค.
4. ๋ถ๊ธฐ ์กฐ๊ฑด (branching condition)
auto n = 3;
if(n%2 ==1 ) n = -n;
else if (n <0) n ++;
else if ( n%2 =0 ) n--;
else n =0;
์ด idiom์ ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ฐ๋ผ ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ๊ฒฝ๋ก๋ฅผ ์ ํํ๊ณ ๋ค๋ฅธ ๋์์ ์ํํ๋ ๋ฐฉ์์ ์ค๋ช ํฉ๋๋ค. ์ฝ๋์์๋ ์ฌ๋ฌ ๊ฐ์ ์กฐ๊ฑด๋ฌธ๊ณผ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ๋์์ ์ํํ๋ ๋ถ๋ถ์ด ํฌํจ๋์ด ์์ต๋๋ค.๋ค์์ ์ฃผ์ด์ง ์ฝ๋์์ ์ด๋ค ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ๋์์ ์ํํ๋์ง ๊ฐ๋จํ ์ค๋ช ์ ๋๋ค:1. `n`์ด ํ์์ธ ๊ฒฝ์ฐ (n%2 == 1): - `n`์ ์์๋ก ๋ณ๊ฒฝํฉ๋๋ค. (`n`์ ์ด์ -3์ด ๋ ๊ฒ์ ๋๋ค.)2. `n`์ด ์์์ธ ๊ฒฝ์ฐ (n < 0): - `n`์ 1 ์ฆ๊ฐ์ํต๋๋ค. (์ด ๊ฒฝ์ฐ์๋ -3์์ -2๋ก ์ฆ๊ฐ๋ฉ๋๋ค.)3. `n`์ด ์ง์์ธ ๊ฒฝ์ฐ (n%2 == 0): - `n`์ 1 ๊ฐ์์ํต๋๋ค. (์ด ๊ฒฝ์ฐ์๋ -2์์ -3์ผ๋ก ๊ฐ์๋ฉ๋๋ค.)4. ์์ ๋ชจ๋ ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์๋ ๊ฒฝ์ฐ: - `n`์ 0์ผ๋ก ์ค์ ํฉ๋๋ค.์ด๊ฒ์ ๋ถ๊ธฐ ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ๋ค์ํ ์ํฉ์์ ๋ค๋ฅธ ๋์์ ์ํํ๋ ๋ฐฉ์์ ๋ณด์ฌ์ฃผ๋ ์์์ ๋๋ค. ๊ฐ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฝ๋๊ฐ ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ๋ถ๊ธฐ๋๋ฉฐ, ์กฐ๊ฑด์ด ์ฐธ์ด๋ฉด ํด๋น ์กฐ๊ฑด์ ๋ง๋ ๋์์ด ์ํ๋ฉ๋๋ค.
'เซฎโหถแต แต แตหถโแโก > coding' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] STL์ ๋ฐ๋ณต์ (Iterators) (0) | 2024.03.28 |
---|---|
[C++] STL์ด๋? ( STL์ ์ ์์ ๊ตฌ์ฑ์์) (2) | 2024.03.27 |
[C++] ์ด๋ก ๊ณต๋ถ ์ค๋ต๋ ธํธ 1 (0) | 2023.09.22 |
[C++] Introduction to C++ Syntax & Variables (0) | 2023.09.22 |
function์ ๊ตฌ์กฐ ์ด์ผ๊ธฐ (0) | 2023.09.17 |