私のプログラムでWHILEループを繰り返すことを試みています。私はこれで約4時間今しているので、おそらく私は何かを欠いている。C++ Whileループが繰り返されない
私が入力したものに関係なく、ループを繰り返すことはできません。さらに、プロンプトで複数の文字を入力すると、後続の7つのループがすべてスキップされます。
さらに、何かが入力されたときに最後の変数が変わっていない場合でも、上記のすべての問題を解決するのに役立ちます。しかし、私はこの時点で1つだけを取るだろう。あなたの中の状態で
cout << "Welcome. Input anything to start the sales reporting process.\n\n";
cin >> start; **//If I enter more than one character here it skips my other loops**
if (start == start)
{
cout << "\n\nPlease enter the amount of each sale for Darwin when prompted, only enter one at a time.\n";
cout << "When you are finished entering sales, input a '1'.\n\n";
cout << "Enter a sale for Darwin: ";
cin >> darwinSale;
cout << endl << endl;
while(darwinSale =! 1)
{
cout << "Enter a sale for Darwin: ";
cin >> darwinSale;
if (darwinSale <= 50999)
darwinCom = darwinSale * 0.04;
if (darwinSale >= 51000 and darwinSale <= 125999)
darwinCom = darwinSale * 0.05;
if (darwinSale >= 126000 and darwinSale <= 200999)
darwinCom = darwinSale * 0.06;
if (darwinSale >= 201000)
darwinCom = darwinSale * 0.07;
darwinComTotal = darwinComTotal + darwinCom;
darwinTotal = darwinSale + darwinTotal;
cout << endl << endl;
}
while(darwinSale!= 1)に変更しよう – xDJR1875
ああ、はい、恐ろしい '=! '演算子。それを '!='に変更してください。書かれているように、 'darwinSale =! 1 'の場合、 '!'が '1'に適用され、結果(' 0')が 'darwinSale'に割り当てられ、値0が生成され、即座にループが終了します。 –
また、if文が冗長であるため、start == startは、自身と比較して常にtrueになる必要があります。 –