Clear ?
-
Hi,
gibt es einen Befehl der folgedes macht...
ich muss jeweils 1 Zahl in 1 Zeile schreiben in meinem Programm, dann gibt es eine Ausgabe printf, somit sind wir bei 3 Zeilen, anschließen fängt es von neuem an mit der Eingabe ....
So, wenn man die neue Eingabe startet soll das Programm die letzten Zeilen löschen, dass somit das "alte" geschriebene und die Ausgabe nicht ersichtlich ist ...
als Beispiel ....
#include <stdio.h> #include <stdlib.h> int main( void ) { int ki = 0; int kd = 0; do { if( scanf( "%d", &ki ) != 1 ) { /* Fehlerhafte Eingabe */ return EXIT_FAILURE; } if( scanf( "%d", &kd ) != 1 ) { /* Fehlerhafte Eingabe */ return EXIT_FAILURE; } if( ( ki == 4 | ki == 5 ) && ( kd == 2 || kd == 3 ) ) { printf("A\n"); } else if( ( ki == 1 || ki == 6 ) && ( kd == 1 || kd == 3 ) ) { printf("Px13\n"); } else if( !ki && ( kd == 23 || kd == 44 || kd == 45 ) ) { printf("ADH\n"); } } while( 1 ); }
-
Welches Betriebssystem?
-
Win7
-
Woher weißt denn Du das?
-
Belli schrieb:
Woher weißt denn Du das?
Das ist der gleiche Unreg.
@Threadersteller: Wie du siehst ist das eher verwirrend, wenn du deinen Namen mitten im Thread änderst.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89 und C99) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
SeppJ schrieb:
Belli schrieb:
Woher weißt denn Du das?
Das ist der gleiche Unreg.
Na denn ...
#include <windows.h> ... //Bildschirm löschen void ClearScreen(WORD attribute = 7) { CONSOLE_SCREEN_BUFFER_INFO csbi; COORD target = {0, 0}; DWORD written; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi); FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE), ' ', csbi.dwSize.X * csbi.dwSize.Y, target, &written); FillConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE), attribute, csbi.dwSize.X * csbi.dwSize.Y, target, &written); } //Cursor positionieren void SetCursorPosition(int x, int y) { COORD pos = {x, y}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); } ...
-
Ach so, die ClearScreen - Funktion lässt sich evtl. nicht von einem C-Compiler übersetzen, dann so:
//Bildschirm löschen void ClearScreen() { CONSOLE_SCREEN_BUFFER_INFO csbi; COORD target = {0, 0}; DWORD written; WORD attribute = 7; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi); FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE), ' ', csbi.dwSize.X * csbi.dwSize.Y, target, &written); FillConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE), attribute, csbi.dwSize.X * csbi.dwSize.Y, target, &written); }
-
Danke Belli
-
Hab ich einen Denkfehler, oder was hab ich da falsch gemacht ?
#include <stdio.h> #include <stdlib.h> #include <windows.h> int main(void) { void ClearScreen() { CONSOLE_SCREEN_BUFFER_INFO csbi; COORD target = {0, 0}; DWORD written; WORD attribute = 7; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi); FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE), ' ', csbi.dwSize.X * csbi.dwSize.Y, target, &written); FillConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE), attribute, csbi.dwSize.X * csbi.dwSize.Y, target, &written); } .....
-
ja
-
#include <stdio.h> #include <stdlib.h> #include <windows.h> //Bildschirm löschen void ClearScreen() { CONSOLE_SCREEN_BUFFER_INFO csbi; COORD target = {0, 0}; DWORD written; WORD attribute = 7; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi); FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE), ' ', csbi.dwSize.X * csbi.dwSize.Y, target, &written); FillConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE), attribute, csbi.dwSize.X * csbi.dwSize.Y, target, &written); } //Cursor positionieren void SetCursorPosition(int x, int y) { COORD pos = {x, y}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); } int main() { ClearScreen(); SetCursorPosition(5, 8); printf("hier ..."); SetCursorPosition(4, 9); printf("und hier"); }
-
Ahh, Vielen Dank !