Bonsoir je suis en train de faire un exercice que je ne comprends pas totalement . Et donc je sollicite vivement votre aide sur ma correction histoire de connaitre votre avis pour que je puisse corriger la ou les lignes incorrectes . Merci pour ce que votre aide.
L' énoncé
Ecrire un module qui reçoit les données d'une liste monodirectionnelle de fichiers d'employés. Le module détermine l'employé qui a le salaire le plus grand, l'employé qui a le salaire le plus petit, le nombre d'employés qui travaillent dans le service 'informatique' et la liste qui contient le plus d'employés.
Un employé est caractérisé par son matricule, son nom, son prénom, son service, sa founction, son salaire de base et son genre 'm' ou 'f'.
Et ce que j'ai fait:
Code:Type employe = structure Debut mat,nom,prenom,service,fonction= chaine solde, salBase = entier gnere = 'm' , 'f' Fin Type FEmploye = Fichier Employe var Fe = FEmploye Type LMono = ↑structure Debut info = Fe suiv = LMono Fin var tete = LMono Procedure Exo2 ( Donnee: tete = LMono Resultat: salMax, salMin, nbINF, nbEMP = entier var p = LMono var emp, grand, petit = employe var cpt = entier Debut Si(tete = Nil) Alors Ecrire "La liste est vide " salMax = salMin = 0 nbINF = nbEMP = 0 Sinon p←tete cpt←0 salMax←0 salMin←0 nbINF←0 nbEMP←0 Repeter Ouvrir(p↑.info)Lecture Repeter Lire(p↑.info,emp) Si(Eof(p↑.info) = Faux) Alors cpt ← cpt + 1 /* Pour déterminier le salaire le plus grand */ Si(salMax < p↑.info.emp.salBase ) Alors salMax ← p↑.info.emp.salBase grand← p↑.info.emp FinSi /* Pour déterminier le salaire le plus petit */ Si(salMax < p↑.info.emp.salBase ) Alors salMin ← p↑.info.emp.salBase petit← p↑.info.emp FinSi /* Pour déterminier le nombre d'employés du service 'Informatique' */ Si( p↑.info.emp.service ='Informatique' ) Alors nbINF ← nbINF + 1 FinSi FinSi Jusqua(Eof(p↑.info) = Vrai) /* Pour déterminier le nombre d'employé le plus grand */ Si(cpt>nbEMP) Alors nbEMP←cpt FinSi p←p↑.suiv Jusqua(p↑.suiv = Nil) FinSi FIN
-----