//  Programme d'analyse de donn\'ees
//  Version 3.0  -  22.01.2003
   
    clear();    
    lines(0);
    exec('writef.sci');
    exec('lecDonneesAdd.sci');
    exec('regres.sci');
    exec('acp.sci');
    exec('afc.sci');
    exec('afd.sci');

    stacksize(20000000);


    nuEcran = -1;

    os = x_choose(['Windows 95 et 98';..
                   'Windows 2000';..
                   'Windows XP et Windows 7';..
                   'Vista';..
                   'Linux (Debian et Ubuntu)'],...
                   'Cliquer sur un item en fonction de votre systeme d''exploitation');

//  Nom du fichier des donn\'ees

    nuFic = 1;

    while (nuFic > 0)

        nuErreur = 0;
        [nomFic, nuFic, nuErreur] = ficDonnees(nuErreur, os);
        if (nuErreur > 0) then
            error('Fin anormale du programme')
        end

//  Ouverture du fichier de compte-rendu

        nomFicCR = nomFic+'.crd';
        lst = mopen(nomFicCR, 'w');

//        nomFicTx = nomFic+'.tex';
//        TeX = file('open', nomFicTx', 'unknown');

//  Lecture des donn\'ees

        [tableau, lblObs, lblVar, nObs, nVar, nLblObs, titre, flagLangue] = lecDonnees(nomFic);

//  Choix d'une methode

        methode = 10;
        while (methode > 0)
            methode = x_choose(['Regression multiple';..
                                'Analyse en composantes principales';..
                                'Analyse factorielle des correspondances';..
                                'Analyse discriminante';..
//                               'Classement flou';,..
                                'Fin'],...
                                'Cliquer sur un item pour choisir la methode d''analyse');

            select methode,
                case 1 then
                    nuEcran = regresMult(tableau, lblObs, lblVar, nObs, nVar, nLblObs, nuEcran, methode, lst, nomFic, titre);
                case 2 then
                    nuEcran =        acp(tableau, lblObs, lblVar, nObs, nVar, nLblObs, nuEcran, methode, lst, nomFic, titre, flagLangue);
                case 3 then
                    nuEcran =        afc(tableau, lblObs, lblVar, nObs, nVar, nLblObs, nuEcran, methode, lst, nomFic, titre, flagLangue);
                case 4 then
                    nuEcran =        afd(tableau, lblObs, lblVar, nObs, nVar, nLblObs, nuEcran, methode, lst, nomFic, titre, flagLangue);
                 case 5 then
                    file('close',lst);
//                    file('close',TeX);
//                    xbasc(nuEcran+1);
//                    toto = afficheFin();
//                    xdel(nuEcran);
//                    xdel(nuEcran+1);
                    abort;
            else
                disp('Methode non implementee pour l''instant');
                file('close',lst);
//               file('close',TeX);
                end;
            end;
        end;

    end;
