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++ - Soluzione ad un problema nel codice
Forum - C/C++ - Soluzione ad un problema nel codice

Avatar
Lupinthe3d (Normal User)
Newbie


Messaggi: 10
Iscritto: 24/01/2012

Segnala al moderatore
Postato alle 20:24
Martedì, 31/01/2012
Salve ragazzi, stavo creando ( con le mie limitate conoscenze ) un pezzo di codice per far si che una volta premuto il tasto per uscire dal programma, venga visualizzata la scritta " arrivederci " per 1 secondo e dopo il programma si chiuda.
Dopo qualche minuto sono riuscito a tirare fuori questo :
Codice sorgente - presumibilmente C/C++

  1. float l,t,s;
  2. l=(float) clock()/CLOCKS_PER_SEC;
  3. do{system("cls");
  4. t=(float)clock()/CLOCKS_PER_SEC;
  5. cout<<"arrivederci"<<endl;
  6. s=t-l;;}
  7. while(s<1);



In sostanza il codice fa anche il suo sporco lavoro, ma purtroppo visto che in un secondo la cpu è in grado di scrivere la parola arrivederci un botto di volte si ottiene un fastidioso effetto disturbato, dovuto alla continua cancellazione e riscrittura del termine.
Soluzioni ? altre idee ? esiste qualche funzione già scritta da usare ?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6380
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:39
Martedì, 31/01/2012
Perché non sposti la system e la cout fuori dal ciclo do...while, ovvero prima del ciclo ?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
AlessandroS (Normal User)
Newbie


Messaggi: 4
Iscritto: 12/11/2011

Segnala al moderatore
Postato alle 21:20
Martedì, 31/01/2012
Ciao ,

io conosco la funzione Sleep che penso faccia al tuo caso, ti semplifica la vita o.o ( o semplicemente non ho capito il problema xD )

Codice sorgente - presumibilmente C++

  1. #include <windows.h>
  2. #include <iostream>
  3. #include <stdlib.h>
  4. using std::cout;
  5.  
  6. int main () {
  7.       ............ // programma
  8.      system("cls");
  9.      cout << "arrivederci! ";
  10.      Sleep(1000);    // ferma per 1000 millisecondi = 1 secondo
  11.      return 0;
  12. }


PM Quote
Avatar
Lupinthe3d (Normal User)
Newbie


Messaggi: 10
Iscritto: 24/01/2012

Segnala al moderatore
Postato alle 23:56
Martedì, 31/01/2012
si, hai capito il problema e me l'hai anche risolto, grazie mille 6 stato gentilissimo :D

PM Quote
Avatar
Lupinthe3d (Normal User)
Newbie


Messaggi: 10
Iscritto: 24/01/2012

Segnala al moderatore
Postato alle 14:33
Mercoledì, 01/02/2012
Testo quotato

Postato originariamente da nessuno:

Perché non sposti la system e la cout fuori dal ciclo do...while, ovvero prima del ciclo ?


perdonami, non avevo letto la tua risposta, ma effettivamente è + che valida e avrebbe fatto al caso mio,  non so perchè non ho pensato a spostarlo fuori dal ciclo, cmq grazie mille anche a te 6 stato utilix

Ultima modifica effettuata da Lupinthe3d il 01/02/2012 alle 14:33
PM Quote