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: 6402
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