Typing diary

명품 c++ programming 4강 Open Challenge 본문

C, C++

명품 c++ programming 4강 Open Challenge

Jcon 2022. 8. 16. 15:14
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
64
65
66
#include <iostream>
#include <string>
using namespace std;
 
class Player
{
    string name;
public:
    void setname();
    string getname() { return name; }
};
 
void Player::setname()
{
    cout << "참가자의 이름을 입력하세요. 빈칸 없이>>";
    cin >> name;
}
 
class WordGame
{
    Player *player;
    int playerNum;
    string after, before;
public:
    WordGame() { after = "아버지"; }
    void runGame();
};
 
void WordGame::runGame()
{
    cout << "끝말 잇기 게임을 시작합니다." << endl;
    cout << "게임에 참가하는 인원은 몇명입니까?" << endl;
 
    cin >> playerNum;
    player = new Player[playerNum];
 
    for (int i = 0; i < playerNum; i++)
    {
        player[i].setname();
    }
 
    cout << "시작하는 단어는 아버지입니다." << endl;
    
    while (true)
    {
        for (int i = 0; i < playerNum; i++)
        {
            cout << player[i].getname() << ">>";
            cin >> before;
            if ((after.at(after.length() - 1!= before.at(1))
                || (after.at(after.length() - 2!= before.at(0)))
            {
                cout << player[i].getname() << "님이 졌습니다." << endl;
                return;
            }
            after = before;
        }
    }
}
 
int main()
{
    WordGame game;
    game.runGame();
}
 
cs

'C, C++' 카테고리의 다른 글

c++ 메모리 동적할당 초기화, 메모리 누수  (0) 2022.08.16
string 문자열  (0) 2022.08.16
명품 C++ programming 3강 2번문제  (0) 2022.08.16
명품 c++ programming 3강 3,4,5번  (0) 2022.08.16
c++ 객체 배열  (0) 2022.08.16