exercice 13 page 71

Poster un nouveau sujet   Répondre au sujet

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")
===============================
avatar
Admin
Admin

Messages : 42
Points : 12117
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é 46 fois
avatar
Admin
Admin

Messages : 42
Points : 12117
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.
avatar
Admin
Admin

Messages : 42
Points : 12117
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é


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 pouvez répondre aux sujets dans ce forum