Les meilleurs développeurs C++ freelances sont sur Codeur.com

Listes chaînées pour le traitement des chaînes de

 Fermé·Moins de 500 €·3 offres·1431 vues·8 interactions


A RÉALISER EN LANGAGE C
1) Présentation du projet
Les listes chaînées sont des structures de données permettant de stocker une collection d’objets, de type donné arbitraire, de façon ordonnée. Contrairement à des tableaux classiques, les différents éléments ne sont pas stockés de façon contiguë en mémoire, mais chaînés l’un à l’autre par un pointeur (ou deux, dans le cas des listes doublement chaînées).
Cette façon de procéder permet de réaliser certaines opérations de façon performante (ajout ou suppression d’éléments notamment), mais rend l’accès à un élément arbitraire plus coûteux (parcours de la liste).
Ce projet vise à illustrer l’utilisation de cette structure de données par un cas concret : celui des chaînes de caractères. L’objectif sera donc de réaliser un programme permettant l’utilisation de plusieurs fonctionnalités courantes sur les chaînes de caractères (saisie, édition, suppression, copie, concaténation, etc.) qui seront représentées à l’aide de listes chaînées.
Dans un premier temps, chaque fonctionnalité pourra être implémentée séparément en proposant à l’utilisateur un menu pour choisir l’action à effectuer. Et dans un second temps,
il serait intéressant d’essayer de proposer une solution plus ergonomique qui ressemblerait à un véritable éditeur de texte en console (comme nano ou vim).
2) Fonctionnalités attendues : ce que vous devez faire
Vous devez réaliser un programme qui permet de manipuler des chaînes de caractères représentées en mémoire avec des listes chaînées. La donnée stockée dans un maillon est donc un caractère. Vous êtes libre de choisir si la liste doit être simplement ou doublement chaînée.
Votre programme doit — au minimum — permettre d’effectuer les opérations suivantes sur des chaînes de caractères (listes chaînées de caractères) :
1. Saisie : création d’une chaîne de caractères à partir de la saisie d’un utilisateur
2. Affichage : affichage d’une chaîne de caractère stockée en mémoire
3. Copie : création de la copie d’une chaîne de caractères à partir d’une chaîne déjà
existante
4. Concaténation : création d’une chaîne de caractères égale à la concaténation de
deux chaînes existantes
5. Insertion : insertion d’une chaîne de caractères dans une autre chaîne caractères à
une position choisie par l’utilisateur
6. Suppression : suppression d’un certain nombre de caractères, choisi par l’utilisateur,
dans une chaîne à partir d’une position choisie par l’utilisateur
7. Recherche : recherche dans une chaîne de caractères toutes les occurrences d’une
sous-chaîne donnée en renvoyant toutes les positions de cette dernière le cas
échéant
8. Remplacer : remplacement dans une chaîne de caractères de toutes les occurrences
d’une sous-chaîne donnée par une autre sous-chaîne donnée (potentiellement vide)
9. Ouvrir un fichier : création d’une chaîne de caractères à partir d’un fichier existant
10. Sauvegarder un fichier : sauvegarde d’une chaîne de caractères stockée en mémoire
dans un fichier
L’accès à toutes ces fonctionnalités pourra se faire par un menu en ligne de commande où l’utilisateur pourra sélectionner l’action à effectuer.

A RÉALISER AVANT LE 14/10 16H. Nous connaissons à peu près l'enjeu de ce projet en C et l'estimons à environ 400 lignes et proposons donc 100€ négociable. Merci

Budget indicatif : Moins de 500 €

Publication : 13 octobre 2019 à 20h39

Profils recherchés : Développeur C++ freelance

Le profil du client est reservé aux prestataires abonnés

Créer un compte

3 freelances ont répondu à ce projet

3 propositions de devis en moins de 2h

Publier un projet similaire

Chaque jour, des centaines de clients utilisent Codeur.com pour trouver un prestataire. Créez votre compte dès maintenant, remplissez votre profil et trouvez de nouveaux clients.

Trouver des nouveaux clients

Votre navigateur Web n’est plus à jour. Il ne permet pas d’afficher correctement le site Codeur.com.
Nous vous invitons à mettre à jour votre navigateur ou à utiliser un autre navigateur plus récent.