13/01/2024 - ZorroIl Coqueror ha scritto:
Dopo aver riprovato il codice sembra andare. Quando dicevo che non andava intendevo che il programma aveva errori o appena avviato dopo aver inserito il tempo concludeva subito. Come dovrei sistemare la parte del punteggio? dopo aver completato il test mi da come risultato sempre 0.
Converti in decimale uno degli operandi della divisione (ho usato double perché sembra essere il tipo di riferimento di clock_t).
double typingSpeed = (static_cast<double>(typedWords) / duration);
Un'altra cosa, gli indici del vettore devono andare da 0 a size() - 1, quindi la distribuzione va inizializzata così
uniform_int_distribution<> dis(0,dictionary.size() -1);
Infine due cose “inutili”. Per cominciare includi “string” per chiarezza, anche se funziona lo stesso.
Secondo, siamo pignoli ed evitiamo il costo di copiare le stringhe usando un reference :)
const string& word = dictionary[dis(gen)];