E D R , A S I H C RSS

Medusa Cpp Study

03 C++ ์Šคํ„ฐ๋””

๋‚จ๋ณด๋‹ค ๋จผ์ €์™€์„œ ๋‚จ๋ณด๋‹ค ๋Šฆ๊ฒŒ ๊ฐ„๋‹ค๋Š” ๋งˆ์Œ ๊ฐ€์ง์œผ๋กœ...

์ฐธ๊ฐ€์ž: ์žฌ๋™, ๊ฐ•์„์šฐ, ์œค์„ธ๋žŒ, ๊ฐ•ํฌ๊ฒฝ, ๊น€์‹ ์• 

๋ชจ์ž„ ์žฅ์†Œ: 7ํ”ผ
๋ชจ์ž„ ์‹œ๊ฐ„: ์›” ~ ๊ธˆ์š”์ผ ์˜คํ›„ 5์‹œ + ์ค‘๊ฐ„ ์ค‘๊ฐ„ ๋ Œ๋ค์œผ๋กœ...


๊ต์ œ ์ฃผ๋ฌธ ํ•ด์„œ ์˜ค๊ธฐ ์ „๊นŒ์ง€ ๋ช‡์ผ๊ฐ„์€ ์žฌ๋™์˜ ์ฑ…์œผ๋กœ ์ฑ•ํ„ฐ 3 ๊นŒ์ง€ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ต์ œ ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋น ๋ฅธ ์‹œ์ผ ๋‚ด์— ๋ฐฐ๋‹ฌํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์Šคํ„ฐ๋”” ์†Œ์Šค ์ฝ”๋“œ

AcceleratedC++/Chapter0 - 7์›” 22์ผ
AcceleratedC++/Chapter1 - 7์›” 23์ผ
AcceleratedC++/Chapter2 - 7์›” 24์ผ
AcceleratedC++/Chapter3 - 7์›” 29์ผ
AcceleratedC++/Chapter4 - 8์›” 7์ผ(#1), 8์›” 14์ผ(#2)

์ˆ™์ œ


~cpp 
์‚ฌ๊ฐํ˜• - ๊ฐ€๋กœ, ์„ธ๋กœ ์ž…๋ ฅ, '*' ๋กœ ์ฒด์šฐ๊ธฐ
์‚ผ๊ฐํ˜• - ๊ฐ€๋กœ, ์„ธ๋กœ ์ž…๋ ฅ, '*' ๋กœ ์ฒด์šฐ๊ธฐ

์ •์‚ผ๊ฐํ˜•
~cpp 
>> 3
  *
 * *
* * *

>> 5
    *
   * *
  *   *
 *     *
* * * * *

์ •์‚ฌ๊ฐํ˜•
~cpp 
>> 3
* * *
*   *
* * *

>> 5
* * * * *
*       *
*       *
*       *
* * * * *

์—ฌ๋Ÿฌ ์ •์ˆ˜ ๊ฐ’์„ ์ฝ์–ด ๋“ค์—ฌ ๊ทธ ์ค‘์— ์ตœ๋Œ€ ๊ฐ€์žฅ ํฐ ๋„ค ๊ฐœ์˜ ๊ฐ’๋“ค์„ ์ถœ๋ ฅ
~cpp 
>> 5 3 2 9 10 4
4 5 9 10

>> 5 3 2
2 3 5

์ž…๋ ฅ์—์„œ ๊ฐ€์žฅ ๊ธด string์˜ ๊ธธ์ด์™€ ๊ฐ€์žฅ ์งง์€ string์˜ ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ (";" ์„ ๋งŒ๋‚ฌ์„ ๋•Œ ๋ฌธ์ž์—ด ์ข…๋ฃŒ)
~cpp 
>> I am a boy ;
3, 1

>> Hello world ;
5, 5

๋งˆ๋ฐฉ์ง„, ๋ Œ๋ค์›Œํฌ
์ฐธ๊ณ  ์ž๋ฃŒ ( 2์ฐจ์› ๋ฒกํ„ฐ ์„ค์ •)
~cpp 
#include <iostream>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::vector;

int main()
{
	// 2์ฐจ์› ๋ฒกํ„ฐ ์„ค์ •
	int size = 5; // size๊ฐ€ 5๋ผ๋ฉด...
	vector< vector<int> > board(size);
	for(int i = 0; i < size; i++)
		board[i].resize(size);

	// ์ถœ๋ ฅ
	for(int r = 0; r < size; r++)
	{
		for(int c = 0; c < size; c++)
		{
			cout << board[r][c] << "\t";
		}
		cout << endl;
	}

    return 0;
}
์ฐธ๊ณ  ์ž๋ฃŒ2 (๋ Œ๋ค ์ˆซ์ž ๋งŒ๋“ค๊ธฐ)
~cpp 
#include <iostream>
#include <ctime>

using namespace std;

int main()
{
	srand((unsigned)time(NULL));
	int a = rand() % 10; // 0๋ถ€ํ„ฐ 9๊นŒ์ง€ ์ˆ˜๊ฐ€ ๋ Œ๋คํ•˜๊ฒŒ ๋‚˜์˜ด
	
	return 0;
}

์žฅ๋ฌธ์—์„œ ๋‹จ์–ด์˜ ๋นˆ๋„์ˆ˜๋ฅผ ์„ธ์„œ ์ถœ๋ ฅํ•œ๋‹ค. ์ด๋•Œ ์•ŒํŒŒ๋ฒณ์ˆœ์œผ๋กœ ์ถœ๋ ฅ. (";" ์„ ๋งŒ๋‚ฌ์„ ๋•Œ ๋ฌธ์ž์—ด ์ข…๋ฃŒ)
~cpp 
>> I am a boy. You are a girl. We are happy. ;

a 2
am 1
are 2
boy 1
girl 1
happy 1
i 1
we 1
you 1

total words: 9

์žํŒ๊ธฐ(Vending Machine)
์ฒซ๋ฒˆ์งธ ์š”๊ตฌ์‚ฌํ•ญ
~cpp 
๋ช…๋ น์–ด
- put {50, 100, 500, 1000} - ๋ˆ์„ ๋„ฃ๋‹ค.
- choose {sprite, tea, tejava} - ์Œ๋ฃŒ์ˆ˜ ์„ ํƒํ•˜๋‹ค.
- draw - ๋ˆ์„ ๋นผ๋‹ค.
- exit - ์žํŒ๊ธฐ๋ฅผ ๋– ๋‚œ๋‹ค (ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ)

๊ฐ€๊ฒฉ
sprite: 400
tea: 500
tejava: 500
~cpp 
>> put 100
money: 100

>> put 500
money: 600

>> choose sprite
come out sprite!
money: 200

>> draw
chage: 200

>> exit

๋‘๋ฒˆ์งธ ์š”๊ตฌ์‚ฌํ•ญ
~cpp 
- ์ด์ƒํ•œ ๋ˆ ์•ˆ๋จ
- ์ด์ƒํ•œ ๋ช…๋ น์–ด ์•ˆ๋จ
- ์Œ๋ฃŒ์ˆ˜๊ฐ€ ์ˆ˜๋Ÿ‰(์ดˆ๊ธฐ์—๋Š” ๋ชจ๋‘ 3๊ฐœ)์„ ๊ฐ€์ง€๊ณ  ๋‹ค ๋–จ์–ด์ง€๋ฉด ํ’ˆ์ ˆ ์ถœ๋ ฅ
~cpp 
>> address
incorrect command!

>> put 1000
money: 1000

>> put 1000
money: 2000

>> put 123
incorrect money!

>> choose sprite
come out sprite! rest amount: 2
money: 1600

>> choose sprite
come out sprite! rest amount: 1
money: 1200

>> choose sprite
come out sprite! rest amount: 0
money: 800

>> choose sprite
run out of sprite!
money: 800

์„ธ๋ฒˆ์งธ ์š”๊ตฌ์‚ฌํ•ญ
~cpp 
- ์Œ๋ฃŒ์ˆ˜ milk (600์›) ์ถ”๊ฐ€
- ์Œ๋ฃŒ์ˆ˜ tea, milk๋งŒ {hot, cold} ์„ ํƒ
- ๋ชจ๋“  ํ•จ์ˆ˜ 30 ๋ผ์ธ ์ด๋‚ด
~cpp 
>> put 1000
money: 1000

>> choose hot milk
come out hot milk! rest amount: 2
money: 400


์Šค๋ ˆ๋“œ

์‚ผ๊ฐํ˜• ๊ทธ๋ฆฌ๋Š”๋ฐ ์•ฝ๊ฐ„ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”๊ฑฐ ๊ฐ™์€๋ฐ์š”..
๋ฐ‘๋ณ€๋ณด๋‹ค ๋†’์ด๊ฐ€ ๊ธธ๋ฉด '*'๋ฅผ ์ฐ๊ธฐ๊ฐ€ ๊ณค๋ž€ํ•˜๊ฑฐ๋“ ์š”? ์ด๋“ฑ๋ณ€์‚ผ๊ฐํ˜• ๊ทธ๋ฆฌ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€ ์ด์œ ๋กœ ๋งŒ๋งŒ์ฐฎ๋„ค์—ฌ..-_-;;
๊ทธ๋ƒฅ ์ง๊ฐ์ด๋“ฑ๋ณ€์‚ผ๊ฐํ˜•์ด๋‚˜ ์ •์‚ผ๊ฐํ˜•๊ทธ๋ฆฌ๊ธฐ ํ•˜๋ฉด ์–ด๋–จ๊นŒ์—ฌ? --๊ฐ•์„์šฐ
์ •์‚ผ๊ฐํ˜• ํ•ด๋„ ๋˜๊ณ ... ๋ญ˜ ๋งŒ๋“ค์–ด๋„ ๋˜๊ณ ... ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฑด for๋‚˜ while, if ์„ค๊ณ„๋ฅผ ์ž˜ํ•˜๋Š” ๊ฑฐ์•ผ... --์žฌ๋™

Accelerated C++ ์ฑ… ์ง‘์— ๋„์ฐฉํ–ˆ๋‹ค. :) --์žฌ๋™

