Liste Chaînée

Fermé
Rioo - 13 mars 2017 à 10:08
Bonjour,

J'ai corrigé un exercice d'algorithme, SVP, qui peut m'indiquer les fautes:
l'exercice :
Une commande est représentée par un Code, le nom du Client, un ensemble de produits (tableau) et une date.
1) Définir une liste doublement chaînée ListeProduit représentant un produit de la façon suivante :CodePdt, NomPdt, PrixUnitaire, QtitéCommandé.
2) Définir une liste chaînée ListeCommande représentant une commande
3) CréerCommande permettant de créer une liste chaînée de n Bon de commandes entrées en paramètre.

Ma solution :

1/



Types

Produit = Struct
Codepdt : chaine
Nompdt : chaine
PrixUnitaire : Réel
QtitéCommande : entier
FinStruct

ListeProduit = ^Cellule
Cellule = Struct
Prec : ListeProduit
Elem : Produit
Suiv : ListeProduit
FinStruct



2/



Types

Tab = Tableau[1..10] de Produit
Commande = Struct
Code : entier
NomC :Chaine
Prod :Tab
date : chaine
FinStruct

ListeCommande = ^Cellule
Cellule = Struct
Elem : Commande
Suiv : ListeCommande
FinStruct



3/



Procédure CreerCommande ( n : entier, var L : ListeCommande )
Var
Tete, P : ListeCommande
i : entier

Début

Allouer (tete)
ecrire ("informations")
Lire (Tete^.Elem.code, Tete^.Elem.NomC, Tete^.Elem.date)

Pour i de 1 à 10 faire

Lire ( Tete^.Elem.Prod[i].CodePdt, Tete^.Elem.Prod[i].NomPdt, Tete^.Elem.Prod[i].PrixUnitaire, Tete^.Elem.Prod[i].QtitéCommande)

FinPour

Tete^.suiv
L <-- Tete

Pour i de 2 à n faire
Allouer ( P)
Ecrire ("informations")
Lire (P^.Elem.code, P^.Elem.NomC, P^.Elem.date)

Pour i de 1 à 10 faire

Lire ( P^.Elem.Prod[i].CodePdt, P^.Elem.Prod[i].NomPdt, P^.Elem.Prod[i].PrixUnitaire, P^.Elem.Prod[i].QtitéCommande)

FinPour

P^.suiv <-- Nil
L.suiv <-- P
L <-- P
FinPour

L <-- Tete

Fin