PDA

Visualizza la versione completa : [C] Calcolare il tempo tramite una lista dinamica


sinsofangels
08-05-2007, 10:20
ciao a tutti!
in un progetto mi è stato richiesto di calcolare il tempo di un'azione tramite una lista dinamica...come si potrebbe gestire un evento simile??

andbin
08-05-2007, 10:47
Originariamente inviato da sinsofangels
in un progetto mi è stato richiesto di calcolare il tempo di un'azione tramite una lista dinamica...come si potrebbe gestire un evento simile?? :confused:
Forse è bene se ti spieghi meglio .... per azione intendi una funzione o in generale una serie di operazioni, giusto? E cosa centra (e cosa ti serve) una "lista dinamica"??

sinsofangels
08-05-2007, 10:57
allora praticamente dovrei fare un giochino in cui l'utente deve inserire una parola (che poi metto in lista dinamica per confrontarla con altre) e devo calcolare il tempo che l'utente impiega ad inserire la parola. Però mi è richiesto di tenere traccia del tempo tramite una lista dinamica...il che mi spiazza un po' perchè io avrei fatto tempo di fine della mossa - tempo di inizio...

andbin
08-05-2007, 11:32
Originariamente inviato da sinsofangels
allora praticamente dovrei fare un giochino in cui l'utente deve inserire una parola (che poi metto in lista dinamica per confrontarla con altre) e devo calcolare il tempo che l'utente impiega ad inserire la parola. Però mi è richiesto di tenere traccia del tempo tramite una lista dinamica...il che mi spiazza un po' perchè io avrei fatto tempo di fine della mossa - tempo di inizio... Beh, ok è già più chiaro. Dividiamo la questione in due parti: il calcolo del tempo e la gestione della lista.

Per il calcolo del tempo, quale risoluzione ti serve? Se ti basta il secondo, usa le funzioni che fanno capo al header <time.h>. Se non ti va bene specifica per quale S.O. ti serve, in quanto si va verso funzioni specifiche/non standard.

Per la gestione della lista, immagino che il tempo vada memorizzato nella lista insieme alla parola. Hai già una idea di come gestire questa lista?? La cosa più semplice è una linked-list, cioè una struttura tale per cui per ogni elemento c'è un puntatore all'elemento successivo.

sinsofangels
08-05-2007, 13:18
esattamente, infatti sto gestendo le parole tramite una linked list! ma quindi come posso fare a gestire il tempo tramite la stessa lista? insieme ad ogni elemento memorizzo il tempo?perchè in questo modo non tengo solo traccia del tempo impiegato per memorizzare le lettere della parola e non quello utilizzato dall'utente per fare la sua mossa?
grazie mille per l'aiuto intanto!

andbin
08-05-2007, 13:23
Originariamente inviato da sinsofangels
esattamente, infatti sto gestendo le parole tramite una linked list! ma quindi come posso fare a gestire il tempo tramite la stessa lista? insieme ad ogni elemento memorizzo il tempo?perchè in questo modo non tengo solo traccia del tempo impiegato per memorizzare le lettere della parola e non quello utilizzato dall'utente per fare la sua mossa?
grazie mille per l'aiuto intanto! Credo che possa essere una cosa del tipo:

- calcola tempo t1
- leggi parola in input
- calcola tempo t2
- inserisci nella lista un elemento con la parola e il tempo t2-t1

sinsofangels
08-05-2007, 13:48
quindi mi stai suggerendo di fare così se non erro:
-all'inizio dell'attesa in cui l'utente deve inserire la sua parola calcolo il tempo t1...e il tempo t2 lo calcolo all'inserimento dell'ultima lettera della parola in lista...quindi lascio salvata nell'ultimo elemento della lista una variabile contenente (t2-t1)?

andbin
08-05-2007, 14:18
Originariamente inviato da sinsofangels
-all'inizio dell'attesa in cui l'utente deve inserire la sua parola calcolo il tempo t1...e il tempo t2 lo calcolo all'inserimento dell'ultima lettera della parola in lista...quindi lascio salvata nell'ultimo elemento della lista una variabile contenente (t2-t1)? Intanto, giusto per capire, devi gestire l'input lettera per lettera o ti basta usare una delle funzioni per leggere una riga intera terminata con invio??
Poi io ho capito che ad ogni parola devi associare il tempo impiegato .... magari ho capito male, l'importante è che sia chiaro a te.

sinsofangels
08-05-2007, 14:25
devo mettere le parole immesse dall'utente in una lista lettera per lettera perchè poi devo fare dei confronti fra le varie liste\parole...ma questo l'ho già implementato...adesso devo fare in modo di tener traccia del tempo impiegato in ogni mossa

andbin
08-05-2007, 14:32
Originariamente inviato da sinsofangels
devo mettere le parole immesse dall'utente in una lista lettera per lettera perchè poi devo fare dei confronti fra le varie liste\parole...ma questo l'ho già implementato...adesso devo fare in modo di tener traccia del tempo impiegato in ogni mossa Cioè nella lista ogni elemento contiene solo una lettera? 'c' --> 'i' --> 'a' --> 'o' -->NULL

E che te ne fai??? Se devi fare confronti tra parole, fai semplicemente un confronto tra stringhe! E poi se dovessi fare una lista di caratteri, allora il tempo è da associare alla lista. (?)

Ripeto: magari sono io che non ho capito bene ... se a te è chiaro, fai un esempio di utilizzo pratico.

Loading