Référence du fichier /tmp/galet/src/galet.cpp

Ici, ya plus qu'à ! Plus de détails...

#include <iostream>
#include <cstdlib>
#include "type_base.h"
#include "explore.h"
#include "graphe.h"
#include "parseur.h"

Graphe des dépendances par inclusion de galet.cpp:

Aller au code source de ce fichier.

Fonctions

void aide (const etiquette &nomprog)
int main (int argc, char *argv[])


Description détaillée

Ici, ya plus qu'à !

Auteur:
Brice Boyer
Date:
16 avril 2008

Définition dans le fichier galet.cpp.


Documentation des fonctions

void aide ( const etiquette nomprog  ) 

Définition à la ligne 83 du fichier galet.cpp.

Références _ok.

Référencé par main().

00083                                       {
00084    cout << _ok << "Usage :\n";
00085    cout << '\t' << nomprog << "-opt1 toto [-opt_opt2 titi] --choix1 --choix2 ... fichier\n";
00086    cout << _ok << "Options :\n";
00087    cout << "-g x \t: on peut utiliser x galets. Par défaut le nombre d'initiaux.\n";
00088    cout << _ok << "Options optionnelles :\n";
00089    cout << "-o y \t: la sortie est y; (NE PAS JOUER AVEC ÇA)\n";
00090    cout << "-h\t : cette aide !\n";
00091    cout << _ok << "Choix :\n";
00092    cout << "--toutes-sols \t: on veut toutes les solutions (PAS TOUT À FAIT IMPLÉMENTÉ) ;\n";
00093    cout << "--avec-copie  \t: on autorise le copiage.\n";
00094    cout << "--cherche-sol \t : on cherche le nombre minimum de galets (PAS TESTÉ, NE PAS UTILISER).\n";
00095    cout << _ok << "Par défaut:\n";
00096    cout << "On n'utilise pas le copiage et on veut savoir s'il y a une solution pour le nombre mini de galet possible.\n";
00097    cout << "Le nom de fichier est par défaut ./arbre/arbre.dat\n\n";
00098    cout << _ok << "Pour modifier le niveau de débogage, aller regarder dans src/type_base.h la macro NIVEAU_DEBUG.\n\n";
00099    cout << _ok << "exemple d'utilisation : ./galet -g 14 --avec-copie ./arbre/Wino.dat \n";
00100    cout << "La syntaxe des arbres est documentée quelque part\n\n";
00101    return;
00102 }

Voici le graphe d'appel pour cette fonction :

int main ( int  argc,
char *  argv[] 
)

Définition à la ligne 104 du fichier galet.cpp.

Références _DEBUG1, _DEBUG2, _erreur, _ligne, _resul, aide(), cinfo, explore(), LaReponse(), GRAPHE::ma_taille(), read_file(), et GRAPHE::reussi().

00104                                     {
00105 
00106    string entree_default = "./arbre/arbre.dat"; // fichier d'entrée par défaut.
00107    /*** on parse ***/
00108 
00109    string nomprog    = argv[0];
00110    bool on_copie     = false;                                           // par défaut, on ne copie pas
00111    bool toutes_sols  = false;                                           // on cherche si galéisable
00112    bool cherche_min  = false;                                           // et on ne cherche pas la meilleur sol.
00113    unsigned nb_galets = 0;                                              // par défaut on ne sais pas combien de galet on cherche.
00114    ostringstream sortie ;                                               // inutile.
00115    ostringstream entree ;
00116    if ( argc == 1 ) {
00117       cout << "on utilise les options par défaut.\n";
00118    }
00119    else {
00120       unsigned i = 1 ;
00121       while ( i < (unsigned) argc  ) {                                  /*{{{*/
00122          if ( argv[i][0] == '-' ) {                                     /*{{{*/
00123             switch (argv[i][1]) {
00124                case 'g' : {                                             // galets
00125                   nb_galets = atoi(argv[i+1]);
00126                   if ( nb_galets < 1 || nb_galets > 90 ) {
00127                      cout << _erreur << "Dans la fonction " << nomprog << ", l'argument " << argv[i][2] << " de " << argv[i] << " est incorrect.\n";
00128                      aide ( nomprog );
00129                      return ( EXIT_FAILURE );
00130                   }
00131                   i += 2;
00132                }
00133                break;
00134                case 'o' : {
00135                   sortie << argv[i+1] ;                                 // faut être tordu pour dire -o toto -o titi non ?
00136                   i += 2;
00137                }
00138                case '?' :
00139                case 'h' : {
00140                   aide( nomprog );
00141                   return (EXIT_SUCCESS);
00142                }
00143                break;
00144                case '-' : {
00145                   switch (argv[i][2]) {
00146                      case 't' : {
00147                         toutes_sols = true;
00148                      }
00149                      break;
00150                      case 'a' : {
00151                         on_copie = true;
00152                      }
00153                      break;
00154                      default : {
00155                         cout << _erreur << "fonction " << nomprog << " : argument de " << argv[i] << " incorrect.\n";
00156                         aide ( nomprog ) ;
00157                         return ( EXIT_FAILURE ) ;
00158                      }
00159                      case 'h' : {
00160                         aide(nomprog);
00161                         return (EXIT_SUCCESS);
00162                      }
00163                   }
00164                   ++i;
00165                }
00166                break;
00167                default :  {
00168                   cout << _erreur << "fonction " << nomprog << " : argument de " << argv[i] << " incorrect.\n";
00169                   aide ( nomprog );
00170                   return ( EXIT_FAILURE );
00171                }
00172             }
00173          }                                                              // fin '-'/*}}}*/
00174          else {/*{{{*/
00175             entree << argv[i];                                          // c'est qui qui lancerait prog -a x toto -b y toto -a t toto ???
00176             entree_default = entree.str();
00177             ++i;
00178          }                                                              // fin dernier/*}}}*/
00179       }                                                                 // fin/*}}}*/
00180    }                                                                    // argc != 1
00181 
00182    /*** on a fini de parser !! ***/
00183    cout << "On a lu :\n";
00184    cout << "-g \t"            << nb_galets     << endl ;
00185    cout << "-o \t"            << sortie.str()  << endl ;
00186    cout << "--toutes-sols\t"  << LaReponse(toutes_sols)   << endl ;
00187    cout << "--avec-copie\t"   << LaReponse(on_copie)      << endl ;
00188    cout << "entrée : \t"      << entree.str()  << endl ;
00189 
00190