AiDE PROGRAMME PASCAL
djwalid
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
Cyrard -
Cyrard -
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.
à 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:
- AiDE PROGRAMME PASCAL
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Programme demarrage windows - Guide
- Message programmé iphone - Guide
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/ .
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/ .