【问题标题】:Loop A Boolean In C++在 C++ 中循环一个布尔值
【发布时间】:2015-11-20 03:57:38
【问题描述】:

我是 C++ 新手,目前通过 Code::Blocks 运行我的代码 所以,我想问一下,当用户在这段代码中输入否时,如何重复相同的代码:

if (first == "No" )
{
    cout << "\nPlease Re-enter Your Name. \n";
    cin >> name;
    cout << "\nPlease Re-enter Your Age. \n";
    cin >> age;
    cout << "\nPlease Re-select Your Class. \n";
    cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
    cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Classes" << setw(1) << "|" << setw(15) << left << "Advanced" << setw(1) << "|"  << setw(5) << endl;
    cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
    cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Mage" << setw(1) << "|" << setw(15) << left << "Sorceress" << setw(1) << "|"  << setw(5) << endl;
    cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
    cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Fighter" << setw(1) << "|" << setw(15) << left << "Warrior" << setw(1) << "|" << endl;
    cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
    cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Ninja" << setw(1) << "|" << setw(15) << left << "Assassin" << setw(1) << "|"  << setw(5) << endl;
    cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;

    cout << "\n";
    cin >> str_class;
    if (str_class == "Mage" )
    {
        cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
        cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Name" << setw(1) << "|" << setw(15) << left << "Class" << setw(1) << "|"  << setw(15) << "Age" << setw(1) << "|" << endl;
        cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
        cout << setfill(' ') << setw(1) << "|" << setw(15) << left << name << setw(1) << "|" << setw(15) << left << str_class << setw(1) << "|"  << setw(15) << age << setw(1) << "|" << endl;
        cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
    }

    if (str_class == "Fighter")
    {
        cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
        cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Name" << setw(1) << "|" << setw(15) << left << "Class" << setw(1) << "|"  << setw(15) << "Age" << setw(1) << "|" << endl;
        cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
        cout << setfill(' ') << setw(1) << "|" << setw(15) << left << name << setw(1) << "|" << setw(15) << left << str_class << setw(1) << "|"  << setw(15) << age << setw(1) << "|" << endl;
        cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
    }

    if (str_class == "Ninja")
    {
        cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
        cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Name" << setw(1) << "|" << setw(15) << left << "Class" << setw(1) << "|"  << setw(15) << "Age" << setw(1) << "|" << endl;
        cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
        cout << setfill(' ') << setw(1) << "|" << setw(15) << left << name << setw(1) << "|" << setw(15) << left << str_class << setw(1) << "|"  << setw(15) << age << setw(1) << "|" << endl;
        cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << endl;
    }

    cout << "Your Profile Has Been Changed. \nDo You Want This Profile To Be Sent To The Academy Database ? (Yes/No) \n";
    cin >> first;
}

如何改变这个,让每次用户说不,它重复这个代码?

【问题讨论】:

  • while 循环......?
  • 还要查看函数。您可以使用它们来摆脱大量重复的代码。
  • 谢谢推荐....昨晚刚开始学函数

标签: c++ boolean


【解决方案1】:

使用 while 语句,while first 等于 No 然后继续循环运行。当他们再次输入 No 时,它将使用户保持在循环中并重新运行 while 循环中的代码。

    while (first == "No" )
            {
...
    cout << "Your Profile Has Been Changed. \nDo You Want This Profile To Be Sent To The Academy Database ? (Yes/No) \n";
                cin >> first;

        }

【讨论】:

  • 哦,我忘了,我一直在想 for 循环...谢谢
  • 谁觉得有必要否决我的回答,请自行解释。
  • 有时人们会投票反对他们认为不好的问题的答案。
  • 是的,也许,答案就是用户想要的。不管怎样,我已经结束了,大声笑。
猜你喜欢
  • 2018-12-13
  • 2018-05-16
  • 2011-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
相关资源
最近更新 更多