Newsgroup: it.comp.lang.c++
Titolo: attendere un input per tot secondi

E' possibile fare ciň con il C++ (standard)?
mi spiego meglio: il mio programmino di prova dovra pormi una domanda al
quale io dovrň rispondere (inserendo magari un int) entro 5 sec altrimenti
il programma andrŕ avanti.
Che "parola chiave" devo andarmi a studiare per fare ciň?
grazie a tutti
ivan

 E' possibile fare ciň con il C++ (standard)?
Che io sappia, con il C++ standard no.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg

 ha scritto nel
messaggio news:3E7F9554...@emagsoftware.it...
|
|
| "Ivan Sofa n.1" wrote:
| >
| > E' possibile fare ciň con il C++ (standard)?
|
| Che io sappia, con il C++ standard no.
|
conseguentemente non sai in che NG potrei rivolgermi e magari come impostare
meglio la domanda? (si era capito cosa volevo dire? :-))
č possibile che una "roba" del genere sia da realizzare con due processi
concorrenti, uno che "tiene il tempo" e l'altro che "aspetta l'output"?
ivan

 è possibile che una "roba" del genere sia da realizzare con due processi


 concorrenti, uno che "tiene il tempo" e l'altro che "aspetta l'output"?
Sostanzialmente si, nel senso che devi poter aspettare due eventi
completamente distinti tra loro, la scadenza di un timer ed il
completamento dell'input. In pratica poi possono esistere meccanismi
che rendono superfluo l'uso della concorrenza: timer, segnali, ecc. Il
newsgroup giusto dipende dalla piattaforma su cui lavori.
Ciao,
Nicola

io ho un'idea, non so se puo' andare bene.
fai una funzione tipo sleep che fa trascorrere n secondi, dopo di che 
vai a fare la scanf, la getch (quello che ti pare)...
se la funzione che hai scelto non ti restituisce niente, 
cioe' non ha fatto nessuna scelta, fai quello che devi fare 
in caso di mancata risposta...
prova questo codice, e' tipo la Sleep della api native della microsoft,
pero' dovrebbe essere portabile...
Funzione che permette di
sospendere il programma per un certo numero di
secondi.
Portabilita': DOVREBBE (sottolineo dovrebbe)essere piena...
#include <time.h>
void suspend(int nsec) {
    time_t t1, t2;
    for(t1=time(NULL),t2=t1; difftime(t2, t1) < nsec; t2=time(NULL));
}
dopo di che fai la scanf e ti comporti di conseguenza...
spero di averti aiutato, ciao..
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

naturalmente la scanf eo la getc... la devi mettere all'interno del 
ciclo for, insieme alla condizione difftime(t2, t1) < nsec...
ciao


"Nicola Musatti" <Nicola....@ObjectWay.it> ha scritto nel messaggio
news:a327cf48.03032...@posting.google.com...

per ora in Windows ma mi piacerebbe (cerco sempre di attenermi allo
standard) di portare tutto facilmente su linux. Mi rendo conto che questo
non è il caso. :-(
quindi? it.comp.programmare.win32 ?
grazie
ivan

 Che "parola chiave" devo andarmi a studiare per fare ciň?
se programmi in Windows, "overlapped I/O"
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.0. C, C++ and ASM developers
                               and beta testers are welcome!