|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
[C++] visualizzare incremento di un numero [contatore]
Io voglio che tutte le volte che la variabile x assume un certo valore, visualizzare l'incremento della variabile i (int i++).
Mi spiego meglio: se io scrivo cout<<"x="<<i; per i da 1 a 10, avrò 10 visualizzazioni x=n. Io invece voglio avere solo una visualizzazione di "x=", e una sola visualizzazione di "i", che cambia ogni volta che s'incrementa, fino ad arrivare a 10. _____ Nota per gli amministratori: avevo già trovato un post su questo forum che spiegava bene l'argomento (un contatore temporizzato) e l'avevo salvato. Ma ho fatto una ricerca e non riesco a trovarlo nel forum e nemmeno nelle mie cartelle ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
Forse girando su google ho trovato una soluzione. Si potrebbe usare l'istruzione system ("cls") che cancella lo schermo. Esempio di contatore fino a 10:
int i=0;for (i;i<10;i++) { system("cls"); cout<<endl<<i<<endl; cin>>x; } l'input "cin>>x; serve solo per fare avanzare il contatore quando premo un tasto numerico. Applicando il concetto di questo esempio al mio codice, in pratica ogni volta che la mia variabile assumerà un valore determinato, io cancellerò lo schermo e riscriverò il valore del contatore. Potrebbe essere una soluzione. Ma domanda: io l'istruzione "system ("cls")" lo trovata in un codice online. In precedenza conoscevo solo "system("pause")" per mettere in pausa fino alla pressione di un tasto. Deduco che probabilmente ci saranno altre "opzioni" di dichiarazione da scrivere nella parentesi dopo "system". Dove trovo i vari riferimenti? |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
System invoca il command processor passandogli come comando l'argomento che a sua volta riceve sottoforma di "C string" (const char *). Ovviamente invocare system su un sistema windows è diverso che invocarla su un sistema *nix, perchè entrano in ballo differenti command processor. Di conseguenza system non documenta i comandi che può ricevere; potrebbe anche ricevere il comando "pippo" se sotto i piedi ci fosse un command processor che lo riconosce come comando valido. Se vuoi vedere i comandi che puoi passare al command processor di Windows, ad esempio, consulta la lista di comandi supportati da cmd.exe
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jan 2008
Città: Roma
Messaggi: 126
|
Al posto della system(), puoi utilizzare un'altro sistema giocando con i caratteri di controllo...
1) Inviare un Carriage Return (\r) e riscrivi la riga sovrapponendola alla precedente 2) Inviare dei BackSpace (\b) prima di stampare il nuovo numero cancellando il numero precedente prima di riscriverlo Ciao
__________________
La forza dei forti sta nel traversare le traversie con occhio sereno! (PK) ... ![]() I computer sono esattamente come gli esseri umani: fanno qualsiasi cosa tranne che pensare. (John Van Neumann) Siamo brevi, il mondo è sovraffollato di parole. (Stanisław Jerzy Lec) |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
Quote:
Mi sa che mi conviene scrivere un piccolo codice, e poi provare tutti questi caratteri di escape per capirne l'uso. |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
Ok, quindi dipende dal sistema operativo. Mi sto accorgendo, man mano che mi addentro nel mondo della programmazione,che non è completamente vero, che l'uso dei linguaggi evoluti è indipendente dall'ambiente in cui si userà il programma. Mi sembra di capire, che per scrivere un buon programma, tenendo conto delle prestazioni , della compatibilità e delle interazioni con l'ambiente esterno è necessario avere una minima infarinatura di hardware,sistemi operativi e compilatori. La portabilità non è poi così universale. Questo oggi, non voglio pensare cosa succedeva agli albori dell'informatica, anni70/80, quando non c'erano ancora degli standar unificati..
|
![]() |
![]() |
![]() |
#7 | |
Member
Iscritto dal: Jan 2008
Città: Roma
Messaggi: 126
|
Quote:
Oggi l'importante e' aderire a delle asettiche "linee guida" scritte da qualche multinazionale. Allora mi divertivo (e mi incavolavo) tanto. ![]() Oggi, forse e' piu' facile, ma mi diverto molto di meno!!! ![]() PS okkio che alcuni caratteri di controllo fra *nix/win possono avere effetti differenti...
__________________
La forza dei forti sta nel traversare le traversie con occhio sereno! (PK) ... ![]() I computer sono esattamente come gli esseri umani: fanno qualsiasi cosa tranne che pensare. (John Van Neumann) Siamo brevi, il mondo è sovraffollato di parole. (Stanisław Jerzy Lec) |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:05.