Czyszczenie konsoli

0

Witam ponownie. Postanowiłem napisać bardzo prostą gierkę, z której być może zmontuję coś większego. Niemal wszystko działa, jednak nie rozumiem, dlaczego konsola zamiast być czyszczona, przeskakuje o pewną ilość linijek. Kompilator gcc.

Kod programu:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
    int wprowadzona;
    int wylosowana;

    printf("Witaj!\n");
    sleep(2);
    system("clear");

    printf("Zganij liczbe od 1 do 100\n");
    

    srand(time(NULL));
    wylosowana=rand()%100+1;

    do
    {
    scanf("%d", &wprowadzona);
    if (wprowadzona>wylosowana)
        {
            printf("Za duzo!\n");
        }
    else if (wprowadzona<wylosowana)
        {
            printf("Za malo!\n");
        }
    else
        {
            printf("Git malina!\n");
        }
    } while(wprowadzona!=wylosowana);
return(0);
}
1

Tak po prostu działa clear.
Do zabaw z konsolą zainteresuj się ncurses.

0

Dzięki. Zainstalowałem ncurses. Niemal osiągnąłem oczekiwany efekt. Teraz jednak z kolei nie wiem, dlaczego pierwsza linijka (czyli witaj!) wyświetla się w czystej konsoli, a pozostała część wraca do konsoli "niewyczyszczonej".

Kod:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <unistd.h>
#include <ncurses.h>

int main()
{
    int wprowadzona;
    int wylosowana;

    initscr();
    printw("Witaj!");
    refresh();
    sleep(2);
    clear();
    

    printw("Zganij liczbe od 1 do 100\n");
    

    srand(time(NULL));
    wylosowana=rand()%100+1;

    do
    {
    scanw("%d", &wprowadzona);
    if (wprowadzona>wylosowana)
        {
            printw("Za duzo!\n");
        }
    else if (wprowadzona<wylosowana)
        {
            printw("Za malo!\n");
        }
    else
        {
            printw("Git malina!\n");
        }
    } while(wprowadzona!=wylosowana);
endwin();
return(0);
}

EDIT: Już wszystko ok. Wystarczyło dodać getch() przed endwin(). Jeszcze raz dzięki za pomoc ;)

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