Как мне заставить мою работу, пока l oop работать в C? - PullRequest
0 голосов
/ 04 марта 2020

Я новичок в программировании и еще новее в языке C, поэтому, пожалуйста, будьте любезны ... В настоящее время я работаю над проблемой, которая требует, чтобы я взял ввод 'height' и напечатал треугольник подходящая высота. Высота не может превышать 8 или go ниже 1, поэтому я реализовал команду do while l oop, которая будет перекомпоновывать пользователя для высоты, если она превышает диапазон 1 - 8. Проблема в том, что мой код будет принимать данные, даже если они превышают диапазон. Вот мой код до сих пор ... Если бы кто-то мог сказать мне, как я глуп, я был бы очень признателен.

#include <cs50.h> 
#include <stdio.h>

int get_height(void);
int lineno;
int column_fill;
int main(void)
{
    int height = get_height();
    for (lineno = 1; lineno <= height; lineno++ )
    {
    for(column_fill = 0; column_fill < lineno; column_fill++)
    {
    printf("#");
    }
    printf("\n");
    }
}

int get_height(void)
{
    int height;
    do
    {
        height = get_int("Height: ");
    }while(height < 1 && height > 8);

    return height;
}

1 Ответ

3 голосов
/ 04 марта 2020

Вам необходимо использовать ||, что означает «или». Высота никогда не может быть меньше 1 и больше 8, но она может быть меньше одного или больше 8.

...