Powrót do poprzedniej lini

0

Witam!

Męczę się z pewnym programem, którego jednym z elementów jest pobieranie od użytkownika liczb i ich wypisywanie na standardowe wyjście. Otóż chodzi o to, że liczby te mają być wypisywane jedna za drugą w jednym wierszu i tworzyć coś na wzór ciągu. Wprowadzanie liczb natomiast ma odbywać się wiersz niżej i działać na podobnej zasadzie ale z tą różnicą, że każda kolejna liczba ma nadpisywać poprzednią (tak żeby nie zrobił się śmietnik).
Nie mam kompletnie pojęcia jak to zrobić. Liczę na jakieś rady, wskazówki.

Pozdrawiam! :)

0
while((ch=getchar())!='\n') printf("\r%c",ch);
0

Karetka nie działa. Tak samo

\b

nie przynosiło efektów.

Wrzucę fragment kodu odpowiedzialny za ten element:

while(1){
		if(scanf("%d", &N)==1){
			if(N>=1 && N<BASE){
				printf("%d", N);
				counter[N]++;
				tab[k]=systemtab[N];
				k++;
			}	
			else
				printf("Invalid vault. Try again: ");
		}
		else{
			printf("Invalid vault. Try again: ");
			scanf("%*s");
		}

Chodzi mi teraz o to, żeby finalne działanie programu wyglądało następująco dla wprowadzenia kolejno: 1, 2, 3, 4, 5.
12345
5

Ta 5 na dole to ostatnio wprowadzona liczba.
Aktualnie program działa następująco:
1
12
23
34
45

0

Moim zdaniem, bez ncurses czy odpowiednika nie da się wrócić do poprzedniej linii.

0

Może powiedz co chcesz osiągnąć. Pętla którą podałem wg mnie dokładnie spełnia:

Wprowadzanie liczb natomiast ma odbywać się wiersz niżej i działać na podobnej zasadzie ale z tą różnicą, że każda kolejna liczba ma nadpisywać poprzednią (tak żeby nie zrobił się śmietnik).
Skoro ciebie nie spełnia to trzeba powiedzieć bardziej precyzyjnie.
Tak a propos odróżniasz liczby od cyfr?

0

Może po prostu zawsze przed wypisaniem aktualnej listy i "prompta" do wpisywania kolejnej liczby wypisz garść (więcej niż mieści się w konsoli) nowych linii żeby wyczyścić konsolkę (przynajmniej wizualnie) z poprzednich "śmieci".

0

Odróżniam. I chodzi mi o liczby, bo np. daną wejściową może być 25.
Już piszę bardziej precyzyjnie:
Co robię: wpisuję liczbę, wciskam enter.
Co się dzieje: program wczytuje liczbę i przeskakuje o jedną linię w dół za sprawą entera, a następnie wypisuje tą liczbę.
Co chciałbym osiągnąć: program wczytuje liczbę, zamiast przeskoczyć o jedną linię w dół to idzie o jedną do góry i wypisuje tą liczbę (jeżeli już jakaś jest u góry, to wypisuje ją od razu za nią), a następnie wraca o jedną linię w dół i znów czeka aż coś wprowadzę.

0

No to @Wibowit dobrze zgadł twoje zamiary, więc przeczytaj razem z pierwszą częścią komentarza.

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