Я пытаюсь повторить цикл WHILE в моей программе. Я занимаюсь этим около 4 часов, поэтому, возможно, я просто что-то пропустил.C++ while Loop не повторится
Я не могу получить цикл, чтобы повторить, независимо от того, что я набираю. Кроме того, если я ввешу более одного символа в приглашении, он пропустит все 7 моих последующих циклов.
Тогда, даже лучше, переменные в конце даже не меняются, когда что-то набирается, надеюсь, вы можете помочь мне со всеми перечисленными выше проблемами (чем проще, тем лучше). Но на этот момент я возьму только одну.
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;
}
попробуйте изменить его на время (darwinSale! = 1) – xDJR1875
Ах, да, страшный оператор '=!'. Измените его на '! ='. Как написано, в 'darwinSale =! 1', '!' Применяется к '1', а результат (' 0') присваивается 'darwinSale', производя значение 0 и немедленно заканчивая цикл. –
Также ваш оператор if избыточен, start == start всегда должен быть равен true, поскольку он сравнивается с самим собой. –