Trattare lo stout

di il
5 risposte

Trattare lo stout

Ciao a tutti,

avrei un quesito da proprovi. Come è possibile (in un programma procedurale) stampare l'output sempre nello stesso "posto" (nel caso del monitor, nella stessa posizione)? L'esigenza nasce dal fatto che, avendo scritto un programma che mi produce una notevole mole di dati da farci poi sopra molta statistica, per determinati valori di input il programma impiega anche 3,4,5 fino a 10 minuti e oltre prima di stampare il risultato (il programma è ottimizzato e l'utilizzo della memoria è ridotto ai minimi termini, non è questo il problema). Si tratta di una simulazione fisica quindi mi servono molti dati..la mia idea è quella di crearmi una sorta di barra di avanzamento che ad ogni passo del ciclo principale, visualizzi sullo schermo in percentuale lo stato corrente. Ora matematicamente la cosa è molto semplice ma vorrei che i valori venissero stampati sullo schermo uno al posto (cioè sopra) l'altro, e non uno dopo l'altro, altrimenti sarebbe inutile...(l'idea è semplice ma non saprei come fare)
spero di essere stato chiaro e attendo suggerimenti...
PS:il linguaggio è il c

5 Risposte

  • Re: Trattare lo stout

    Hai accesso a vecchio librerie tipo conio.h ?
    esisteva una funzione chiamata gotoxy che ti posizionava il cursore sullo schermo tenendo conto che c'erano 25 righe e 80 colonne.
  • Re: Trattare lo stout

    Guarda anche questo thread. Viene trattato lo stesso tuo problema con delle belle soluzioni.
    http://www.gamedev.net/community/forums/topic.asp?topic_id=308393
  • Re: Trattare lo stout

    Si vi ringrazio per la prontezza..
    in effetti no, non dispongo della libreria conio.h perche lavoro esclusivamente sotto linux..
    eppure un altro modo dovrebbe esserci..
    nessuno di voi ha mai creato una qualche forma di barra di avanzamento in c (non particolarmente complessa nela grafica)...?
  • Re: Trattare lo stout

    Mi rispondo da solo...
    ho trovato la funzione move(int,int) in courses.h del tutto analoga al gotoxy..ma mi resta difficile capire una cosa: le posizione (x,y) è assoluta, cioè riguarda l'intero schermo o è relativa rispetto al "monitor" logico sul quale si lavora (es. terminale in un ambiente grafico)??? cioè io voglio che l'avanzamento percentuale sia sotto l'ultima riga stapata dal programma..avete suggerimenti?
  • Re: Trattare lo stout

    Non so risponderti su linux ma la funzione gotoxy era assoluta nel senso che la schermata era fissa 80x25. Ma basta sparare dei valori di x e y un po alti per vedere dov'è il limite della schermata nel terminale (almeno credo).
Devi accedere o registrarti per scrivere nel forum
5 risposte