UNDO

Résolu
razatajm16 Messages postés 14 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 7 mars 2008 - 7 mars 2008 à 21:48
razatajm16 Messages postés 14 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 7 mars 2008 - 7 mars 2008 à 23:42
Bonjour, alors donc voilà j'ai un programme à faire, composé de deux structures:
    typedef struct Maillon{
    int numero;
    Maillon* suivant;
}Maillon;

typedef struct{
    Maillon* tete;
    Maillon* queue;
}FileAttente;

le programme consistait ainsi à gérer une liste , "une file d'attente" de personne ( une personne est identifié par un numéro).
Comme procédure, entre autre j'avais :
    une procedure d'ajout en queue
    une procedure de suppression en tete
   
En fait , la prochaine étape de notre TP c'est de rajouter une option "UNDO" au programme grâce auquel si on ajoute ou supprime, ou en bref, dès que l'on manipule la file , à tout moment on peut utilisé le "UNDO" dans le menu pour revenir en arrière autant de fois jusqu'à la dernière manip' qu'on ait pu faire.

Seulement je ne vois pas du tout comment procéder, j'aurais besoin de piste s'il vous plait...
   
   

-=Tinou=-

2 réponses

Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
7 mars 2008 à 23:16
Salut

Tu vas être obligé de créer une PILE (et non une file) pour sauvegarder toutes les actions effectuées.
Par exemple des que tu supprimes une entrée dans la file principale, tu empiles cet élement de manière a ce que dès que tu appuyes sur undo, tu n'ai qu'à dépiler ta pile de sauvegarde.

A+
Mon site internet : http://pistol.petesampras.free.fr
3
razatajm16 Messages postés 14 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 7 mars 2008
7 mars 2008 à 23:42
J'ai visité ton site, dans ta formation tu étudies bien les listes, piles etc... ^^ je suis en première année de DUT info et je suis en plein dedans ^^, j'ai saisie ta méthode de l'empilement et du dépilage.J'ai commencé mais je rencontre pleins d'erreurs, je m'y perd facilement, parce quand je fais un ajout, je dois alimenter FILE1, et par lasuite dans cette meme procédure DUPLIQUER FILE2. Chaque ajout aura pour conséquence ainsi la création d'un duplicat à cet instant donné. Pour faire un UNDO il suffit de dépiler la pile et de remplace FILE1 par cette FILE2 a l'instant T correspondant.Je vois très bien le principe , et je pense que c'est bien cela que tu me suggérais. Merci pour ta réponse .
-=Tinou=-
3
Rejoignez-nous