Forum ada95000 Dernière connexion : 06/09/2025 à 05:20
Fin de session : 06/09/2025 à 05:30

Vous n'êtes pas connecté [Connexion - Inscription]
Go Bottom
Répondre
Qui peut poster ? Tous les membres peuvent lancer des Nouveaux Sujets, et tout membre peut répondre.
Pseudo:  Voulez-vous vous inscrire ?
Mot de passe:  Mot de passe oublié ?
Sujet: (optionnel)
Icône:

biggrin.gif

bigsmile.gif

cool.gif

cool2.gif

diablotin.gif

eureka.gif

flaming.gif

lol.gif

mad.gif

no.gif

puzzled.gif

roll.gif

rolleyes.gif

sad.gif

saint.gif

shocked.gif

smile.gif

thumbdown.gif

thumbup.gif

tongue.gif

wink.gif
Mode d'édition :
Normal Avancé Aide

Insérer du texte en gras Insérer du texte en italique Insérer du texte souligné Insérer du texte centré Insérer un lien hypertexte Insérer un lien vers un Email Insérer une image Insérer du code Insérer une citation Insérer une liste Insérer du texte caché
Message:
HTML activé ? Non
Smileys activés ? Oui
BBCode activé ? Oui
Activer fonction [img] ? Oui
:D:grin::cool:8)
:eldiablo::eureka::x:hot:
:lol::mad::no::-?
:-p:-o:(:ange:
Plus de smileys
Options Désactiver les smileys ?
Utiliser une signature ?
Désactiver le BBCode ?
Recevoir une notification par Email lors de nouvelles réponses ?

Revoir le sujet
ftbass
Administrator
StaffStaffStaffStaffStaffStaffStaffStaffStaff

images/avatars/WC3HumanOp1.gif

Messages: 72
Inscrit(e) le: 27/02/2004
Déconnecté(e)
Publié le 05/04/2004 à 22:10
RE : version 14 ter remanie.

quote: j'ai pas tout compris éau fonctionnement des post, mais c'est pas grave !!!!


Non c'est pas grave, l'essentiel étant de faire avancer le truc :D

J'ai quand même remis un peu d'ordre ^_^
ftbass
Administrator
StaffStaffStaffStaffStaffStaffStaffStaffStaff

images/avatars/WC3HumanOp1.gif

Messages: 72
Inscrit(e) le: 27/02/2004
Déconnecté(e)
Publié le 04/04/2004 à 23:48
RE : exo 14 bis avec procedure qui remplace le get_line sur les chaines de caracteres

Bien vue la fonction GetNom.:cool:

Ca évite de passer par une procedure d'initialisation...
yba
Junior Member
MembreMembre


Messages: 4
Inscrit(e) le: 27/03/2004
Lieu de résidence : domont
Déconnecté(e)
Publié le 04/04/2004 à 19:35
Exo 14: Enregistrements

code:
version 14 ter

-- programme qui permet la saisie du
-- personnel d'une entreprise
with text_io;use text_io;
with ada.text_io;use ada.text_io;
with ada.integer_text_io; use ada.integer_text_io;

procedure personnel_societe is
 
 type date_naissance is record
   quantieme : integer range 1..31;
   mois : integer range 1..12;
   annee : integer range 1940..1986;
 end record;

 type salarie is record
   nom : string (1..10);
   prenom : string  (1..10);
   date_naiss : date_naissance;
   service : string (1..10);
   coefficient : integer;
   fonction : string (1..10);
 end record;
 
 type Personnel is array(1..1) of Salarie;
     tab_p : personnel;

  procedure Get_ch (T :    out String ) is
     -- saisie un nom. Met des blancs a la fin de
     -- facon a avoir une chaine de longueur fixe
     L : Integer;  
  begin
     Get_Line(T,L); -- on lit la chaine de l'utilisateur
     if L = T'Last then
        Skip_Line;
     end if;
     for I in L+1.. T 'Last loop -- on remplit avec des blancs
        T(I):=' ';
     end loop;
  end Get_ch;
 
  procedure saisie_personnel(t : in out personnel) is
 begin
   put("Saisie du personnel.");new_line;
   for i in t'range loop
     put("Donner le nom : ");
     get_ch(T(i).nom);
     put("Donner le prenom : ");
     get_ch(T(i).prenom);
     put("Date de naissance.");new_line;
     put("Donner le jour : ");
     get(T(i).date_naiss.quantieme);
     put("Donner le mois : ");
     get(T(i).date_naiss.mois);
     put("Donner l'annee : ");
     get(T(i).date_naiss.annee);
     put("Donner le service : ");skip_line;
     get_ch(T(i).service);
     put("Donner le coefficient : ");
     get(T(i).coefficient);
     put("Donner la fonction : ");skip_line;
     get_ch(T(i).fonction);
     new_line;
   end loop;
 end saisie_personnel;

 procedure afficher_entete is
 begin
   put("Affichage du personnel.");new_line;
   put("nom");put(" ");put("Prenom");
   put(" ");put("Date");
   put("    ");put("Service");
   put(" ");put("Coeff.");
   put(" ");put("Fonction");--skip_line;
   new_line;
 end afficher_entete;    
 
 procedure afficher_personnel(t : in personnel) is
   long_car : integer := 4;
 begin
   afficher_entete;skip_line;
   for i in t'range loop
     put(t(i).nom(1..long_car));put (" ");
     put(t(i).prenom(1..long_car));put(" ");
     put(t(i).date_naiss.quantieme,1);put ("/");
     put(t(i).date_naiss.mois,1);put ("/");
     put(t(i).date_naiss.annee,1);put("  ");
     put(t(i).service(1..long_car));put ("    ");
     put(t(i).coefficient,1);put ("    ");
     put(t(i).fonction(1..long_car));
     new_line;
   end loop;
   new_line;
 end afficher_personnel;

 procedure modifier_salarie(t : in out personnel) is
   Long_Car : Integer;
   num_salarie : integer;
  begin
   new_line;
   loop    
      put("Numero du salarie a modifer");
        put("(");put(tab_p'first,1);put("-");put(tab_p'last,1);
        put(" ou 0 pour sortir) : ");
        get(num_salarie);
        exit when num_salarie = 0;
        new_line;skip_line;
        put("Modification du salarie Numero ");put(num_salarie,1);new_line;
        put("Modifier le service : ");
        get_line(T(num_salarie).service,long_car);
        put("Modifier le coefficient : ");
        get(T(num_salarie).coefficient);
        put("Modifier la fonction : ");skip_line;
        get_ch(T(num_salarie).fonction);
        New_Line;
        Afficher_Personnel(T);
   end loop;
 end modifier_salarie;

 procedure sauvegarde_salaries(sal : in personnel) is
    Nom_Fichier : String(1..30);
    F : File_Type;
     Long_Chaine : Natural;
     choix : character;
  begin
     put("Tapez S pour Sauvegarder dans un fichier : ");
    get(choix);
    if choix = 'S' or choix = 's' then
       --demander nom du fichier
       skip_line;
     Put ("Donner le nom du fichier : " );
     Get_Line(Nom_Fichier,long_Chaine);
     Create(F,out_File,Nom_Fichier(1..long_Chaine),"");
     long_chaine := 4;
     --faire sauvegarde
     for I in sal'range loop
       Put(F,sal(i).nom(1..long_chaine));
       New_Line(F);
       Put(F,sal(i).preNom(1..long_chaine));
       New_Line(F);
       Put(F,sal(i).date_naiss.quantieme,1);
       New_Line(F);
       Put(F,sal(i).date_naiss.mois,1);
       New_Line(F);
       Put(F,sal(i).date_naiss.annee,1);
       New_Line(F);
       Put(F,sal(i).service(1..long_chaine));
       New_Line(F);
       Put(F,sal(i).coefficient,1);
       New_Line(F);
       Put(F,sal(i).fonction(1..long_chaine));
       New_Line(F);
     end loop;
     close(f);
       Put("Sauvegarde effectue");New_Line(2);
     end if;
 end sauvegarde_salaries;

 procedure Lire_fichier_salaries is
   Nom_Fichier : String(1..30);
   Fi : File_Type;
   long_Chaine : Natural;
   n,p,s,f : string(1..10);
   q,m,a,c : integer;
 begin
   --demander nom du fichier
     Put("Lecture et affichage du fichier sauvegarde.");
     new_line;
   Put ("Donner le nom du fichier : " );
   Get_Line(Nom_Fichier,long_Chaine);
   open(Fi,in_File,Nom_Fichier(1..long_Chaine),"");
   long_chaine := 4;
   afficher_entete;
   --lire le fichier
     while not(End_Of_File(Fi)) loop
     get(fi,n(1..long_chaine));skip_line(fi);--nom
     get(fi,p(1..long_chaine));skip_line(fi);--prenom
     get(fi,q);skip_line(fi);--quantieme
     get(fi,m);skip_line(fi);--mois
     get(fi,a);skip_line(fi);--annee
     get(fi,s(1..long_chaine));--service
     get(fi,c);put(c);skip_line(fi);--coefficient
     get(fi,f(1..long_chaine));skip_line(fi);--fonction
   
     put(n(1..long_chaine));put(" ");--nom
     put(p(1..long_chaine));put(" ");--prenom
     put(q);put(" ");--quantieme
     put(m);put(" ");--mois
     put(a);put(" ");--annee
     put(s(1..long_chaine));put(" ");--service
     put(c);put(" ");--coefficient
     put(f(1..long_chaine));--fonction
        New_Line;
   end loop;
   close(fi);
 end lire_fichier_salaries;

begin
 saisie_personnel(tab_p);
  Afficher_Personnel(Tab_P);
 modifier_salarie(tab_p);
  sauvegarde_salaries(tab_p);
 lire_fichier_salaries;

end personnel_societe;

quote: j'ai pas tout compris éau fonctionnement des post, mais c'est pas grave !!!!
yba
Junior Member
MembreMembre


Messages: 4
Inscrit(e) le: 27/03/2004
Lieu de résidence : domont
Déconnecté(e)
Publié le 04/04/2004 à 19:15
exo 14 ter avec sauvegarde et lecture dans un fichier texte

-- programme qui permet la saisie du
-- personnel d'une entreprise
with text_io;use text_io;
with ada.text_io;use ada.text_io;
with ada.integer_text_io; use ada.integer_text_io;

procedure personnel_societe is
 
 type date_naissance is record
   quantieme : integer range 1..31;
   mois : integer range 1..12;
   annee : integer range 1940..1986;
 end record;

 type salarie is record
   nom : string (1..10);
   prenom : string  (1..10);
   date_naiss : date_naissance;
   service : string (1..10);
   coefficient : integer;
   fonction : string (1..10);
 end record;
 
 type Personnel is array(1..1) of Salarie;
     tab_p : personnel;

 procedure saisie_personnel(t : in out personnel) is
   long_car : integer;
 begin
   put("Saisie du personnel.");new_line;
   for i in t'range loop
     put("Donner le nom : ");
     get_line(T(i).nom,long_car);
     put("Donner le prenom : ");
     get_line(T(i).prenom,long_car);
     put("Date de naissance.");new_line;
     put("Donner le jour : ");
     get(T(i).date_naiss.quantieme);
     put("Donner le mois : ");
     get(T(i).date_naiss.mois);
     put("Donner l'annee : ");
     get(T(i).date_naiss.annee);
     put("Donner le service : ");skip_line;
     get_line(T(i).service,long_car);
     put("Donner le coefficient : ");
     get(T(i).coefficient);
     put("Donner la fonction : ");skip_line;
     get_line(T(i).fonction,long_car);
     new_line;
   end loop;
 end saisie_personnel;

 procedure afficher_entete is
 begin
   put("Affichage du personnel.");new_line;
   put("nom");put(" ");put("Prenom");
   put(" ");put("Date");
   put("    ");put("Service");
   put(" ");put("Coeff.");
   put(" ");put("Fonction");--skip_line;
   new_line;
 end afficher_entete;    
 
 procedure afficher_personnel(t : in personnel) is
   long_car : integer := 4;
 begin
   afficher_entete;skip_line;
   for i in t'range loop
     put(t(i).nom(1..long_car));put (" ");
     put(t(i).prenom(1..long_car));put(" ");
     put(t(i).date_naiss.quantieme,1);put ("/");
     put(t(i).date_naiss.mois,1);put ("/");
     put(t(i).date_naiss.annee,1);put("  ");
     put(t(i).service(1..long_car));put ("    ");
     put(t(i).coefficient,1);put ("    ");
     put(t(i).fonction(1..long_car));
     new_line;
   end loop;
   new_line;
 end afficher_personnel;

 procedure modifier_salarie(t : in out personnel) is
   Long_Car : Integer;
   num_salarie : integer;
  begin
   new_line;
   loop    
      put("Numero du salarie a modifer");
        put("(");put(tab_p'first,1);put("-");put(tab_p'last,1);
        put(" ou 0 pour sortir) : ");
        get(num_salarie);
        exit when num_salarie = 0;
        new_line;skip_line;
        put("Modification du salarie Numero ");put(num_salarie,1);new_line;
        put("Modifier le service : ");
        get_line(T(num_salarie).service,long_car);
        put("Modifier le coefficient : ");
        get(T(num_salarie).coefficient);
        put("Modifier la fonction : ");skip_line;
        get_line(T(num_salarie).fonction,long_car);
        New_Line;
        Afficher_Personnel(T);
   end loop;
 end modifier_salarie;

 procedure sauvegarde_salaries(sal : in personnel) is
    Nom_Fichier : String(1..30);
    F : File_Type;
     Long_Chaine : Natural;
     choix : character;
  begin
     put("Tapez S pour Sauvegarder dans un fichier : ");
    get(choix);
    if choix = 'S' or choix = 's' then
       --demander nom du fichier
       skip_line;
     Put ("Donner le nom du fichier : " );
     Get_Line(Nom_Fichier,long_Chaine);
     Create(F,out_File,Nom_Fichier(1..long_Chaine),"");
     long_chaine := 4;
     --faire sauvegarde
     for I in sal'range loop
       Put(F,sal(i).nom(1..long_chaine));
       New_Line(F);
       Put(F,sal(i).preNom(1..long_chaine));
       New_Line(F);
       Put(F,sal(i).date_naiss.quantieme,1);
       New_Line(F);
       Put(F,sal(i).date_naiss.mois,1);
       New_Line(F);
       Put(F,sal(i).date_naiss.annee,1);
       New_Line(F);
       Put(F,sal(i).service(1..long_chaine));
       New_Line(F);
       Put(F,sal(i).coefficient,1);
       New_Line(F);
       Put(F,sal(i).fonction(1..long_chaine));
       New_Line(F);
     end loop;
     close(f);
       Put("Sauvegarde effectue");New_Line(2);
     end if;
 end sauvegarde_salaries;

 procedure Lire_fichier_salaries is
   Nom_Fichier : String(1..30);
   Fi : File_Type;
   long_Chaine : Natural;
   n,p,s,f : string(1..10);
   q,m,a,c : integer;
 begin
   --demander nom du fichier
     Put("Lecture et affichage du fichier sauvegarde.");
     new_line;
   Put ("Donner le nom du fichier : " );
   Get_Line(Nom_Fichier,long_Chaine);
   open(Fi,in_File,Nom_Fichier(1..long_Chaine),"");
   long_chaine := 4;
   afficher_entete;
   --lire le fichier
     while not(End_Of_File(Fi)) loop
     get(fi,n(1..long_chaine));skip_line(fi);--nom
     get(fi,p(1..long_chaine));skip_line(fi);--prenom
     get(fi,q);skip_line(fi);--quantieme
     get(fi,m);skip_line(fi);--mois
     get(fi,a);skip_line(fi);--annee
     get(fi,s(1..long_chaine));--service
     get(fi,c);put(c);skip_line(fi);--coefficient
     get(fi,f(1..long_chaine));skip_line(fi);--fonction
   
     put(n(1..long_chaine));put(" ");--nom
     put(p(1..long_chaine));put(" ");--prenom
     put(q);put(" ");--quantieme
     put(m);put(" ");--mois
     put(a);put(" ");--annee
     put(s(1..long_chaine));put(" ");--service
     put(c);put(" ");--coefficient
     put(f(1..long_chaine));--fonction
        New_Line;
   end loop;
   close(fi);
 end lire_fichier_salaries;

begin
 saisie_personnel(tab_p);
  Afficher_Personnel(Tab_P);
 modifier_salarie(tab_p);
  sauvegarde_salaries(tab_p);
 lire_fichier_salaries;

end personnel_societe;
yba
Junior Member
MembreMembre


Messages: 4
Inscrit(e) le: 27/03/2004
Lieu de résidence : domont
Déconnecté(e)
Publié le 04/04/2004 à 19:11
exo 14 bis avec procedure qui remplace le get_line sur les chaines de caracteres

with Text_Io;use Text_Io;
with Ada.Text_Io;use Ada.Text_Io;
with Ada.Integer_Text_Io;use Ada.Integer_Text_Io;

procedure Personnel_Societe is
  type Date_Naissance is
     record
        Jour  : Integer range 1 .. 31;  
        Mois  : Integer range 1 .. 12;  
        Annee : Integer range 1940 .. 1986;  
     end record;
  type Salarie is
     record
        Nom         : String (1 .. 10);  
        Prenom      : String (1 .. 10);  
        Date_Naiss  : Date_Naissance;  
        Service     : String (1 .. 10);  
        Coefficient : Integer;  
        Fonction    : String (1 .. 10);  
     end record;
  type Personnel is array (1 .. 1) of Salarie;


  procedure Getnom (T :    out String ) is
     -- saisie un nom. Met des blancs a la fin de
     -- facon a avoir une chaine de longueur fixe
     L : Integer;  
  begin
     Put("entrer un nom : ");
     Get_Line(T,L); -- on lit la chaine de l'utilisateur
     if L = T'Last then
        Skip_Line;
     end if;
     for I in L+1.. T 'Last loop -- on remplit avec des blancs
        T(I):=' ';
     end loop;
  end Getnom;


  procedure Saisir_Personnel (
        T : in out Personnel ) is
     Long_Car : Integer;  
  begin
     Put("Saisie des informations concernant le personnel.");
     New_Line;
     for I in T'range loop
        Put("Donner le nom : ");
        Get_Line(T(I).Nom,Long_Car);
        Put("Donner le prenom : ");
        Skip_Line;
        Get_Line(T(I).Prenom,Long_Car);
        New_Line;
        Put("Donner la date de naissance.");
        New_Line;
        Put("Donner le jour : ");
        Get(T(I).Date_Naiss.Jour);
        Put("Donner le mois : ");
        Get(T(I).Date_Naiss.Mois);
        Put("Donner l'annee : ");
        Get(T(I).Date_Naiss.Annee);
        Skip_Line;
        Put("Donner le service : ");
        Get_Line(T(I).Service,Long_Car);
        Skip_Line;
        Put("Donner le coefficient : ");
        Get(T(I).Coefficient);
        Skip_Line;
        Put("Donner la fonction : ");
        Get_Line(T(I).Fonction,Long_Car);
     end loop;
  end Saisir_Personnel;

  procedure Afficher_Personnel (
        T : in     Personnel ) is
  begin
     New_Line;
     Put("Affichage des infos des salaries.");
     New_Line;
     for I in T'range loop
        Put(T(I).Nom);
        Put(" ");
        Put(T(I).Prenom);
        New_Line;
        Put(T(I).Date_Naiss.Jour,1);
        Put("/");
        Put(T(I).Date_Naiss.Mois,1);
        Put("/");
        Put(T(I).Date_Naiss.Annee);
        New_Line;
        Put(T(I).Service);
        New_Line;
        Put(T(I).Coefficient,3);
        New_Line;
        Put(T(I).Fonction);
        New_Line;
     end loop;
  end Afficher_Personnel;

  procedure Afficher_Salarie (
        S : in     Salarie ) is
  begin
     New_Line;
     Put("Affichage des infos concernant le salarie.");
     New_Line;
     Put(S.Nom);
     Put(" ");
     Put(S.Prenom);
     Put(" ");
     New_Line;
     Put(S.Date_Naiss.Jour);
     Put("/");
     Put(S.Date_Naiss.Mois);
     Put("/");
     Put(S.Date_Naiss.Annee);
     New_Line;
     Put(S.Service);
     New_Line;
     Put(S.Coefficient);
     New_Line;
     Put(S.Fonction);
     New_Line;
  end Afficher_Salarie;

  procedure Modifier_Salarie (
        T : in out Personnel;
        I : in     Integer    ) is
     C      : Character;  
     Chaine : String (1 .. 10);  
     Coeff  : Integer;  
  begin
     Afficher_Salarie(T(I));
     Put("Voulez vous modifier le champ service o/n : ");
     Get(C);
     case C is
        when 'o' | 'O' =>
           Put("Donner le nouveau service");
           Get(Chaine);
           T(I).Service := Chaine;
        when 'n' | 'N' =>
           null;
        when others =>
           New_Line;
           Put("Il faut saisir O ou N.");
           New_Line;
     end case;
     Put("Voulez vous modifier le champ coefficient o/n : ");
     Get(C);
     case C is
        when 'o' | 'O' =>
           Put("Donner le nouveau coefficient");
           Get(Coeff);
           T(I).Coefficient := Coeff;
        when 'n' | 'N' =>
           null;
        when others =>
           New_Line;
           Put("Il faut saisir O ou N.");
     end case;
     Put("Voulez vous modifier le champ fonction o/n : ");
     Get(C);
     case C is
        when 'o' | 'O' =>
           Put("Donner la nouvelle fonction");
           Get(Chaine);
           T(I).Fonction := Chaine;
        when 'n' | 'N' =>
           null;
        when others =>
           New_Line;
           Put("Il faut saisir O ou N.");
     end case;
  end Modifier_Salarie;

  P1 : Personnel;  
  Nb : Integer;  
begin
  Saisir_Personnel(P1);
  Afficher_Personnel(P1);
  Put("Quel numero de salarie voulez vous modifier ? ");
  Get(Nb);
  Modifier_Salarie(P1,Nb);
  Afficher_Salarie(P1(Nb));
end Personnel_Societe;
ftbass
Administrator
StaffStaffStaffStaffStaffStaffStaffStaffStaff

images/avatars/WC3HumanOp1.gif

Messages: 72
Inscrit(e) le: 27/02/2004
Déconnecté(e)
Publié le 03/04/2004 à 14:49
Exo 14: Enregistrements

Un petit peu de code :

code:
with text_io; use text_io;
with ada.integer_text_io; use ada.integer_text_io;

procedure PersonnelSociete is

type TypeDate is record
  Quantieme : integer range 1 .. 31;
  Mois : integer range 1 .. 12;
  Annee : integer range 1940 .. 1996;
end record;

type TypeSalarie is record
  Nom : string(1..15);
  Prenom : string(1..15);
  DateNaissance : TypeDate;
  Service : string(1..10);
  Coeff : integer;
  Fonction : string(1..10);
end record;

type TypePersonnel is array(1..5) of TypeSalarie;

TabPersonnel : TypePersonnel;

Procedure CreerPersonnel(T : in out TypePersonnel) is
begin
  for i in T'range loop
     T(i).Nom := "               ";
     T(i).Prenom := "               ";
     T(i).Service := "          ";
     T(i).Fonction := "          ";
  end loop;
end CreerPersonnel;

Procedure SaisirPersonnel(T : in out TypePersonnel) is

Compt : integer;

begin  
  for i in T'range loop
     put("Salarie "); put(i, 2);
     new_line;
     put("Donnez son nom : ");
     get_line(T(i).Nom, compt);
     put("Donnez son prenom : ");
     get_line(T(i).Prenom, compt);
     put("Donnez le quantieme de sa date de naissance : ");
     get(T(i).DateNaissance.Quantieme);
     put("Donnez le mois de sa date de naissance : ");
     get(T(i).DateNaissance.Mois);
     put("Donnez l'annee de sa date de naissance : ");
     get(T(i).DateNaissance.Annee);
     skip_line;
     put("Donnez son service : ");
     get_line(T(i).Service, compt);
     put("Donnez sa fonction : ");
     get_line(T(i).Fonction, compt);
     put("Donnez son coefficient : ");
     get(T(i).Coeff);
     skip_line;
     new_line;
  end loop;
end SaisirPersonnel;

Procedure AfficherPersonnel(T : in TypePersonnel) is
begin
  new_line;
  for i in T'range loop
     put("Salarie "); put(i, 2);
     new_line;
     put(T(i).Nom); put(" "); put(T(i).Prenom); new_line;
     put("Ne le "); put(T(i).DateNaissance.Quantieme, 2); put("/"); put(T(i).DateNaissance.Mois, 2); put("/"); put(T(i).DateNaissance.Annee, 4);
     new_line;
     put("Service : "); put(T(i).Service);  put("Fonction : "); put(T(i).Fonction);
     new_line;
     put("Coefficient : "); put(T(i).Coeff, 4);
     new_line;
  end loop;
end AfficherPersonnel;
 
Procedure ModifierPersonnel(T : in out TypePersonnel) is

compt : integer;
i, iMin, iMax : integer;

begin
  iMin := T'first;
  iMax := T'last;
  new_line;
  put("Quel personne voulez-vous modifier ? (saisir un nombre de "); put(iMin, 2); put(" a "); put(iMax, 2); put(")");
  get(i);
  skip_line;
  new_line;
  put("Modification du salarie "); put(i, 2);
  new_line;
  put("Donnez son nom : ");
  get_line(T(i).Nom, compt);
  put("Donnez son prenom : ");
  get_line(T(i).Prenom, compt);
  put("Donnez le quantieme de sa date de naissance : ");
  get(T(i).DateNaissance.Quantieme);
  put("Donnez le mois de sa date de naissance : ");
  get(T(i).DateNaissance.Mois);
  put("Donnez l'annee de sa date de naissance : ");
  get(T(i).DateNaissance.Annee);
  skip_line;
  put("Donnez son service : ");
  get_line(T(i).Service, compt);
  put("Donnez sa fonction : ");
  get_line(T(i).Fonction, compt);
  put("Donnez son coefficient : ");
  get(T(i).Coeff);
  skip_line;
  new_line;

end ModifierPersonnel;
begin
  CreerPersonnel(TabPersonnel);
  SaisirPersonnel(TabPersonnel);
  AfficherPersonnel(TabPersonnel);
  new_line(2);
  ModifierPersonnel(TabPersonnel);
  AfficherPersonnel(TabPersonnel);
end PersonnelSociete;


Je suis preneur pour les améliorations (choix utilisateur pour la modif, ecriture dans un fichier...) :P

Go Top
10.8.5.121 05:20 - 6 Septembre 2025 10.8.5.121
[ 0.1737590 secondes | Effacer le cookie | 19 requêtes ]
Oxygen v1.0.11 © 2002  |  Oxygen WebSite © 2002