πŸ’» Dev & CSC++ Programming

C++ Programming Ch.10 Exercise 11 Solution

Problem: μ±…μ˜ 년도, 책이름, μ €μž 이름을 담은 Book 클래슀λ₯Ό λ§Œλ“€κ³ , vector v;둜 μƒμ„±ν•œ 벑터λ₯Ό μ΄μš©ν•˜μ—¬ 책을 μž…κ³ ν•˜κ³ , μ €μžμ™€ λ…„λ„λ‘œ κ²€μƒ‰ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λΌ. Execution Result: Objective & Hints: vector에 객체의 μ‚½μž…, 검색 μ‘μš© μ—°μŠ΅ Code: 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 #include #include #include using namespace std; class Book{ int year; string b_name; string p_name; public: void set(int year, string b_name, string p_name){ this->year = year; this->b_name = b_name; this->p_name = p_name; } string getP(){ return p_name; } int getY(){ return year; } void show(){ cout << year << "년도, " << b_name << ", " << p_name << endl; } }; int main() { vector v; Book b; int year; string b_name; string p_name; cout << "μž…κ³ ν•  책을 μž…λ ₯ν•˜μ„Έμš”. 년도에 -1을 μž…λ ₯ν•˜λ©΄ μž…κ³ λ₯Ό μ’…λ£Œν•©λ‹ˆλ‹€.\n"; while(true){ cout << "년도>>"; cin >> year; if(year==-1) break; fflush(stdin); cout << "책이름>>"; getline(cin, b_name); cout << "μ €μž>>"; getline(cin, p_name); b.set(year, b_name, p_name); v.push_back(b); } cout << "총 μž…κ³ λœ 책은 " << v.size() << "ꢌ μž…λ‹ˆλ‹€.\n"; cout << "κ²€μƒ‰ν•˜κ³ μž ν•˜λŠ” μ €μž 이름을 μž…λ ₯ν•˜μ„Έμš”>>"; fflush(stdin); getline(cin, p_name); for(int i=0; i<v.size(); i++){ if(v[i].getP() == p_name) v[i].show(); } cout << "κ²€μƒ‰ν•˜κ³ μž ν•˜λŠ” 년도λ₯Ό μž…λ ₯ν•˜μ„Έμš”>>"; cin >> year; for(int i=0; i<v.size(); i++){ if(v[i].getY() == year) v[i].show(); } } Explanation: ...

March 10, 2020 Β· 2 min Β· Sobamemil