L'éditeur de texte est un outil simple, mis à la disposition de tous mais qui pourtant est capital. Il est l'un des outils les plus important de l'informatique puisque c'est sûrement celui qui est le plus utilisé sur la planète. Il nous est demandé, dans le cadre ce premier projet de développer un programme capable de reproduire les fonctionnalités habituelles que nous connaissons à l'éditeur de texte. Nous détaillerons l'aspect technique du sujet plus tard.
L'étude approfondie du sujet, qui sera traitée en premier lieu dans se rapport, nous révèle une tache qui n'est pas des moindres. En effet, l'ampleur du travail à réaliser est tout autre par rapport aux projets que nous pouvions rencontrer l'année dernière. L'organisation du travail et la gestion du binôme seront donc un facteur clef dans la réussite de notre éditeur de texte.
[...] 1,15 edith> g edith> i Bonjour, edith> 1 Bonjour, mademoiselle . edith> o Che dérange ? edith> g edith> x edith> i Je edith> 1 Bonjour, mademoiselle . Je dérange ? edith> g . $ edith> a II fait beau . [...]
[...] Cette gestion s'effectue aisément par l'intermédiaire des fonctions d'insertion. Entrées/Sorties : ligne debutPage, ligne Temp Entête : void redimension_Phrase (ligne debutPage, ligne P_Temp ) Début fonction VL :phrase * tempPhrase0 = NULL; Pointeur Temporaire sur la phrase insérer phrase * temp = NULL;//Pointeur temporaire recevant la position de P_Temp ligne * tempLigne = NULL; int compteur = int tailleMax= 77; temp = P_Temp)->chaine;//Initialisation des pointeurs Temporaires au coordonnés initiales de P_Temp tempLigne = * P_Temp; while (tempLigne NULL) //Double Boucle parcourant la page de long en large while ((temp->suiv)!= NULL)//Calcule du nombre de carcteres dans la ligne courante par incrémen,tation d'un compteur temp = temp->suiv; compteur = compteur + enwhile if (compteur > tailleMax+1)//Verifie si la ligne doit être redimentionée temp = tempLigne->chaine;//Réinitialisation du pointeur de phrase au début de la phrase compteur = 0;//Réinitialisation du compteur while ((temp->suiv)!= NULL (compteur suiv; compteur = compteur + end while if ( (temp->caractere) ' ')//Gestion de la Veuve et l'Orphelin while ((temp->caractere) ' revient au premier caractere ESPACE de la fin de la phrase afin de ne pas couper un mot temp = temp->prec; end while end if tempPhrase0 = temp->suiv;//Pointe sur le début de la phrase a mettre a la ligne temp->suiv =NULL;//on brise les liens tempPhrase0->prec = NULL; if (tempLigne->suiv NULL )//Insertion en debut de ligne suivante si elle existe *P_Temp = tempLigne; ajout_Fin_Ligne_Courante (P_Temp, &tempPhrase0, debutPage); tempLigne = tempLigne->suiv; else if (tempLigne->suiv NULL)//Insertion a la ligne suivante si elle n'existe pas tempLigne = tempLigne->suiv; *P_Temp = tempLigne; ajout_Phrase_Courante (P_Temp, &tempPhrase0, debutPage temp = tempLigne->chaine;//On replace le pointeur sur le début de cette nouvelle ligne pour vérifier son intégritée else if(tempLigne->suiv NULL)//Si la ligne précédente n'a pas besoin d'être modifiée on passe à la suivante tempLigne = tempLigne->suiv; temp = tempLigne->chaine; else Si nous arrivons en fin de page on n'initialise pas le pointeur temp car il n'y a plus de chaine tempLigne=tempLigne->suiv; end if tempPhrase0 = NULL;// Réinitialisation du pointeur et du compteur compteur = and while restructure_Page (P_Temp, debutPage);// Vérification de l'intégrité de la page fin fonction 10. [...]
[...] Les fonctions FgoTo1 et FgoTo2 isole l'abscisse et l'ordonnée. Nous pourrions directement retourné un Entier, mais afin de pouvoir utiliser des caractères tel que ou ‘.' permettant d'aller au début ou à la fin de lignes ou de phrases, la convertion se situe au niveau de la fonction positionnement_Curseur. Entrée : char *saisi Sortie : char* Arg1; Entête : char * FgoTo1 (char * saisi) Debut Fonction char * Arg1 = NULL;//Initialisation du pointeur sur la futur coordonnée verticale int int Réserve(Arg1) while (saisi[i] //Copie jusqu'au repère de fin de la coordonnée Arg1 saisi //Copie Arg1 = End while return Arg1; fin function 5. [...]
[...] Il est l'un des outils les plus important de l'informatique puisque c'est sûrement celui qui est le plus utilisé sur la planète. Il nous est demandé, dans le cadre ce premier projet de développer un programme capable de reproduire les fonctionnalités habituelles que nous connaissons à l'éditeur de texte. Nous détaillerons l'aspect technique du sujet plus tard. L'étude approfondie du sujet, qui sera traitée en premier lieu dans se rapport, nous révèle une tache qui n'est pas des moindres. En effet, l'ampleur du travail à réaliser est tout autre par rapport aux projets que nous pouvions rencontrer l'année dernière. [...]
[...] Il sera bienvenu de reprendre des algorithmes généraux de manipulation de structures déjà étudies en séance de TD ou TP. Les structures de données sont à priori libres, mais vous avez tout intérêt à vous inspirer de celles qui sont données plus bas. Description du travail à rendre Le projet que vous devez rendre doit s'appuyer sur les grands axes définis ci-après. Structures de données II est conseillé de choisir une structure de données très souple d'utilisation pour stocker le fichier en mémoire. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture