exercice 13 page 71

Voir le sujet précédent Voir le sujet suivant Aller en bas

exercice 13 page 71

Message par Admin le Dim 9 Oct - 16:54

Salam.
Voici quelques notions de correction:
analyse:
résultat = proc menu
========================
DEF PROC menu ()
résultat = choix
répéter
choix=donnée
jusqu'à choix dans [1..3]
selon choix faire
1: PROC lecture
2: PROC ecriture
fin selon
Ecrire (" 1 : Lecture ")
Ecrire (" 2 : Ecriture ")
Ecrire (" 3 : Quitter ")
===========================
DEF PROC lecture ()
résultat =
Ecrire (" 1 : Eleve ")
Ecrire (" 2 : Classe ")
Ecrire (" 3 : Quitter ")
repeter
choix=donnée
jusqu'à choix dans [1..3]
selon choix faire
1: PROC lect_e
2: PROC lect_c
finselon
=======================
DEF PROC lect_e
résultat = ecrire (e.nom,e.prenom,e.moy)
e= lire(f,e)
pointer(f,n)
repeter
n=donnée("donner le numero de l'eleve")
jusqu'à n dans [0..cl-1]
cl ← taille_fichier(f)
f=associer(f,nomf)
nomf=former(nomf1)
nomf1=donnée("donner le nom du fichier")
============================
DEF PROC lect_c
résultat =
[ouvrir(f)]tantque non fin_fichier(f) faire
lire (f,e)
ecrire (e.nom,e.prenom,e.moy)
fin tantque
fermer(f)
f=associer(f,nomf)
nomf=former(nomf1)
nomf1=donnée("donner le nom du fichier")
===============================

Admin
Admin

Messages : 42
Points : 11497
Réputation : 0
Date d'inscription : 08/11/2010

Voir le profil de l'utilisateur http://www.haiethem.co.cc

Revenir en haut Aller en bas

correction en pascal

Message par Admin le Dim 9 Oct - 16:56

Voici un programme exétucable.
Pour le code source, il sera publié après l'avoir corrigé en classe.
Merci bien.
Fichiers joints
ex13p71.zip fichier compressé(30 Ko) Téléchargé 41 fois

Admin
Admin

Messages : 42
Points : 11497
Réputation : 0
Date d'inscription : 08/11/2010

Voir le profil de l'utilisateur http://www.haiethem.co.cc

Revenir en haut Aller en bas

Programme Pascal

Message par Admin le Ven 14 Oct - 9:08

program classe_eleves;

uses wincrt;

type
eleve = record
nom:string[20];
prenom:string[20];
moy:real;
end;
Fichier=file of eleve;


procedure saisirClasse(var classe:string);
begin

write('Classe : ');readln(classe);
classe:=classe+'.FCH';
end;

procedure RemplirClasse;
var
E:eleve;
i,n:integer;
Cl:string;
c:char;
F:Fichier;
begin

saisirClasse(Cl);
assign(F,'c:\classes\'+Cl);
rewrite(F);
i:=1;
repeat
with E do
begin
writeln(' # ELEVE ',i,' :');
write(' Nom : ');readln(nom);
write(' Prénom : ');readln(prenom);
write(' Moyenne : ');readln(moy);
writeln;
end;
i:=1+i;
write(F,E);
repeat
write('Ajouter eleve O/N');readln(c);
until c in['o','O','N','n'];
until upcase(c)='N';
end;


procedure LectureClasse(var F:Fichier);
var
E:eleve;
begin
while not(eof(F)) do
begin
read(F,E);

with E do
begin
writeln('Nom : ':20,'Prénom : ':20,'Moyenne :':20);
writeln(nom:20,prenom:20,moy:20:2);
end;
end;

end;


procedure LectureEleve(var F:Fichier);
var
n:integer;
E:eleve;
begin
write('Eleve numero : ');readln(n);
seek(F,n-1);
read(F,E);
with E do
begin
writeln('Nom : ':20,'Prénom : ':20,'Moyenne :':20);
writeln(nom:20,prenom:20,moy:20:2);
writeln;
end;
end;

procedure lectureFichiers(var F:Fichier);
var
Cl,ch:string;
begin
saisirClasse(Cl);
assign(F,'c:\classes\'+Cl);
reset(F);
end;

procedure Menu2;
var
k:integer;
F:Fichier;
begin
clrscr;
writeln(' 1 - Eleve');
writeln(' 2 - Classe');
writeln(' 3 - Quiter');

repeat
write('Votre Choix : ');readln(k);
until(k in [1..3]);

case k of
1 : BEGIN lectureFichiers(F);
LectureEleve(F);end;
2 : begin lectureFichiers(F);
LectureClasse(F);end;
end;
end;
procedure continue;
begin
writeln;writeln('*** Appyuez une touche pour continuer *** ');readkey;
end;

procedure Menu1;
var
k:integer;
begin
clrscr;
writeln(' 1 - Lecture');
Writeln(' 2 - Ecriture');
writeln(' 3 - Quiter');
repeat
write('Votre Choix : ');readln(k);
until(k in [1..3]);

case k of
1 : begin menu2;continue;
menu1;end;
2 : begin RemplirClasse; continue;
menu1;end;
end;
end;

BEGIN

Menu1;

END.

Admin
Admin

Messages : 42
Points : 11497
Réputation : 0
Date d'inscription : 08/11/2010

Voir le profil de l'utilisateur http://www.haiethem.co.cc

Revenir en haut Aller en bas

Re: exercice 13 page 71

Message par Contenu sponsorisé Aujourd'hui à 20:38


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum