私はちょうどc ++(Javaから来ています)を始めたばかりで、いくつかの基本的な演習をしようとしています. アイデアは、5 以外の入力を求め、ユーザーが 5 を入力するとメッセージを表示し、ユーザーが 5 以外を 10 回入力すると別のメッセージを表示するというものです。コードは次のとおりです。
void notFive () {
int count = 0;
while (count < 10) {
int input = 0;
cout << "Enter any number other than 5." << endl;
cin >> input;
if (input == 5)
break;
count++;
}
if (count == 10)
cout<<"You are more patient than I am, you win.";
else
cout << "You weren't supposed to enter 5!";
}
}
私の問題は、このコードが「5 以外の任意の数字を入力してください」と出力することだけだということです。10回言ってから、「あなたは私よりも忍耐強く、あなたが勝ちます」と言います。何が間違っているのですか?
私のすべてのコードが必要な場合 (私がただのばかではないことを確認するため)、ここにあります:
#include <iostream>
#include <stdio.h>
using namespace std;
class Hello {
public:
void notFive () {
int count = 0;
while (count < 10) {
int input = 0;
cout << "Enter any number other than 5." << endl;
if ( ! (cin >> input) ) {
cout << "std::cin is in a bad state! Aborting!" << endl;
return;
}
if (input == 5)
break;
count++;
}
if (count == 10)
cout<<"You are more patient than I am, you win.";
else
cout << "You weren't supposed to enter 5!";
}
}hello;
int main() {
Hello h;
h.notFive();
return 0;
}