Pętla w C z trzema alternatywami

0

Część,
Czy ktoś mógł by mi powiedzieć co jest nie tak z moim kodem. Chodzi o pierwszą część programu, która ma za zadanie odebrać od użytkownika liczbę, która w drugiej części kodu posłuży do narysowania piramidy. Ta liczba ma wynosić od 1 do max 23. W przypadku gdy wprowadzi się inną liczbę ma wystąpić komunikat o zbyt małej lub zbyt wielkiej liczbie. W przypadku sukcesu program ma zadziałać dalej. Próbowałem już różnych pętli ale za każdym razem mam jakieś dziwne problemy. Na obecnym etapie program się kompiluje ale nie rozumiem czemu w przypadku podania prawidłowej liczby pętla "while" nie przestaje działać. Jestem mocno "Newbie" ale dość długo próbuję na różne sposoby z różnymi pętlami rozpracować ten kodzik i cały czas coś nie tak. Wyraźnie się zapętliłem stąd prośba o pomoc. Czy całe zadanie da się zrobić tylko przy użyciu int floors czy muszę wprowadzić dodatkowy? Jaka pętla będzie najlepsza? Z góry wielkie dzięki za pomoc świeżakowi:)


#include <stdio.h>
#include <cs50.h>
/*prototype*/
void PyramidBuilder(int floors);
int GetFloors(void);

int main(void)

{
    int floors = GetFloors();
    PyramidBuilder(floors);
}

/*Get the number of floors*/

int GetFloors(void)
{
    printf("How high should the pyramid be?");
    int floors = GetInt();
    if (floors < 0) {
        do {
            {
                printf("We have a shortage in bricks - give me a bigger number");
                GetInt();
            }

        } while (floors < 0);
    }
    else if (floors > 23) {
        do {
            {
                printf("The pyramid is to big choose a smaller number");
                GetInt();
            }
        } while (floors > 23);
    }

    return floors;
}
    

        
2

W pętli do ... while przypisz pobraną wartość przez funkcję GetInt() do zmiennej floors. Bez takiego przypisanie warunek pętli sprawdzany jest dla wartości pobranej na początku funkcji GetFloors(void).

1
GetInt();

zamień navalue = GetInt();

1 użytkowników online, w tym zalogowanych: 0, gości: 1