Как заставить программу запускать только номер, введенный пользователем? - PullRequest
0 голосов
/ 08 октября 2019

У меня есть код, и когда я ввожу номер цикла for, который я хочу запустить, программа запускает все циклы for до и до номера.

#include <iostream>
using namespace std;
int main()
{
    int length, i, j, k, l, space, rows;
    char ch, draw;
    cout << "Enter your choice of shape: " << endl;
    cout << "1. Square" << endl;
    cout << "2. Right triangle" << endl;
    cout << "3. Equilateral triangle" << endl;
    cout << "4. Upside down triangle" << endl;
    cout << "5. Exit the program" << endl;
    cout << "Enter Option Number: " << endl;
    cin  >> draw;
    if (draw = 1)
    {
        cout << "Enter length of square : ";
        cin >> length;
        cout << "Enter character to draw shape with: ";
        cin >> ch;
        for (int i = 0; i < length ; i++)
        {
            cout << endl;
            for (int j = 0; j < length ; j++)
            {
                cout << ch;
            }
        }
    }
    if (draw = 2)
    {
        cout << "Enter length of triangle: ";
        cin >> k;
        cout << "Enter character to draw shape with: ";
        cin >> ch;
        for (i = 1; i <= k; i++)
        {
            for (l = 0; l < (k - i); l++)
                cout << " ";
            for (j = 0; j < i; j++)
                cout << ch;
            cout << endl;
        }

Я ожидаю, еслиЯ ввожу 2, чтобы вывести только код для треугольника, но сначала он выводит квадрат, а затем выводит треугольник

1 Ответ

1 голос
/ 08 октября 2019

Измените if(draw = 1) на if(draw == 1). Вы ошиблись оператором сравнения ==. Взгляните на: https://en.cppreference.com/w/cpp/language/operator_comparison

...