Laboratoire 9 - Structures et données
Sommaire
Produit
readLine
Écrivez une routine readLine qui:
- Alloue
a0octets dans le tas, - Lit son contenu avec
readString(maximuna0octets). - Retourne l’adresse de la chaîne,
readProduit
Écrivez une routine readProduit (sans argument) qui:
- Alloue un nouveau produit dans le tas.
- Demande à l’utilisateur sa description: utilisez
readIntetreadLine - Retourne l’adresse du produit.
Utilisation
- Lisez deux produits avec
readProduitet affichez-les
Liste chainée
addLastProduit
- Implémentez
addLastProduitqui ajoute un produit à la fin de la liste des produits
Attention à gérer correctement le cas de la liste vide.
Le retour de fold
foldlist
Implémentez une routine foldlist qui prend en paramètre
a0: l’adresse d’un maillon (ou0pour une liste vide)a1: le décalage du pointeur vers le maillon suivant (prNextpour les produits par exemple)a2: l’adresse d’une routine à appelera3: une valeur initiale
foldlist fonctionne comme fold mais invoque la routine a2 sur les maillons successifs.
Utilisation de foldlist
Utilisez foldlist pour réaliser les opérations décrites.
Pour ce faire, implémentez les routines auxiliaires nécessaires (a2)
- Afficher la somme des prix des produits.
- Affichez tous les produits d’une liste.
- Afficher le produit le plus cher.