Escriviu un programa que simuli el manteniment d’una llista de tasques, a base de llegir instruccions que la van actualitzant, i instruccions que la van consultant. La llista de tasques se suposa inicialment buida, i les instruccions son dels següents tipus: afegir tasques al final de la llista, treure tasques concretes de la llista, donar tasques per fetes, o consultar quins elements estan pendents o quins estan fets començant des del principi de les llistes.
És obligatori utilitzar només el constructor de tipus list com a mecanisme d’emmagatzemament massiu de dades. En particular, no es pot usar ni vector, ni stack, ni queue. Podeu declarar tants list com volgueu i del tipus que volgueu (que no sigui cap altre mecanisme d’emmagatzemament massiu), i podeu usar iteradors sobre llistes.
La entrada consisteix en un nombre arbitrari de linies, cadascuna amb una instrucció. Les instruccions poden ser de la següent forma:
add_task
finish_task
show_pending_tasks
show_finished_tasks
remove_task
La instrucció add_task afegeix una tasca a la llista de tasques pendents, la instrucció finish_task cambia una tasca de la llista de pendents i la afegeix a la llista de tasques fetes, les instriccions show_pending_tasks i show_finished_tasks mostra per pantalla les llistes demanades i, per últim, la instrucció de remove_task esborra una tasca seleccionada en la seva respectiva llista.
add_task Afegeix una tasca a la llista de pendents i es mostra com tasca no feta.
finish_task Canvia una tasca de la llista de pendent a la llista de tasques fetes. Si aquesta tasca no es troba pendent, mostra per pantalla el missatge "tasca no trobada".
show_pending_tasks Mostra per pantalla les tasques de la llista de pendents. Si aquesta és buida, mostra per pantalla el missatge "no pending tasks".
show_finished_tasks Mostra per pantalla les tasques de la llista de fetes. Si aquesta és buida, mostra per pantalla el missatge "no finished tasks".
remove_task Elimina una tasca independentment de la llista en la que estigui. Si aquesta tasca no es a cap llista, mostra per pantalla el missatge "tasca no trobada".
Amb l’objectiu de superar els jocs de proves públics i aconseguir part de la nota, pots enfocar l’exercici fent una implementació senzilla utilitzant vectors de strings en comptes de llistes representades en un list<string>
Autoria: Unknown
Generació: 2026-01-25T22:59:12.931Z
© Jutge.org, 2006–2026.
https://jutge.org