Bah comment comptes-tu t'y prendre ?
Si tu travailles en statique, tu vas devoir déclarer un tableau de chaines de caractères...
Ou alors, ce qui est beaucoup mieux, c'est de travailler en dynamique. Tu vas donc déclarer une structure de données dans laquelle tu auras une chaine de caracteres mais également des pointeurs de ta structure.Code:char * Ligne[50];
Alors pourquoi ces deux pointeurs :Code:
1
2
3
4
5
6 struct ligne { char code[79]; struct ligne *p_suivant; struct ligne *p_precedent; }
Si je me trouve sur la ligne 3, pour aller sur la ligne 2, je vais appuyer sur UP. Graphiquement, tu vas réussir à remonter d'une ligne. Mais en mémoire, quand tu travailles en dynamique, tu ne réserves pas des zones contigues en mémoire, et donc, à chaque fois que tu crée une nouvelle ligne, tu vas devoir "l'accrocher" à la ligne précédente (cf liste doublement chainée).
Le pointeur p_suivant de la ligne 2 pointera sur la ligne 3 et le pointeur p_precedent de la ligne 3 pointera sur la ligne 2.
En ce qui concerne l'implémentation des fonctions, je veux dire que les fonctions ne sont écrites nul part, et par conséquent, tu vas devoir les créer toi même. D'où le peu d'informations du code que tu as trouvé.
Aprés lecture du message d'Emmanuel, je retire ce que j'ai dit sur les 3 fonctions, même si en compilant le code, il ne me les trouve pas.