Ejemplo n.º 1
0
void testInteger(
   char *e1, char *e2, Integer (*fct)(Integer e1, Integer e2), char *fctName,
   char *res
)
{
   Integer e_e1 = readInteger(e1)
         , e_e2 = readInteger(e2)
         , e_res = readInteger(res);

   Integer e_compute = fct(e_e1, e_e2);

   assert(equals(e_res, e_compute));

   freeInteger(e_e1);
   freeInteger(e_e2);
   freeInteger(e_res);
   freeInteger(e_compute);

   printf("%s %s %s = %s\n", e1, fctName, e2, res);
}
Ejemplo n.º 2
0
int main(int argc, char ** argv)
{
  if (argc < 4)
    {
      printf("need four file names: type, input, output");
      return EXIT_FAILURE;
    }
  if (strcmp(argv[1], "i") == 0) /* sort integers */
    {
      int numInteger = 0;
      int * arrInteger = NULL;
      arrInteger = readInteger(argv[2], & numInteger);
      if (numInteger == 0)
	{
	  return EXIT_FAILURE;
	}
      printInteger(arrInteger, numInteger);
      sortInteger(arrInteger, numInteger);
      printInteger(arrInteger, numInteger);
      saveInteger(argv[3], arrInteger, numInteger);
      freeInteger(arrInteger, numInteger);
      return EXIT_SUCCESS;
    }
  if (strcmp(argv[1], "s") == 0) /* sort strings */
    {
      int numString = 0;
      char * * arrString = NULL;
      arrString = readString(argv[2], & numString);
      if (numString == 0)
	{
	  return EXIT_FAILURE;
	}
      printString(arrString, numString);
      sortString(arrString, numString);
      printString(arrString, numString);
      saveString(argv[3], arrString, numString);
      freeString(arrString, numString);
      return EXIT_SUCCESS;
    }
  /* unknown type */
  return EXIT_FAILURE;
}