ํ—› ์ˆ™์ œ ์–ด๋””๊ฐ„๊ฒจ,,,,,ใ…กใ…ก --๊ฐ•ํฌ๊ฒฝ


์• ์ดˆ์— ์ˆซ์ž 4๊ฐœ ๋ฏธ๋งŒ์ž…๋ ฅ ๋ฐ›์„๋•Œ๋ฅผ ์ƒ๊ฐ ๋ชปํ–ˆ๋”๋‹ˆ๋งŒ ์†Œ์Šค๊ฐ€ ๊ตฌ๋ฆฌ๊ตฌ๋ฆฌํ•˜๋„ค์—ฌ..
์ŠคํŠธ๋ง ๊ธธ์ด ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์€ ์ฐจํ›„์— ์ด์–ด์„œ ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค..ใ…ก,.ใ…ก;; --๊ฐ•์„์šฐ

์‚ฌ๊ฐํ˜• ์งฐ๋Š”๋ฐ์š”..๋ญ๊ฐ€ ํ‹€๋ฆฐ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์š”..1๊ฐœ์˜ ์—๋Ÿฌ๊ฐ€ ์ž๊พธ ๋œจ๋Š”๋ฐ..์‹ ์• 

~cpp 
else (c % 2 == 0) 
   cout << " ";
์ด๋ถ€๋ถ„์—์„œ else ๋‹ค์Œ์— ์กฐ๊ฑด๋ฌธ์„ ๋˜ ๋‹ฌ๋ ค๋ฉด else if๋กœ ๋ฐ”๊พธ์–ด ์ค˜์•ผ์ง€... ๋ฐ‘์—์ฒ˜๋Ÿผ...
~cpp 
else if (c % 2 == 0) 
   cout << " ";
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์—๋Ÿฌ๋Š” ์—†์ง€๋งŒ ๊ฒฐ๊ณผ๊ฐ€ ์•„์ง์€ ์ด์ƒํ•˜๋‹ค. ์šฐ์„ ์€ ์Šค์Šค๋กœ ๊ณ ์ณ๋ด. --์žฌ๋™

์˜์–ด์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์ฝ๋„๋ก ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์š”?์˜ˆ๋ฅผ ๋“ค์–ด i๊ฐ€ 1์ด๊ณ ,son์ด 3์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋„๋ก ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์•ผํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์š”.. -_-;;; ์‹ ์• 
strlen()ํ•จ์ˆ˜ ์ด์šฉํ•˜์‹œ์˜ค --๊ฐ•ํฌ๊ฒฝ

Vending machine ๋‹ค ์งœ๊ธด ์งฐ๋Š”๋ฐ ๋˜ ํ˜•์ด ์ง ๊ฑฐ๋ž‘ ๋น„์Šทํ•˜๊ฒŒ ๋๋„ค์—ฌ..์ด๋†ˆ์˜ ๊ธฐ์–ต๋ ฅ์ด๋ž€..ใ…Žใ…Ž
์ด 159๋ผ์ธ์ด๊ณ  chooseํ•จ์ˆ˜๊ฐ€ 30๋ผ์ธ์ด ๋„˜์–ด์„œ ์–ด๊ฑฐ์ง€๋กœ vendํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์—ˆ๊ตฌ์—ฌ..-_-;;
์•ˆํŒŒ๋Š” ์Œ๋ฃŒ์ˆ˜๋„ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ–ˆ์Šต๋‹ˆ๋‹ค..--๊ฐ•์„์šฐ


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:45
Processing time 0.0094 sec