私のプログラムは、startValとendValで指定された範囲内のすべての数値の合計を得るために計算を実行する必要があります。私は他のやや似たような質問を見てきましたが、私はそれらから多くを引っ張っていません。誰かが私が間違って何をしているのか教えてくださいforループ、私はそれを修正することができますか?forループが出力を生成しないのはなぜですか?
#include <iostream>
using namespace std;
main() {
//Declare variables
int startVal;
int endVal;
int newVal;
int sum;
cout << "Enter starting value for loop (1 - 500): ";
cin >> startVal;
while (startVal<=1 || startVal>=500) {
cout << "Invalid starting value.\n";
}
while(startVal>=1 && startVal<=500) {
cout << "Enter ending value for loop (" << startVal+1 << " - 1000): ";
cin >> endVal;
if(endVal<startVal+1 || endVal>1000) {
cout << "Invalid ending value.\n";
}
}
for(startVal=newVal; newVal==endVal; ++newVal) {
sum = newVal+1;
}
cout << "The sum of the integers from " << startVal << " through " << endVal << " is " << sum << endl;
return 0;
}
本当に 'for(startVal = newVal; newVal == endVal; ++ newVal)'を見てください。条件は真ですか? – NathanOliver
デバッガのコードをステップ実行して、ループが正しくない理由を理解することができます。 – Blastfurnace
クロージャをチェックしてください。 'while(startVal> = 1 && startVal <= 500)'は常に真であると思う。 – Ben