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

// El siguiente include modificarlo y poned la ruta hacia donde hayáis puesto alfaint.c
#include </ruta/a/alfaint.c>


int main () {
	size_t longitud, bts;
	int i, j;
	char *linea;
	char *p="ánimo, que este código os servirá para trabajar con UTF-8";
	char palabras[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 (linea,"ánimo, que este código os servirá para trabajar con UTF-8\0");
	strcpy(linea, p);
	longitud = UTF8long (linea, UTF8);
	bts = strlen(linea); 
	printf ("La frase es: %s\n", linea);
	printf ("Y tiene una longitud de %ld caracteres aunque ocupa %ld bytes.\n", longitud, bts);
	Mayuscula (linea, UTF8);
	printf ("Pongo la primera letra en mayúscula: %s\n",linea);
	MaysCadena (linea, UTF8);
	printf ("Ahora todo mayúsculas: %s\n", linea);
	Minuscula (linea, UTF8);
	printf ("Ahora con la primera letra minúscula: %s\n",linea);
	MinsCadena (linea, UTF8);
	printf ("Y de nuevo todo en minúsculas: %s\n",linea);
	MaysCadena (linea, UTF8);
	printf ("Y al final, todo mayúsculas otra vez: %s\n\n\n",linea);

	printf ("Ahora voy a ordenar por orden alfabético una lista de palabras UTF-8.\n\n");
	printf ("Sin ordenar:\n");
	for (i=0; i<21; i++) {
		printf ("%s ",palabras[i]);
	}

	for (j=0; j<20; j++) {
		for (i=0; i<20; i++) {
			if (AlfaComp(palabras[i], palabras[i+1], UTF8, MAYOR_QUE)) {
				strcpy (temp,palabras[i]);
				strcpy (palabras[i], palabras[i+1]);
				strcpy (palabras[i+1],temp);
			}
		}
	}

	printf ("\n\nOrdenadas:\n");
        for (i=0;i<21; i++) {
                printf ("%s ",palabras[i]);
        }
	printf ("\n\nSi tenéis alguna duda sobre su funcionamiento, preguntadme.\nPues eso, ya está, espero que os sirva :)\n");
	return 0;
}
