C ++做while循环建议

时间:2016-10-25 17:59:16

标签: while-loop do-while

所以在我的大学里我们还没有完成while while循环,所以我想在我们做之前尝试一下但是我遇到了它的一个问题,我希望程序根据用户输入执行不同的功能,A执行加法,B减法,C退出程序 无论用户输入什么,我用一段时间写的程序一个接一个地执行这些功能,我不确定如何正常工作。

非常感谢任何建议。

2 个答案:

答案 0 :(得分:0)

要注意的事情。您有用户输入字符供选择,因此请将userChoice设为字符。请注意在这种情况下do-while如何用于输入验证。我更改了额外的while循环,在结尾处使用分号表达条件语句。您可以使用switch,"菜单驱动程序"替换if和else ifs。这是您想要的工作程序。如果你想在整个条件语句周围执行do-while而不是将它用作输入验证,那么请将它放在所有条件语句周围,并在它不是C时进行检查。

#include <iostream>
#include <string>

using namespace std;
int main()
{
  char userChoice;

  int vaulue1;
  int vaulue2;

  int addtionValue;
  int subtractionValue;

  cout << "Choice A: will preform an addition" << endl;
  cout << "Choice B: will preform a subtraction" << endl;
  cout << "Choice C: will quit\n" << endl;


    do
      {
        cout << "Enter your choice\n" << endl;
        cin >> userChoice;
      } while(userChoice != 'A' && userChoice != 'B' && userChoice != 'C');

    if(userChoice == 'A')
      {
        cout << "Addition\n" << endl;
        cout << "Please enter the first value you want to add\n" << endl;
        cin >> vaulue1;
        cout << "Please enter the second value you want to add\n" << endl;
        cin >> vaulue2;

        addtionValue = vaulue1 + vaulue2;
        cout << "The addtion answer is " << addtionValue << endl;
      }

    else if(userChoice == 'B')
      {

        cout << "Subtraction\n" << endl;
        cout << "Please enter the first value you want to subtract\n" << endl;
        cin >> vaulue1;
        cout << "Please enter the second value you want to subtract\n" << endl;
        cin >> vaulue2;

        subtractionValue = vaulue1 - vaulue2;
        cout << "The subtract answer is " << subtractionValue << endl;
      }

    else if(userChoice == 'C')
      {

        cout << "Exit ";
        return -1;
      }

    return 0;
}

答案 1 :(得分:0)

  1. 你应该只使用一个“while” - 只是第一次是正确的
  2. 其他“whiles”是空循环;清理它们
  3. 最好使用“switch-case”
  4. 当您输入Int作为输入时,您的方法想要给Int另一个