Как передать параметры из одной функции в другую в C ++ - PullRequest
0 голосов
/ 10 марта 2020

Это мой первый пост, использующий StackOverflow; Я подумал, что должен привыкнуть пользоваться этим сайтом, так как сейчас интересуюсь программированием ...

В любом случае, я сейчас беру класс C ++, и нам дали возможность иметь открытый конец программа, в которой пользователь выбирает из меню (оператор переключателя), который вызывает функции, в зависимости от того, какой выбор пользователь выбрал.

Здесь я пытаюсь, чтобы при первом выборе пользователя продукт отображался с использованием функции, называемой умножить, когда дан ввод для длины и ввод для ширины. Сложная часть - попытаться отобразить прямоугольник, состоящий из звездочек (*), которые соответствуют длине и ширине.

У меня проблемы с выяснением, как я получу void drawRect () для получения значений длины и ширина. Это что такое "передача параметра"? И если да, я должен сделать drawRect () целочисленным типом возврата?

Любые предложения о том, как я должен подходить к этому?

void displayMenu();


int multiply(int, int);
void drawRect();

int main()
{
    int userChoice = 0;
    do
    {
        displayMenu();

        cout << "Enter your choice: ";
        cin >> userChoice;

        switch (userChoice)
        {
        // display the area of a rectangle
            case 1:
            {
                int length, width;
                cout << "Enter a length: ";
                cin >> length;
                cout << "Enter a width: ";
                cin >> width;
                cout << "The area of the rectangle is: " << multiply(length, width) << endl << endl;
                drawRect(length, width);
                break;
            }
    }


int multiply(int x, int y)
{
    int product = x * y;
    return product;
}
void drawRect(int length, int width)
{
    // draw the top row
    cout << setfill('*') << setw(width) << endl;

    // draw the middle rows

    // draw the bottom row
    cout << setfill('*') << setw(width) << endl;
}


1 Ответ

0 голосов
/ 10 марта 2020

Является ли это "передачей параметра"?

Да.

И если так, я должен сделать drawRect () целочисленным типом возврата ?

Нет. drawRect(int length, int width) только отправит звездочки на cout, так что вы можете увидеть это в выводе

Любые предложения о том, как я должен подходить к этому?

Как уже упоминалось, это не будет компилироваться как есть. Ваша функция drawRec(int length, int width) используется до ее объявления. Объявление void drawRect(); возле вершины - хороший первый шаг, но вам нужно добавить параметры так, как если бы вы вызывали их ниже. Я бы рекомендовал использовать al oop (for, while, et c) для итерации по длине прямоугольников, чтобы каждый раз печатать ряд звездочек через l oop.

for(int i = 0; i < length; i++)
{
    // draw a row of *'s
    cout << setfill('*') << setw(width) << endl;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...