Fortschrittsanzeige
-
Hallo,
wie verwirkliche ich eine Fortschrittsanzeige bei Konsolenprogrammen, wie z.B. hochzählende Prozente oder sich einen füllenden "Balken":
[=====>_________ ] 30% fertig
Danke.
-
Das einfachste ist es, den Balken immer wieder neu zu überschreiben (dazu brauchst du eine OS-Funktion, mit der du den Cursor verschieben kannst, ala gotoxy()).
-
meinst du evtl sowas in der richtung, obwohl ich beführchte es ist für dich etwas unflexibel!
#include <stdio.h> void zeichen(int repeat); int main() { int c; c = 1; for (c = 1; c <= 10; c++) { printf("\r"); printf("["); zeichen(c); printf("> %.0i0 Prozent fertig]", c); sleep(250); } getchar(); } void zeichen(int repeat) { int count; for (count = 1; count <= repeat; count++) { printf("="); } }
du kanst ja ein fach den courser wieder an den anfang setzten mit
printf("\r");
und dann überschreiben ...
-
Ein Tipp für ein Ladebalken, anstatt des:
printf("=");
folgendes
printf("²²²²²");
eingeben.
-
Danke!
Das "\r" hatte mir gefehlt.
Was sind das für hochgestellte 2en?
-
Ich hatte mal noch ein wenig das ganze neu gemacht, wer weis evtl kann es dir ja behilflich sein
!
#include <stdio.h> void zeichen(int repeat); int main() { int c; printf("[--------------------------------------------------] 0 Prozent fertig"); sleep(50); for (c = 1; c <= 10; c++) { printf("\r"); printf("["); zeichen(c); printf("] %.0i0 Prozent fertig", c); sleep(50); } } void zeichen(int repeat) { int count, x; for (count = 1; count <= repeat; count++) { printf("²²²²²"); } for (x = 9;x >= repeat; x--) { printf("-----"); } }
zu den
[h]2[/h]
das ergibt das die Konsole son "ausgefülltes" ... feld anzeigt, sieht einfach besser aus.
kannst ja gugen!
exbs