Beispiel #1
0
/*  A constructor which is given a list of possible options. Arguments are given in as a string which
    is processed (divided into atoms) by constructor. If rupUnrec=true, unrecognized options are reported. */
TProgArguments::TProgArguments(const string &poss_options, const string &line, bool repUnrec, bool anallowSpaces)
 : possibleOptions(), options(), unrecognized(), direct(), allowSpaces(anallowSpaces)
{ findPossibleOptions(poss_options);
  vector<string> optionsList;
  string2atoms(line, optionsList);
  defile(optionsList);
  process(optionsList);

  if (repUnrec) reportUnrecognized();
}
Beispiel #2
0
/*  A constructor which is given a list of possible options and standard C-like fields with
    number of arguments and an array of char * pointers to arguments. If rupUnrec=true, unrecognized
    options are reported. */
TProgArguments::TProgArguments(const string &poss_options, int argc, char *argv[], bool repUnrec, bool parenth, bool anallowSpaces)
  : possibleOptions(), options(), unrecognized(), direct(), allowSpaces(anallowSpaces)
{ findPossibleOptions(poss_options);
  vector<string> optionsList;

  if (argc>1)
    if (parenth) {
      string cline(argv[1]);
      for(int i=2; i<argc; ) {
        string as(argv[i++]);
        if (as.find(' ')==string::npos) cline+=' '+as;
        else cline+=" \""+as+"\"";
      }
      string2atoms(cline, optionsList);
    }
    else
      while(--argc) optionsList.push_back(*(++argv));

  defile(optionsList);
  process(optionsList);

  if (repUnrec) reportUnrecognized();
}
Beispiel #3
0
																/*****Programme principal*****/
int main()
{
	file f;
	pile p;

	p = malloc (sizeof(struct e_pile));		//Allocation de mémoire pour la pile
	f = malloc (sizeof(struct e_file));		//Allocation de mémoire pour la file

	init_pile(&p);		//Initialisation de p
	init_file(&f);		//Initialisation de f

															/*Manipulation des file*/
	printf("\nManipulation des files :\n\n");

		/**Insertion dans la file**/

	enfile(&f,5);		//Insertions de la valeur 5
	affiche_file (f);
	enfile(&f,4);		//Insertions de la valeur 4
	affiche_file (f);
	enfile(&f,3);		//Insertions de la valeur 3
	affiche_file (f);
	enfile(&f,2);		//Insertions de la valeur 2
	affiche_file (f);
	enfile(&f,1);		//Insertions de la valeur 1
	affiche_file (f);
	enfile(&f,0);		//Insertions de la valeur 0

		/**Partie suppression**/

	defile(&f);			//Suppressions dans la file
	affiche_file (f);
	defile(&f);			//Suppressions dans la file
	affiche_file (f);
	defile(&f);			//Suppressions dans la file
	affiche_file (f);
	defile(&f);			//Suppressions dans la file
	affiche_file (f);

		/**Réinsertion dans la file**/

	enfile(&f,6);		//Insertions de la valeur 6
	enfile(&f,7);		//Insertions de la valeur 7
	enfile(&f,8);		//Insertions de la valeur 8

	affiche_file (f);

															/*Manipulation des pile*/
	printf("\nManipulation des piles :\n\n");


	empile(&p,1);		//Insertions de la valeur 0
	affiche_pile(p);
	empile(&p,1);		//Insertions de la valeur 1
	affiche_pile(p);
	empile(&p,2);		//Insertions de la valeur 2
	affiche_pile(p);
	empile(&p,3);		//Insertions de la valeur 3
	affiche_pile(p);
	empile(&p,4);		//Insertions de la valeur 4
	affiche_pile(p);
	empile(&p,5);		//Insertions de la valeur 5
	affiche_pile(p);



	depile(&p);			//Suppressions dans la pile
	affiche_pile (p);
	depile(&p);			//Suppressions dans la pile
	affiche_pile (p);
	depile(&p);			//Suppressions dans la pile
	affiche_pile (p);
	depile(&p);			//Suppressions dans la pile
	affiche_pile (p);	



	free (f);			//Libération de mémoire pour la file f
	free (p);			//Libération de mémoire pour la pile p

	return 0;
}