Mini quiz in C++

di il
13 risposte

Mini quiz in C++

Salve,
sto programmando una sorta di quiz e l'utente ha 10 secondi per rispondere a questa domanda, altrimenti il programma dà a quella variabile un valore scelto da me. Come faccio a far accadere questo? Come posso scrivere in C++ che quando passano 10 secondi l'utente NON deve più inserire il dato, ma quel dato assume quel determinato valore?
Grazie anticipatamente ... !

13 Risposte

  • Re: Mini quiz in C++

    Come avviene la risposta?

    P.S. Cambia titoli al thread, aiuto non vuol dire nulla
  • Re: Mini quiz in C++

    Per esempio la domanda è: "Io" al plurale.
    L'utente deve scegliere tra la risposta A, B, C, o D.
    Se non risponde entro 10 secondi, la risposta la considero sbagliata.
    Non so se mi sono spiegato ...
  • Re: Mini quiz in C++

    
    cout<<domanda <<endl;
    double Tempo=clock ();
    Cin>>risposta;
    If (clock ()-tempo>10)
     Cout <<"sbagliato\n"<<prossima_domanda;
    
    Penso che possa funzionare
  • Re: Mini quiz in C++

    Ciao ANDPRI,

    a scopo d'esercizio stavo cercando di risolvere la questione posta da saverio; ho provato con while, for, if...con vari annidamenti ma la questione è sempre la stessa...quando la funzione arriva al "cin>>risposta;" il programma va in "pausa"...perchè aspetta che la condizione sia conclusa (penso).
    quindi da come la vedo io, ma ho scarsa dimestichezza, non si risolve "semplicemente"...la sparo perchè non so ancora esattamente di cosa si tratta...penso sia necessario che la domanda venga generata da un padre (quindi domanda=figlio) e che questo possa chiuderlo dopo un tempo.
    PS: cortesemente non sparatemi se ho detto una cavolata....
  • Re: Mini quiz in C++

    Ciao ANDPRI,
    non sono esperto ancora di C++, quindi mi potresti dire cosa intendi per "Tempo" e "Clock" e, se sono delle funzioni, devo includere alcune librerie specifiche?
  • Re: Mini quiz in C++

    Potresti spiegarmi cosa intendi con getch, cosa dovrei mettere nelle parentesi dopo getch e kbhit e cosa significa ISTANTE?
  • Re: Mini quiz in C++

    Ma in questo modo l'utente non ha la possibilità di inserire la risposta .. oppure se si, come faccio?
  • Re: Mini quiz in C++

    Int main(){
    clock_t time;
    char stop;
    cin >> stop;
    time = clock();
    cout << time/CLOCKS_PER_SEC << endl;
    return 0;
    }
    Ho utilizzato queste istruzioni e mi funziona .. grazie a tutti comunque
  • Re: Mini quiz in C++

    Un'altra domanda .. però:
    quando si verifica una condizione il programma dovrebbe terminare. Il problema è che non posso usare un ciclo do-while o while poiché questa condizione potrebbe verificarsi anche all'inizio del programma. So che esiste la funzione exit, qualcuno potrebbe spiegarmi come funziona e se è adatta a questo tipo di problema?
    Grazie in anticipo a quanti mi aiuteranno
  • Re: Mini quiz in C++

    Exit serve per terminare l'intero programma quindi se la usi poi esci e basta, non solo dalla domanda ma proprio dal programma. Se è questo che ti serve, allora usa exit(0), comunque la cosa che hai usato con clock_t time era proprio quello che intendevo, forse l'ho scritta male però...io pensavo che dovessi fare anche prima time=clock (), ma se dici che funziona così allora mi ricordo male
  • Re: Mini quiz in C++

    saverio ha scritto:


    Int main(){
    clock_t time;
    char stop;
    cin >> stop;
    time = clock();
    cout << time/CLOCKS_PER_SEC << endl;
    return 0;
    }
    Ho utilizzato queste istruzioni e mi funziona .. grazie a tutti comunque
    Questo codice non può funzionare come avevi richiesto all'inizio.
  • Re: Mini quiz in C++

    Lo so Oregon, non è proprio quello che intendevo ma è quello che sono riuscito a fare
  • Re: Mini quiz in C++

    Beh ... allora non dire che funziona come se avessi risolto il problema iniziale.

    Se posti un problema e vuoi risolvere, segui i consigli, in particolare quello della kbhit.

    Altrimenti che senso ha?
Devi accedere o registrarti per scrivere nel forum
13 risposte