pascal > a

Titrea
Postée le30-09-2008
Affichée621
Mini-lien
Description

a

EtatInconnu. Inconnu.
Code d'insertion
Options
Afficher les numéros de lignes  Mettre la source en plein ecran  Selectionner la source  Partager sur Facebook 
Téléchargement Telecharger en format txt  Telecharger en format pdf
Plein ecran
PROGRAM TriTab; //
USES crt;
VAR t:array[0..255]of shortstring;
        ig:byte=0;
        i:byte;
FUNCTION menu:char;
VAR prevx,prevy:byte;
BEGIN
        clrscr;
        write('Menu : '); prevx:=wherex; prevy:=wherey; writeln;
        writeln('------');
        writeln('1/ Ajouter un nom');
        writeln('2/ Supprimer un nom');
        writeln('3/ Lister les noms');
        writeln('4/ Quitter');
        gotoxy(prevx,prevy); readln(menu);
END;
PROCEDURE addname;
VAR nom:shortstring;
BEGIN
        clrscr;
        write('Entrez le nom : '); readln(nom);
        if (nom<>'')then begin
                i:=ig+1;
                while((i>0)and(nom<t[i-1]))do begin
                        t[i]:=t[i-1];
                        i:=i-1;
                end;
                t[i]:=nom;
                ig+=1;
        end else begin write('* Aucun nom enregistre *'); readln; end;
END;
PROCEDURE delname;
VAR nom:shortstring;
BEGIN
        clrscr; i:=ig;
        write('Nom a supprimer : '); readln(nom);
        while((i>0)and(nom<>t[i]))do i-=1;
        if(i>0)then begin
                for i:=i to ig do t[i]:=t[i+1];
                ig-=1;
        end else begin write('* Aucun nom ne correspond *'); readln; end;
END;
PROCEDURE list;
BEGIN
        clrscr;
        writeln('* Liste des noms presents *');
        writeln('  -----------------------  ');
        for i:=1 to ig do writeln(i, ' : ', t[i]);
        writeln('  ---------------  ');
        writeln('* Fin de la liste *');
        readln;
END;
BEGIN
        repeat
        case menu of
                '1':addname;
                '2':delname;
                '3':list;
                '4':halt;
        end;
        until FALSE;
END.