循环中的是或否循环c ++

时间:2015-09-24 22:28:16

标签: c++

我正在编写一个程序,允许用户输入一个整数,然后我将其反转并输出回它们。我希望程序能够根据用户的请求再次运行并允许它们输入另一个整数,但我无法这样做。

以下是我希望我的程序能够做到的事情:

  

输入正整数:38475
  反向的整数是57483   你想再这样做吗? (是/否)y
  输入正整数:9584
  反向的整数是4859   你想再这样做吗? (y / n)n

这是我的代码,目前处理反转输入。

#include <iostream>
using namespace std;

int main()
{
    int num, i = 10;
    cout << "Enter a positive integer: ";
    cin >> num;
    cout << " This integer in reverse is ";

    do
    {
        cout << (num%i) / (i / 10);
        i *= 10;
    } while ((num * 10) / i != 0);

    return 0;
}

如何根据用户输入多次运行程序?

2 个答案:

答案 0 :(得分:1)

将字符初始化为&#39; y&#39;。获取用户输入并在用户提供输入后将其设置为char。 while循环看起来应该像while (answer == 'y')。这样它至少会运行一次。

答案 1 :(得分:1)

As Ceelos points out in their answer您可以使用单个do while使用另一个char循环执行此操作,并询问用户是否要重复该程序。为清晰起见,我添加了一个示例:

int main()
{
    char repeat = 'n';
    do
    {
        int num, i = 10;
        cout << "Enter a positive integer: ";
        cin >> num;
        cout << " This integer in reverse is ";

        do
        {
            cout << (num%i) / (i / 10);
            i *= 10;
        } while ((num * 10) / i != 0);

        // Ask the user if they wish to play again
        cout << endl << "Would you like to have another turn?" << endl;
        // Get their answer
        cin >> repeat;

    } while (repeat == 'y');

    return 0;
}