#include <stdio.h>
#include <string.h>

// El siguiente include modificarlo y poned la ruta hacia donde hayáis puesto alfaint.c
#include </home/paco/programas/C/silab/alphaint.c>


int main () {
	size_t size, bts;
	int i, j;
	char *line;
	char *p="ánimo, que este código os servirá para trabajar con UTF-8";
	char words[21][9]= {
		"cañada","plaça","bueno","arroyo","piña","caño","rápido",
		"árbol","boro","placa","piraos","capilla","bólido","boa",
		"rareza","bozal","rabia","amule","piraña","ácaro","cabeza"
	};
	char temp[10];
	
	strcpy (line,"ánimo, que este código os servirá para trabajar con UTF-8\0");
	strcpy(line, p);
	size = UTF8long (line, UTF8);
	bts = strlen(line); 
	printf ("This is a test for the alphaint.c library.\nIt writes a phrase and some spanish words as a example of alphabetical using UTF-8. It uses spanish words because english words don't use accents :).\n\n");
	
	printf ("The string is: %s\n", line);
	printf ("And has %ld caracters long but it needs %ld bytes.\n", size, bts);
	UpperCase (line, UTF8);
	printf ("Changing the first letter to upercase: %s\n",line);
	StringToUpper (line, UTF8);
	printf ("Now, all letters to upercase: %s\n", line);
	LowerCase (line, UTF8);
	printf ("Now, with the first letter in lowercase: %s\n",line);
	StringToLower (line, UTF8);
	printf ("And all letters in lowercase: %s\n",line);
	StringToUpper (line, UTF8);
	printf ("And finaly, all letters converted to uppercase: %s\n\n\n",line);

	printf ("Now, i can ordering some spanish accentued words in UTF-8.\n\n");
	printf ("Without ordering:\n");
	for (i=0; i<21; i++) {
		printf ("%s ",words[i]);
	}

	for (j=0; j<20; j++) {
		for (i=0; i<20; i++) {
			if (AlphaComp(words[i], words[i+1], UTF8, GREATER_THAN)) {
				strcpy (temp,words[i]);
				strcpy (words[i], words[i+1]);
				strcpy (words[i+1],temp);
			}
		}
	}

	printf ("\n\nOrdered:\n");
        for (i=0;i<21; i++) {
                printf ("%s ",words[i]);
        }
	printf ("\n\nIf you have any question, send me a message answering it. :)\n");
	return 0;
}
