Forum programmation
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Correction de l'exercice 13 page 71

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
mtcs
Administrateur
Administrateur
avatar

Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Correction de l'exercice 13 page 71   Sam 27 Oct - 12:34

Code:
program ex13;
uses wincrt,windos;
type
  fiche_eleve=record
        nom,pr:string[20];
        moy:real;
  end;
  fc=file of fiche_eleve;

var
  f:fc;
  nomfich:string[10];
  x:byte;
  quitter:boolean;

procedure menu1(var x : byte);
begin
    repeat
      clrscr;
      writeln('1- Remplir les information des élèves de la classe ',nomfich);
      writeln('2- Accès aux éleves');
      writeln('3- Quitter');
      writeln;
      write('choix : ');
      readln(x);
    until(x in [1..3]);
end;

procedure menu2(var x : byte);
begin
    repeat
      clrscr;
      writeln('1- Afficher tous les élèves de la classe ',nomfich);
      writeln('2- Accès à un élève donné ');
      writeln('3- Retour au menu principal');
      writeln;
      write('choix 2 : ');
      readln(x);
    until(x in [1..3]);
end;

procedure affiche_tous(var f : fc);
var
  e : fiche_eleve;
begin
    clrscr;
    {$I-}reset(f);{$I+}
    if ioresult=0 then
    while(not(eof(f)))do
        begin
              read(f,e);
              with e do
              begin
                  writeln('nom  : ',nom,'  ***  prénom : ',pr,'  ***  moyenne : ',moy:8:3);
              end;
        end
    else
        writeln('erreur fichier ');
    readln;
end;

procedure affiche_eleve(var f : fc);
var
  e:fiche_eleve;
  fs,nb:integer;
begin
    clrscr;
    {$I-}
    reset(f);
    fs:=filesize(f);
    {$I+}
    if (ioresult =0)and(fs>0) then
    begin
        repeat
              write('donner le  N° de l''élève [1..',fs,'] : ');
              readln(nb);
        until(nb in [1..fs]);
        seek(f,nb-1);
        read(f,e);
        with e do
        begin
              writeln('nom  : ',nom,'  ***  prénom : ',pr,'  ***  moyenne : ',moy:8:3);
        end;
    end
    else
    begin
        writeln('Erreur fichier !!! ');
        writeln('appuyer sur une touche pour retourner au menu');
    end;
    readln;
end;


procedure lecture(var f:fc);
  var
    x1,x2:byte;
  begin
    clrscr;
    repeat
          menu2(x2);
          case x2 of
                1: Affiche_tous(f);
                2: Affiche_eleve(f);
          end;
    until (x2=3);
  end;
 
procedure Ecriture(var f : fc);
var
  e : fiche_eleve;
  i,n:byte;
begin
    rewrite(f);
    clrscr;
    writeln('Saisir le nombre des élèves de la classe ',nomfich);
    readln(n);
    for i:=1 to n do
    begin
    writeln('Saisir les données de l''élève n° ',i);
      with e do
      begin
        write('donner nom  : ');
        readln(nom);
        write('donner prénom : ');
        readln(pr);
        write('donner la moyenne ' );
        readln(moy);
        write(f,e);
      end;
      writeln;
    end;
end;

begin
    writeln('saisir le nom physique du fichier : ');
    readln(nomfich);
    assign(f,'c:\classe\'+nomfich+'.fch');
    quitter := false;
    repeat
      menu1(x);
      case x of
      1 : Ecriture(f);
      2 : Lecture(f);
      3 : quitter:=true;
      end;
    until( quitter );
     
      {$i-}close(f); {$i+}
     
end.

Si vous trouverez d'autres solutions plus optimiser partager le ici
Merci d'avance
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
safa
Nouveau
Nouveau
avatar

Nombre de messages : 47
Age : 28
Date d'inscription : 01/04/2007

MessageSujet: Re: Correction de l'exercice 13 page 71   Sam 27 Oct - 15:48

Merci bien mouhamed...
baraka alah fik...
Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
makram
modérateur
modérateur
avatar

Nombre de messages : 549
Age : 28
Date d'inscription : 29/12/2006

MessageSujet: Re: Correction de l'exercice 13 page 71   Sam 27 Oct - 15:58

merci mohamed.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur
avatar

Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Correction de l'exercice 13 page 71   Dim 28 Oct - 11:09

safa a écrit:
Merci bien mouhamed...
baraka alah fik...
Very Happy

makram a écrit:
merci mohamed.

W ybarek fik. Merci à vous, mais avez vous d'autres solutions plus optimals?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur
avatar

Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Correction de l'exercice 13 page 71   Lun 29 Oct - 23:35

Merci Mouhamed

Mais tu devrai mettre l'énoncé de l'exercice pour les membres qui ne possèdent pas notre livre scolaire...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Correction de l'exercice 13 page 71   

Revenir en haut Aller en bas
 
Correction de l'exercice 13 page 71
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Exercice : faire une barre de scrolling
» [Annulée] Demande de page d'aceuil
» [Annulée] Demande une page HTML
» [résolu] Lien dans image survolée vers page html
» lien vers page php

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum programmation :: Programmation :: Delphi & Pascal :: Pascal :: Exercices-
Sauter vers: