AiDE PROGRAMME PASCAL

Fermé
djwalid Messages postés 8 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 9 novembre 2008 - 22 oct. 2008 à 20:08
 Cyrard - 22 oct. 2008 à 21:32
Bonjour,


à l'aide svp voila le pro gram je veut juste ajouter une procédure de tri par moyenne et voir le rang de l'élève aussi la suppression d'un élève

program cours;
uses wincrt;


type

str20 = string[20];

eleve =record

nom : str20;
note1,note2,moy :real;

rang: integer;

end;

moyenne = file of eleve;

var

f : moyenne;

e : eleve;


{-----------------------------------------**
procedure ouvrir ( var f : moyenne );
begin

{$i-** reset (f); {$i+**

if ioresult <> 0 then rewrite (f);

end;


{-----------------------------------------**

procedure saisie ( var e : eleve);

begin

with e do

begin


write ('nom : '); readln (nom);

repeat

write ('note 1: ') ; readln (note1)
until
(note1>=0) and (note1 <= 20);

repeat

write ('note 2 :') ; readln (note2)

until

(note2>=0) and (note2 <= 20);

moy := (note1+2*note2)/3;

rang :=0;
end;

end;
{-----------------------------------------**
procedure modifier ( var f: moyenne );

var

x : integer ;

e: eleve ;

begin

repeat

write (' position de lelement a modifier ');

readln (x);

until x in [1.. filesize(f)];


seek (f,x-1);

saisie (e);

write (f,e);

end;

{-----------------------------------------**
procedure supprimer (var f : moyenne);

var

x :integer;
e: eleve;

begin

repeat

write (' position de suppression ');

readln (x);

until x in [1..filesize(f)];

seek (f,x-1);

truncate (f);

end;

{-----------------------------------------**
procedure lecture ( var f : moyenne);
var
e:eleve;
c : char;
begin
seek(f,filesize (f));

repeat

writeln ('....... nouveau enregistrement ..........');

saisie (e);

write (f,e);

writeln (' echap pour quitter');
c := readkey

until (c = chr(27));

end;

{-----------------------------------------**
procedure affiche (var f: moyenne);
var
e: eleve;

begin

reset(f);

while not eof (f) do

begin

read (f,e);

writeln (e.nom :10,e.note12,e.note22,e.moy2,e.rang:10 );


end;

end;

{-----------------------------------------**

procedure menu ;

var
c : char;

begin


clrscr;

writeln (' --------------- MENU ----------------');
writeln;
writeln (' @ 1 AJOUTER @ ') ;
writeln;
writeln (' @ 2 AFFICHER @ ');
writeln;
writeln (' @ 3 MODIFIER @ ');
writeln;
writeln (' @ 4 SUPPRIMER @ ');
writeln;
writeln (' @ 5 Quitter @ ');
writeln (' --------------------------------------');
repeat


c := readkey;

until c in ['1'..'5'];

case c of

'1' : begin
clrscr;
writeln ('---- 1 Ajouter enregistrement ---- ');
lecture (f);
menu;

end;

'2' :begin

clrscr;

writeln (' ---- 2 Afficher tout --------');

affiche (f);
readkey;
menu;
end;

'3' : begin

clrscr;

writeln (' ------ 3 Modifier ------- ');

modifier (f);

readkey;

menu;

end;

'4':
begin

clrscr;

writeln (' -------- 4 supprimer -----');

supprimer (f);

readkey;

menu;


end;


'5': donewincrt;


end;
end;



{-----------------------------------------**

begin

assign (f,'C:\sinfo\cours.txt');
ouvrir (f);

menu;



end.
A voir également:

1 réponse

Bonjour,

Désolé mais on ne comprend rien du tout en te lisant.
Peut-être que si tu prend le temps d'expliquer plus en détails on pourra te guider mais la...
Lis le guide d'utilisation du forum: https://www.commentcamarche.net/infos/25843-guide-d-utilisation-du-forum-de-commentcamarche-net/ .
0