このコードが意図したとおりに機能しない理由はわかりません。 "入力%7!= 3 ||入力%7!= 4)"。私はモジュロ7が3または4に等しくなく、ループにとどまっていると言っています。私は10を入力したときに10モジュロ7は、入力されたモジュロ7が3または4は、ループにとどまると等しくない場合、私は言っている3ループとモジュロ
#include <iostream>
#include <string>
using namespace std;
int main(){
int input;
int count = 1;
cout << "Please Enter a positive integer that is 3 or 4 modulo 7: ";
cin >> input;
while (input <= 0 || input % 7 != 3 || input % 7 != 4){
count++;
cout << count << "tries, " << "please try again: ";
cin >> input;
}
cout << "Congratulations, you passed";
return 0;
}
これらの条件のうちどれかが真であればループします。 ** 1。**入力は0以下です。** 2。** '入力/ 7は、3の余りがありません。 '** 3。**'入力/ 7はありません。残りの4つの部分を持っています---あなたがどのように期待通りに働いていないのか今すぐに知ることができますか? – byxor
OR(||)でAND(&&)ではないですか? '10%7!= 3'は偽ですが、' 10%7!= 4'は真です。したがって、ループは次の反復に正常に移動します。コントロールが3と4の場合に移動するようにするには、&&を使用する必要があります。 –