Exo 13: Types énumératifs
|
Ecrire un programme qui permet, pour chaque hjour de la semaine, de dire si un employé était présent ("p") ou absent ("a").
Afficher ce tableau de présence.
code: with text_io; use text_io;
procedure societe is
type salaries is (salarie1, salarie2, salarie3, salarie4, salarie5);
type joursOuvrables is (lundi, mardi, mercredi, jeudi, vendredi);
type positions is (P, a);
type etatSalaries is array (salarie1 .. salarie5, lundi .. vendredi) of positions;
package salaries_eS is new text_io.enumeration_io(salaries); use salaries_ES;
package positions_eS is new text_io.enumeration_io(positions); use positions_ES;
package joursOuvrables_eS is new text_io.enumeration_io(JoursOuvrables); use joursOuvrables_ES;
eS1 : etatSalaries;
procedure saisie_Case(salarie : in salaries; jour : in joursOuvrables; ES : in out etatSalaries) is
begin
put("Position du "); put(salarie); put(" le "); put(jour); put(" : ");
get(es(salarie, jour));
end saisie_case;
procedure afficher_Position_Salarie(eS : in etatSalaries) is
begin
for sal in salaries'range loop
new_line;
for jour in joursOuvrables'range loop
put(eS(Sal, jour)); put(" ");
end loop;
end loop;
end afficher_Position_Salarie;
begin
put("Saisie du tableau de présence des salaries, jour apres jour : ");
for jour in joursOuvrables'range loop
new_line;
for sal in salaries'range loop
saisie_case(sal, jour, eS1);
end loop;
end loop;
afficher_Position_Salarie(ES1);
end societe; |
|
|