๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.9 Exercise 6 Solution

Problem: ๋‹ค์Œ AbstractStack์€ ์ •์ˆ˜ ์Šคํƒ ํด๋ž˜์Šค๋กœ์„œ ์ถ”์ƒ ํด๋ž˜์Šค์ด๋‹ค. 1 2 3 4 5 6 7 class AbstrackStack { public: virtual bool push(int n) = 0; // ์Šคํƒ์— n์„ ํ‘ธ์‹œํ•œ๋‹ค. ์Šคํƒ์ด full์ด๋ฉด false ๋ฆฌํ„ด virtual bool pop(int& n) = 0; // ์Šคํƒ์—์„œ ํŒํ•œ ์ •์ˆ˜๋ฅผ n์— ์ €์žฅํ•˜๊ณ  ์Šคํƒ์ด empty์ด๋ฉด false ๋ฆฌํ„ด virtual int size() = 0; }; ์ด๋ฅผ ์ƒ์†๋ฐ›์•„ ์ •์ˆ˜๋ฅผ ํ‘ธ์‹œ, ํŒํ•˜๋Š” IntStack ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๋ณด์—ฌ๋ผ. Objective & Hints: ...

November 21, 2019 ยท 2 min ยท Sobamemil
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.9 Exercise 3 Solution

Problem: ๋‹ค์Œ ์ถ”์ƒ ํด๋ž˜์Šค LoopAdder๊ฐ€ ์žˆ๋‹ค. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 class LoopAdder { // ์ถ”์ƒ ํด๋ž˜์Šค string name; // ๋ฃจํ”„์˜ ์ด๋ฆ„ int x, y, sum; // x์—์„œ y๊นŒ์ง€์˜ ํ•ฉ์€ sum void read(); // x, y ๊ฐ’์„ ์ฝ์–ด ๋“ค์ด๋Š” ํ•จ์ˆ˜ void write(); // sum์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜ protected: LoopAdder(string name="") { // ๋ฃจํ”„์˜ ์ด๋ฆ„์„ ๋ฐ›๋Š”๋‹ค. ์ดˆ๊นƒ๊ฐ’์€ "" this->name = name; } int getX() { return x; } int getY() { return y; } virtual int calculate() = 0; // ์ˆœ์ˆ˜ ๊ฐ€์ƒ ํ•จ์ˆ˜. ๋ฃจํ”„๋ฅผ ๋Œ๋ฉฐ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜ public: void run(); // ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•˜๋Š” ํ•จ์ˆ˜ }; void LoopAdder::read() { // x, y ์ž…๋ ฅ cout << name << ":" << endl; cout << "์ฒ˜์Œ ์ˆ˜์—์„œ ๋‘๋ฒˆ์งธ ์ˆ˜๊นŒ์ง€ ๋”ํ•œ๋‹ค. ๋‘ ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” >> "; cin >> x >> y; } void LoopAdder::write() { // ๊ฒฐ๊ณผ sum ์ถœ๋ ฅ cout << x << "์—์„œ " << y << "๊นŒ์ง€์˜ ํ•ฉ = " << sum << " ์ž…๋‹ˆ๋‹ค" << endl; } void LoopAdder::run() { read(); // x, y๋ฅผ ์ฝ๋Š”๋‹ค sum = calculate(); // ๋ฃจํ”„๋ฅผ ๋Œ๋ฉด์„œ ๊ณ„์‚ฐํ•œ๋‹ค. write(); // ๊ฒฐ๊ณผ sum์„ ์ถœ๋ ฅํ•œ๋‹ค. } Write a ๋‹ค์Œ main() ํ•จ์ˆ˜์™€ Execution Result์ฒ˜๋Ÿผ ๋˜๋„๋ก ForLoopAdder class that inherits from the LoopAdder class. ForLoopAdder ํด๋ž˜์Šค์˜ calculate() ํ•จ์ˆ˜๋Š” for ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ํ•ฉ์„ ๊ตฌํ•œ๋‹ค. ...

November 21, 2019 ยท 3 min ยท Sobamemil
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.9 Exercise 1 Solution

Problem: The following is an abstract class Converter that converts units. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include using namespace std; class Converter { protected: double ratio; virtual double convert(double src)=0; // src๋ฅผ ๋‹ค๋ฅธ ๋‹จ์œ„๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. virtual string getSourceString()=0; // src ๋‹จ์œ„ ๋ช…์นญ virtual string getDestString()=0; // dest ๋‹จ์œ„ ๋ช…์นญ public: Converter(double ratio) { this->ratio = ratio; } void run(){ double src; cout << getSourceString() << "์„ " << getDestString() << "๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. "; cout << getSourceString() << "์„ ์ž…๋ ฅํ•˜์„ธ์š”>> "; cin >> src; cout << "๋ณ€ํ™˜ ๊ฒฐ๊ณผ : " << convert(src) << getDestString() << endl; } }; Write a ๋‹ฌ๋Ÿฌ๋ฅผ ์›ํ™”๋กœ ํ™˜์‚ฐํ•˜๋Š” WonToDollar class that inherits from the Converter class. The main() function and execution result are as follows. ...

November 20, 2019 ยท 2 min ยท Sobamemil