USES Crt;
CONST
NbProd = 2;
NbRep = 3;
VAR
ListeProd : Array[1..NbProd] of String[15];
ListeRep : Array[1..NbRep] of String[15];
ListeAchat : Array[1..NbRep,1..NbProd] of integer;
ListePrix : Array[1..NbProd] of real;
i,j : integer ;
Chx : integer ;
maxmin,tmp : real ;
PROCEDURE InitNoms ;
Begin
ClrScr;
Writeln('Entrez le nom de vos produits ; entre deux noms, tapez [ENTER]');
For i:=1 to NbProd do
Begin
Write('Produit nø',i,' ');
Readln(ListeProd[i]);
End;
ClrScr;
Writeln('Entrez le nom de vos repr‚sentants ; entre deux noms, tapez
[ENTER]');
For i:=1 to NbRep do
Begin
Write('Rep nø',i,' ');
Readln(ListeRep[i]);
End;
ClrScr;
Writeln('Entrez le prix de vos produits ; entre deux prix, tapez [ENTER]');
For i:=1 to NbProd do
Begin
Write('Prix de ',ListeProd[i],' ');
Readln(ListePrix[i]);
End;
End;
PROCEDURE Commandes;
Begin
ClrScr;
Writeln('Liste des commandes : entrez le nombre de produits achet‚s
par chaque Rep.');
Writeln('Entre deux commandes, tapez [ENTER]');
For i:=1 to NbRep do
For j:=1 to NbProd do
Begin
Writeln('Combien ',ListeRep[i],' a-t-il achet‚ de
',ListeProd[j],' ?');
Readln(ListeAchat[i,j]);
End;
End;
PROCEDURE ZoomRep;
Begin
Writeln('Quel repr‚sentant voulez-vous afficher ?');
For i:=1 to NbRep do Writeln('[',i,'] ',ListeRep[i]);
Readln(chx);
ClrScr;
Writeln('Chiffres d''affaire de ',ListeRep[chx] );
For i:=1 to NbProd do Writeln(ListeProd[i]:16);
For i:=1 to NbProd do Writeln(ListeAchat[Chx,i]*ListePrix[i]:16:4);
End;
PROCEDURE ZoomProd;
Begin
Writeln('Quel produit voulez-vous afficher ?');
For i:=1 to NbProd do Writeln('[',i,'] ',ListeProd[i]);
Readln(chx);
ClrScr;
Writeln('Chiffres d''affaire de ',ListeProd[chx] );
For i:=1 to NbProd do Writeln(ListeRep[i]:16);
For i:=1 to NbProd do Writeln(ListeAchat[i,chx]*ListePrix[i]:16:4);
End;
PROCEDURE Prime;
Begin
maxmin:=0;
chx:=0;
For i:=1 to NbRep do
Begin
tmp:=0;
For j:=1 to Nbprod do tmp:=tmp+listeprix[i]*listeAchat[i,j];
If tmp>maxmin then
Begin
maxmin := tmp ;
chx:=i;
End;
End;
Writeln('Vous pouvez r‚compenser ',ListeRep[chx]);
End;
PROCEDURE Mauvais;
Begin
maxmin:=1E10;
chx:=0;
For i:=1 to NbProd do
Begin
tmp:=0;
For j:=1 to NbRep do tmp:=tmp+listeprix[i]*listeAchat[j,i];
If tmp<maxmin then
Begin
maxmin := tmp ;
chx:=i;
End;
End;
Writeln('Vous pouvez ‚liminer ',ListeProd[chx]);
End;
BEGIN
InitNoms;
Commandes;
Repeat
Writeln('Quel est votre choix ?');
Writeln('[0] Quitter');
Writeln('[1] D‚tail d''un repr‚sentant');
Writeln('[2] D‚tail d''un produit');
Writeln('[3] Meilleur vendeur');
Writeln('[4] Pire produit');
Readln(chx);
Case chx of
1 : ZoomRep;
2 : ZoomProd;
3 : Prime;
4 : Mauvais;
End;
Readln;
Until chx=0;
END.
(*******************)