【问题标题】:How to set up do-while loop condition C++?如何设置 do-while 循环条件 C++?
【发布时间】:2016-09-20 07:58:37
【问题描述】:

我需要制作一个菜单,用户可以在其中选择要输入的选项,但菜单选项是用字母或数字选择的。

菜单将有选项:s,d,1,2,3,4,r 和 q(退出程序)。

用户输入,然后会有if else语句进一步指导编译器需要运行什么代码,然后在所有步骤完成后需要返回菜单。

但是,我需要程序不仅在用户输入 q 时结束,而且在他们输入任何不在菜单上的响应时结束。但我还需要它在结束前写一个声明。

我是否在 while 条件中定义此参数,如果是,我该如何处理?以及如何确保在程序结束之前打印语句。

对不起,我是编码新手,这可能是一个愚蠢的问题,可能没有准确地问出来。但任何帮助将不胜感激。

【问题讨论】:

  • 您可以将具有这些菜单项的switch 语句作为对应的cases 并在default 语句中退出。但是你最好开始编码并询问它什么时候不起作用。
  • 您应该自己编写代码并询问您的代码是否会遇到一些具体问题。
  • 抱歉,我已经用不同的方式对它进行了 4 次不同的编码,但从未得到正确的结果。

标签: do-while


【解决方案1】:

这里有一个基本的例子:

#include <iostream>
using namespace std;

int main ()
{
   // Local variable declaration:
   int a = 10;

   // do loop execution
   do
   {
       cout << "value of a: " << a << endl;
       a = a + 1;
   }while( a < 20 );

   return 0;
}

上面的代码编译执行后,会产生如下结果:

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19

你可以在google上找到很多例子和教程

【讨论】:

    【解决方案2】:

    其中一种更简单的方法是创建一个大型 while 循环,在其中进行选择。在循环中,您应该向用户请求一个值,然后对该值执行一系列 if/else 语句。 (case 也可以,但 if/else 在开头更容易理解)。

    我基本上已经概述了下面的代码。抱歉有任何语法错误,我最近一直在看太多的python。

    keeplooping=True;
    char choice;
    while(keeplooping) {
        cout << "Make a choice";  //add user choices so they can see?
    
        cin >> choice;
        if(choice=='1') {
            //do something
        }
        else if(choice=='2') {
            //do something
        }
        //keep going....
        else if(choice=='q') {
            keeplooping=False
        }
        else  {
            keeplooping=False;
            cout << "Invalid choice";
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-23
      • 1970-01-01
      • 2018-05-09
      • 1970-01-01
      • 2013-03-23
      • 1970-01-01
      • 2022-10-14
      • 2016-09-23
      相关资源
      最近更新 更多