Как я могу oop моей программе постоянно запрашивать письмо, пока пользователь не введет Q для завершения программы - PullRequest
0 голосов
/ 03 мая 2020

Я понял после того, как закончил, что мне нужно l oop, пока они не наберу q, хотя я не уверен, как это сделать. То, что я ищу, пока не будет выбран последний вариант ('q' или 'Q'), основная программа возвращается в начале, прося пользователя вставить букву.

#include <ctime>    // For time()
#include <cstdlib>  // For srand() and rand()
#include <iostream>

using namespace std;

int main()
{
    int array[5];
    int i, num, x;
    char c;
    float average = 0;
    srand(time(0)); //This makes the set of numbers differnet every time
    for (i = 1; i <= 5; i++)
    {
        array[i] = (rand() % 5) + 15;
    }
    cout << "Array elements are: \n";
    for (i = 1; i <= 5; i++)
    {
        cout << array[i] << endl;
    }
    cout << "\nEnter your choice:\n      MENU\n[P]osition\n[R]everse\n[A]verage\n[S]earch\n[Q]uit\n";
    cin >> c;
    cout << "\nYou chose option " << c << endl;
    switch (c)
    {
        case 'P':
            cout << "This is the array with each element's position" << endl;
            for (i = 1; i <= 5; i++)
            {
                cout << "Value at position " << i << " is " << array[i] << endl;
            }
            break;
        case 'R':
            cout << "The array in reverse order is:" << endl;
            for (i = 5; i >= 1; i--)
            {
                cout << array[i] << endl;
            }
            break;
        case 'A':
            cout << "The average of the array is:" << endl;
            for (i = 1; i <= 5; i++)
            {
                average = average + array[i];
            }
            cout << average / 5;
            break;
        case 'S':
            cout << "Enter a number to search the array:" << endl;
            cin >> num;
            x = 0;
            for (i = 1; i <= 5; i++)
            {
                if (array[i] == num)
                {
                    x = 1;
                    break;
                }
            }
            if (x == 1)
            {
                cout << num << " is found at position " << i;
            }
            else
            {
                cout << "This number is not in the array";
            }
            break;
        case 'Q':
            exit(1);
            return 0;
    }
}

1 Ответ

1 голос
/ 03 мая 2020

Вы можете поместить свой код через некоторое время l oop следующим образом:

    int array[5];
    int i, num, x;
    char c = '\0';
    float average = 0;
    srand(time(0)); //This makes the set of numbers differnet every time
    for (i = 1; i <= 5; i++)
    {
        array[i] = (rand() % 5) + 15;
    }
    while (c != 'q')
    {
        cout << "Array elements are: \n";
        for (i = 1; i <= 5; i++)
        {
            cout << array[i] << endl;
        }
        cout << "\nEnter your choice:\n      MENU\n[P]osition\n[R]everse\n[A]verage\n[S]earch\n[Q]uit\n";
        cin >> c;
        cout << "\nYou chose option " << c << endl;
        switch (c)
        {
        case 'P':
            cout << "This is the array with each element's position" << endl;
            for (i = 1; i < 5; i++)
            {
                cout << "Value at position " << i << " is " << array[i] << endl;
            }
            break;
        case 'R':
            cout << "The array in reverse order is:" << endl;
            for (i = 5; i >= 1; i--)
            {
                cout << array[i] << endl;
            }
            break;
        case 'A':
            cout << "The average of the array is:" << endl;
            for (i = 1; i <= 5; i++)
            {
                average = average + array[i];
            }
            cout << average / 5;
            break;
        case 'S':
            cout << "Enter a number to search the array:" << endl;
            cin >> num;
            x = 0;
            for (i = 1; i <= 5; i++)
            {
                if (array[i] == num)
                {
                    x = 1;
                    break;
                }
            }
            if (x == 1)
            {
                cout << num << " is found at position " << i;
            }
            else
            {
                cout << "This number is not in the array";
            }
            break;
        case 'Q':
            exit(1);
            return 0;
        }
    }

Таким образом, код будет работать, только если c не равен q. Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...