PROBLEMA Comandi Undo/Redo in C

JDany

Utente Attivo
461
24
CPU
Ryzen 9 3900x
Scheda Madre
ASUS H170-Pro
RAM
Corsair Vengeance LPX 2x8 GB
GPU
ZOTAC RTX 3070 TWIN EDGE OC
Monitor
Philips Gaming Monitor 24"
PSU
Corsair CX450M
Case
Sharkoon VS4-V
OS
Windows 11 Pro
Salve. Il mio problema è che devo implementare i comandi di undo/redo in un programma C.
Utilizzo una lista in cui vengono concatenati dei comandi, e ogni volta che faccio undo dovrei tornare indietro ed eliminare gli effetti dell'ultimo comando.

Avete qualche suggerimento su come implementare una funzione di undo e redo? Io già avevo pensato di usare una pila, il problema è che non so cosa salvare nei nodi.
 

JDany

Utente Attivo
461
24
CPU
Ryzen 9 3900x
Scheda Madre
ASUS H170-Pro
RAM
Corsair Vengeance LPX 2x8 GB
GPU
ZOTAC RTX 3070 TWIN EDGE OC
Monitor
Philips Gaming Monitor 24"
PSU
Corsair CX450M
Case
Sharkoon VS4-V
OS
Windows 11 Pro
Dipende dal tipo di dati. Impossibile rispondere senza dettagli.

Nel programma ci sono 3 comandi, ovvero il comando di change, delete e print.

Da un file leggo tutte le righe presenti e poi le carico su una lista, che è doppiamente linkata. Una volta caricate tutte queste righe nella lista, devo diciamo lavorare con questa lista per modificare magari una linea precisa del file o stampare una riga che mi interessa.

Edit:
Una volta finito di lavorare con la lista si esce dal programma e viene sovrascritto il file con il contenuto della lista.
 

pabloski

Utente Èlite
2,868
916
Due stack. Uno undo, l'altro redo. Contenenti i comandi interessati e i contenuti su cui hanno operato. E ovviamente le informazioni per rimettere a posto la lista originale.
 
  • Mi piace
Reazioni: Mursey

Andretti60

Utente Èlite
6,440
5,091
Continui a non dirci cosa è il contenuto del file. Semplice testo o dati formattati?

comunque come da regolamento prima di aiutarti devi postare il codice che hai fatto (anche se non completo e non funzionante)
 
U

Utente cancellato 371741

Ospite
Editato: mmm eliminare gli effetti dell'ultimo comando ... mm quali comandi sono ?
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili