1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
|
program gestion_des_notes;
uses Crt;
label 1;
type matiere=record
nom_m:string[20];
coef:integer;
note_cc:real;
note_sn:real;
note_fin:real;
end;
type Tdate=record
jour: 1..31;
mois: 1..12;
annee:1980..1998;
end;
type etudiant=record
nom:string[20];
prenom:string[20];
sexe:char;
naissance:Tdate;
matricule:string[7];
note:array[1..7] of matiere;
end;
var
etud: array[1..60] of etudiant;
ok : boolean;
s : string;
n,g,H,a,err,nbre_etud_a_traiter,i,j,y,u :integer;
fichier1: FILE OF etudiant;
fichier2: FILE OF etudiant;
fichier3: FILE OF etudiant;
procedure AfficheMenu;
begin
1: TextColor(11);
writeln('-----------------------------------| MENU |------------------------------------');
TextColor(10);
writeln(' 15- Enregistrer un etudiant');
writeln(' 16- Entrer le nom d''une matiere pour vos operations');
writeln(' 17- Lister les etudiants par ordre alphabatique');
writeln(' 18- Lister les etudiants par ordre de merite');
writeln(' 19- Ajouter 1 aux etudiants dont les notes sont ');
writeln(' comprisent entre 3 et 9');
writeln(' 20- Ajouter 1.5 aux etudiants dont les notes sont ');
writeln(' comprisent entre 10 et 14');
writeln(' 21- Ajouter 2 aux etudiants dont les notes sont ');
writeln(' superieures ou egales a 15');
writeln('');
writeln('Faites votre choix: ');
repeat
writeln('Vous devez faire un choix compris entre 15 et 21: ');
readln(s);
val(s,n,err);
if ((err=0) and (n>=15) and (n<=21)) then ok:=true;
until ok ;
CLrScr;
end;
procedure AfficheEntete;
begin
TextColor(11);
writeln('-------------------GESTION DES NOTES D''ETUDIANTS DE LA GL1B--------------------');
TextColor(9);
writeln('------------------------------LISTE DES MATIERES--------------------------------');
TextColor(9);
writeln(' 1- PASCAL 8- CHINOIS ');
writeln(' 2- ALGORITHMIQUE 9- CISCO ');
writeln(' 3- ANALYSE 10- C. LOGIQUE');
writeln(' 4- ALGEBRE 11- E. ECRITE');
writeln(' 5- ANGLAIS 12- SPORT');
writeln(' 6- COMPTABILITE 13- ARITHMETIQUE');
writeln(' 7- E. ECONOMIQUE 14- A. DES ORDINATEURS');
end;
procedure creerEtudiant(var fichier1dup: file of etudiant);
begin
assign(fichier1dup,'F:\etudiants.txt');
rewrite(fichier1dup);
writeln('Entrer le nombre d''etudiants a enregistrer (60 maxi)');
readln(nbre_etud_a_traiter);
a:=0;
for i:= 1 to nbre_etud_a_traiter do
begin
writeln('Entrez le nom de l''etudiant N° ',i,' : ');
readln(etud[i].nom);
writeln('Entrez le prenom de ',etud[i].nom,' : ');
readln(etud[i].prenom);
writeln('Entrez le sexe de ',etud[i].nom,' (M pour masculin, F pour feminin) : ');
readln(etud[i].sexe);
writeln('Entrez la date de naissance : ');
writeln('Jour : ');
readln(etud[i].naissance.jour);
writeln('Mois : ');
readln(etud[i].naissance.mois);
writeln('Annee : ');
readln(etud[i].naissance.annee);
writeln('Entrez son matricule : ');
readln(etud[i].matricule);
writeln('A present veuillez entrez les notes de ',etud[i].nom,' dans les differentes matieres : ');
for j:=1 to 2 do
begin
writeln('Nom de la',j,'eme matiere : ');
readln(etud[i].note[j].nom_m);
writeln('Coefficient de la matiere : ');
readln(etud[i].note[j].coef);
writeln('Note de controle continu : ');
readln(etud[i].note[j].note_cc);
writeln('Note de session normale : ');
readln(etud[i].note[j].note_sn);
end;
seek(fichier1dup,a);
write(fichier1dup,etud[i]);
a:=a+1;
end;
close(fichier1dup);
end;
procedure afficheEtudiant(var fichier1dup : file of etudiant);
begin
reset(fichier1dup);
writeln('Liste des etudiants pre-enregistres : ');
y:=1;
while not (eof (fichier1dup)) do
begin
read(fichier1dup, etud[i]);
y:=y+1;
end;
u:=y-1;
for y:=1 to u do
begin
write(etud[i].nom,' ',etud[i].prenom,' ');
write(etud[i].nom);
readln();
goto 1;
end;
close(fichier1dup);
end;
BEGIN
ok:=false;
AfficheEntete();
AfficheMenu();
CASE n OF
15: creerEtudiant(fichier1);
16: AfficheEtudiant(fichier1);
ELSE writeln('Choix inexistant');
END;
readln();
END. |
Partager