guill.net - La page des réseaux
 

Troisième partie
Le programme Agenda
program Agenda (input, output);

type personne = record;
    nom, prenom, telephone : string[15];
    adresse : string [40]
end ;

var
    choix : char;
    sortir : boolean;
    vecteurpersonne : array [1..100] of personne;
    totalpersonne : integer;

procedure ajouterqqun;
begin
    totalpersonne := totalpersonne + 1;
    writeln ('Nom?');
    readln (vecteurpersonne[totalpersonne].nom);
    writeln ('Prénom?');
    readln (vecteurpersonne[totalpersonne].prenom);
    writeln ('Téléphone?');
    readln (vecteurpersonne[totalpersonne].telephone);
    writeln ('Adresse?');
    readln (vecteurpersonne[totalpersonne].adresse)
end;

procedure afficherliste;
var
    compteur : integer;
begin
    for compteur := 1 to totalpersonne do
    begin
        writeln (vecteurpersonne[compteur].nom);
        writeln (vecteurpersonne[compteur].prenom);
        writeln (vecteurpersonne[compteur].adresse);
        writeln (vecteurpersonne[compteur].telephone)
    end
end;

procedure afficherqqun;
var
    compteur : integer;
    nomcherche : string [15];
begin
    writeln ('Nom?');
    readln (nomcherche);
    for compteur :=1 to totalpersonne do
    begin
        if ( vecteurpersonne[compteur].nom = nomcherche ) then
        begin
            writeln (vecteurpersonne[compteur].nom);
            writeln (vecteurpersonne[compteur].prenom);
            writeln (vecteurpersonne[compteur].adresse);
            writeln (vecteurpersonne[compteur].telephone)
        end
    end
end;

procedure supprimerqqun;
var
    compteur : integer;
    nomcherche : string[15];
    apresceluiquonasupprime : boolean;
begin
    apresceluiquonasupprime := false;
    writeln ('Nom à supprimer?');
    readln (nomcherche);
    for compteur := 1 to totalpersonne do
    begin
        if ( vecteurpersonne[compteur].nom] = nomcherche ) then
            apresceluiquonasupprime := true;
        if ( apresceluiquonasupprime ) then
        begin
            vecteurpersonne[compteur-1].nom := vecteurpersonne[compteur].nom;
            vecteurpersonne[compteur-1].prenom := vecteurpersonne[compteur].prenom;
            vecteurpersonne[compteur-1].adresse := vecteurpersonne[compteur].adresse;
            vecteurpersonne[compteur-1].telephone := vecteurpersonne[compteur].telephone;
        end
    end;
    totalpersonne := totalpersonne – 1;
end;

BEGIN
    totalpersonne := 0;
    sortir := false;
    repeat
        writeln ('Agenda');
        writeln; (* pour sauter une ligne *)
        writeln ('1 – Ajouter quelqu''un');
        writeln ('2 – Supprimer quelqu''un');
        writeln ('3 – Trouver quelqu''un');
        writeln ('4 – Liste des personnes');
        writeln ('X - Sortir');
        readln (choix);
        case choix of
            '1' : ajouterqqun;
            '2' : supprimerqqun;
            '3' : afficherqqun;
            '4' : afficherliste;
            'X' : sortir := true
        end
    until ( sortir )
END.


Retour