C++

[C++] 명품 C++ 프로그래밍 실습문제 6장 오픈챌린지/openchallenge

Hs’s Coding vlog 2023. 1. 6. 00:56

[C++]명품 C++ 프로그래밍 실습문제 openchallenge

[C++]명품 C++ 프로그래밍 실습문제 오픈챌린지

명품 C++ 프로그래밍 실습문제/연습문제 /C++

#include <iostream>
#include <string>
#include <ctime>
#include <cstdlib>
using namespace std;
class Person{
    string name;
public:
    Person(string sen){
        name = sen;
    }
    string getName(){
        return  name;
    }
};


class UpAndDownGame{
public:
    static int  getRand(){
        srand((unsigned)time(0));
        int realnum;
        realnum = rand()%100;
        return realnum;//이넘버와 같은 사람이 게임에서 이긴다.
    }
    
    static void gameStart(){
        int num;
        int real = getRand();
        int state = 0; //김민수일때 0이면 오은경일때 1
        Person A("김인수");
        Person B("오은경");
        
        cout << "답은 0과 99사이에 있습니다." << endl;
        int first1 = 0, last1=99;
        while (1) {
            
            
            if(state==0){
                cout << A.getName() << ">>";
                cin >> num;
                if(real < num){
                    last1 = num;
                }
                else if( real > num){
                    first1 = num;
                }
                else {
                    cout << "김민수가 이겼습니다" << endl;
                    break;
                }
                state = 1;
            }
            
            else if(state ==1){
                cout << B.getName() << ">>";
                cin >> num;
                if(real < num){
                    last1 = num;
                }
                else if( real > num){
                    first1 = num;
                }
                else {
                    cout << "오은경가 이겼습니다" << endl;
                    break;
                }
         
                state =0;
            }
            
            cout << "답은 " << first1 << "과 " << last1 << "사이에 있습니다." << endl;
            
            
  
        }
    }
    
};



int main() {
    
    UpAndDownGame a;
    a.gameStart();

    return 0;
}