developer
developer

Reputation: 283

How to loop the program's asking for new set of inputs in c++?

Consider the following code:

#include <iostream>
using namespace std;
int main(){
    int a,b;
    cout << "Enter two positive numbers:" <<endl;
    cin >> a >> b;
    if (a<b) cout <<a<<" is less than "<< b<<endl;
    else if (a>b) cout <<a<<" is greater than " <<b<<endl;
    }

How can I make the program endlessly repeat asking for a new set of numbers as input?

Upvotes: 0

Views: 1323

Answers (3)

deepak kumar
deepak kumar

Reputation: 9

Suppose your program is to find the Factorial of number and you want it to loop such that it ask for new value from the user

int main()
{   
    int n;
    while (true) {
        int factorial = 1;
        cin >> n;
        if (n==0) {
        cout << 0;
        }
        else {
        for (int i=n;i>0;i--) {
        factorial = factorial*i;
        }
        cout << factorial;
        }
    }
return 0;
} 

Upvotes: 0

Vap0ur3x
Vap0ur3x

Reputation: 13

Depends on what exactly do you want your program to do. If you want it to "deny access". For example lets say you have want a number K > 3 always for the program to continue. The all you have to do is use a do- while loop:

do
    {
        cout << "Enter the value for the sequence: ";
        cin >> K;

            if ( K <= 3)
            {
                cout << "Write a bigger number!" << endl;
            }
    } while(K <= 3);

Otherwise just use a normal loop with the condition suitable for the task.

Upvotes: 1

Adrian Mole
Adrian Mole

Reputation: 51905

Here's the simplest way of doing what you want (there are other ways). Basically, you just need to 'wrap' the code that you want to repeat in a loop, where the 'test' condition for the loop will always evaluate to true.

Note the comments with "///" I've given:

#include <iostream>
//using namespace std; /// Search this site for "Why using namespace std is bad"
using std::cout;/// Just declare usage of those feature you ACTUALLY use...
using std::cin;
using std::endl;

int main() {
    int a, b;
    while (true) { /// The test condition will always be "TRUE" so the loop will never end!
        cout << "Enter two positive numbers:" << endl;
        cin >> a >> b;
        if (a < b) cout << a << " is less than " << b << endl;
        else if (a > b) cout << a << " is greater than " << b << endl;
    //  cout /// This line is wrong!
    }
}

Feel free to ask for further clarification and/or explanation.

Upvotes: 2

Related Questions