USES crt ;
CONST nm = 10 ;
VAR nom : array[1..nm] of string[20] ;
prixunit,
tauxtva : array[1..nm] of real ;
i : integer
;
f : text
;
prix,
taxe, HT, TVA : real ;
quantite
: integer ;
BEGIN
clrscr ;
(* lecture des tableaux dans le fichier A:PRODUIT.DOC *)
assign(f,'a:produit.doc') ;
reset(f) ;
for i:=1 to nm do
readln(f,prixunit[i],tauxtva[i],nom[i])
;
close(f) ;
(* traitement des donnees *)
(* N.B. : le numéro des produits correspond à l'indice
i des tableaux *)
HT:=0 ; TVA:=0 ;
repeat
repeat
write('numero du produit
(0 pour terminer) ? ') ;
readln(i) ;
until (i>=0) and (i<=10)
;
if (i>0) then
begin
write('quantite ? ') ; readln(quantite)
;
if (quantite>0) then
begin
prix:=prixunit[i]*quantite ;
HT:=HT+prix ;
taxe:=prix*tauxtva[i]/100 ;
TVA:=TVA+taxe ;
writeln(i:6,nom[i]:20,prixunit[i]:15:2,quantite:6,prix:15:2,taxe:15:2)
;
end ;
end ;
until i=0 ;
writeln(' ':6+20+15,'total':6,HT:15:2,TVA:15:2) ;
writeln(' ':6+20+15+6,'TOTAL DU':15,HT+TVA:15:2) ;
readln ;
END.