private static int add() {
        int index;     // contient l'index d'un élève
        int matricule; // contient la matricule du nouvelle élève

        String input; // contient la valeur renvoyé par la fonction getNumber()

        // trouver de la place libre dans le tableau
        index = getStudent(999, false);
        if(index == -1) {
            JOptionPane.showMessageDialog(null, "Il n'y a plus de place.");
            return 1;
        }

        // demander le nom
        nom[index] = JOptionPane.showInputDialog("Veuillez entrer le nom de l'élève:");
        if(nom[index] == null) return 1;

        // demander un numéro de matricule disponible
        do {
            input = getNumber("Veuillez entrer un numéro de matricule pour l'élève:", true, 0, INACTIF-1);
            if(input == ERR) return 1;
            matricule = Integer.parseInt(input);
            if(getStudent(matricule, false) != -1)
                JOptionPane.showMessageDialog(null, "Le numéro #"+matricule+" n'est pas disponible.");
        } while(getStudent(matricule, false) != -1);
        no[index]  = Integer.parseInt(input);

        // demander l'adresse de l'élève
        adr[index] = JOptionPane.showInputDialog("Veuillez entrer l'adresse de l'élève:");
        if(adr[index] == null) return 1;

        // demander la note de programmation
        input = getNumber("Veuillez entrer la note de programmation de l'élève:", true, 0, 100);
        if(input == ERR) return 1;
        notep[index] = Integer.parseInt(input);

        // demander la note de logique
        input = getNumber("Veuillez entrer la note de logique de l'élève:", true, 0, 100);
        if(input == ERR) return 1;
        notel[index] = Integer.parseInt(input);

        return 0;
    }