あとは正解判定をして、正解の時はおめでとうメッセージを表示して終わるとかすれば完成です。
つまり
今回のルール
の部分をこしらえて完成!
文字列同士が同じかどうかはどうやったら判定できるっけ?
C言語では、 strcmp関数を使わないと文字列比較ができないですし、そもそも文字列という方がなかったので、文字配列+'\0'なんていう、疲れるものを使っていました。(みんなにも文字配列による文字列表現は教えたけど、C言語のことは知らんよね)
string同士の比較はどうやるかは教えてあると思うのでそれを使ってください。
そうすると、メインのループは以下のようになります。
int main() { string answer = "0000"; //正答 string input = "0000"; //入力用 srand((unsigned int)(time(nullptr))); answer = MakeProblem(); cout << "THE HIT AND BLOW GAME" << endl; cout << "Let's Play the GAME!!" << endl; while (true) { cout << "予想した4桁の整数を入力:"; cin >> input; if (エラー処理で問題なかったら) { if(もし正解だったら) break;//どうせ正解したらループ抜けちゃうから、elseと書かなくてすむ //HIT数を数えて表示 cout << " Hit:" << HIT数カウント呼び出し << endl; //BLOW数を数えて表示 cout << "Blow:" << BLOW数カウント呼び出し << endl; } } //正解した時しかここにたどり着かない。 //ループの中で処理してもいいけど、今回はこんな感じにしてみました。 cout << "おめでとう!" << endl; cout << "答えは" << answer << "でした" << endl; return 0; }