Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Riga fissa
Forum - C/C++ - Riga fissa

Avatar
jaco94++ (Normal User)
Expert


Messaggi: 203
Iscritto: 22/10/2008

Segnala al moderatore
Postato alle 20:51
Venerdì, 07/01/2011
Salve a tutti.
Volevo sapere sè è possibile in un terminale usare una riga fissa per l'input ovvero avere una riga dove inserire l'input e l'output restituito non deve mai essere scritto su quella linea ma sempre al di sotto lasciando sempre alterata la riga di input
è fattibile ?

PM
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 7:31
Sabato, 08/01/2011
Fose intendo l'escape new-line? \n

PM
Avatar
jaco94++ (Normal User)
Expert


Messaggi: 203
Iscritto: 22/10/2008

Up
0
Down
V
Segnala al moderatore
Postato alle 12:01
Sabato, 08/01/2011
Una cosa simile a quella nell'immagine avere una riga dove scrivo i miei comandi e avere l'output nelle righe di output.
ovviamente tutto quello che scrivo io deve essere sempre scritto sulla riga di input e la risposta del computer sempre in quella di output  è fattibile ?


jaco94++ ha allegato un file: Cattura.PNG (4133 bytes)
Clicca qui per guardare l'immagine
PM
Avatar
Giarados (Ex-Member)
Pro


Messaggi: 69
Iscritto: 25/07/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 12:59
Sabato, 08/01/2011
Prova a cercare gotoxy() e clrscr() su google. Credo siano le funzioni che fanno al caso tuo.

PM
Avatar
jaco94++ (Normal User)
Expert


Messaggi: 203
Iscritto: 22/10/2008

Up
0
Down
V
Segnala al moderatore
Postato alle 16:15
Sabato, 08/01/2011
Grazie per le risposte :k: non fa niente se non è fattibile ne farò a meno più che altro era una curiosità :rotfl:

PM
Avatar
carmine (Member)
Pro


Messaggi: 168
Iscritto: 20/04/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 17:52
Domenica, 09/01/2011
devi usare la gotoxy e clrscr,  cerca su google se nn trovi nnt facci sapere!

PM
Avatar
comina8 (Normal User)
Pro


Messaggi: 86
Iscritto: 18/06/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 12:34
Giovedì, 21/07/2011
Se sei su Windows:
Codice sorgente - presumibilmente C++

  1. #include <windows.h>
  2. void GoToxy(unsigned char x, unsigned char y)
  3. {
  4.         HANDLE hStdout;
  5.         CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
  6.  
  7.         hStdout=GetStdHandle(STD_OUTPUT_HANDLE);
  8.         if (!GetConsoleScreenBufferInfo(hStdout,&csbiInfo))
  9.                 MessageBox(NULL,"GetConsoleScreenBufferInfo","Console Error",MB_OK);
  10.         csbiInfo.dwCursorPosition.X=x;
  11.         csbiInfo.dwCursorPosition.Y=y;
  12.         if (!SetConsoleCursorPosition(hStdout,csbiInfo.dwCursorPosition))
  13.                 MessageBox(NULL,"SetConsoleCursorPosition","Console Error",MB_OK);
  14. }
  15. void ClearScreen(void)
  16. {
  17.         system("cls");
  18. }



Se sei su Linux:
Codice sorgente - presumibilmente C++

  1. #include <unistd.h>
  2. void GoToxy(unsigned char x, unsigned char y)
  3. {
  4.         char Str[1]={0};
  5.  
  6.         x++;
  7.         y++;
  8.         sprintf(Str,"\033[%d;%df",y,x);
  9.         printf("%s",Str);
  10. }
  11. void ClearScreen(void)
  12. {
  13.         system("clear");
  14. }



Poi creando due thread ti posizioni con uno a gotoxy(0,2); per l'input
e a gotoxy(0,20); per l'output (anche senza creare thread dipende
da cosa vuoi fare te...).

Chiedo scusa se il topic è un po' vecchio...

PM
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Up
-1
Down
V
Segnala al moderatore
Postato alle 13:26
Sabato, 08/01/2011
Non è fattibile a meno che tu non usi la funzione rewind passando come argomento lo stream output

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
-3
Down
V
Segnala al moderatore
Postato alle 2:07
Sabato, 08/01/2011
ma che vuol dire?

PM