Resolver las siguientes funciones en un archivo llamado "texto.c" con su correspondiente .h asociado. Realizar también un programa en "main.c" que pruebe cada una de las funciones con diferentes datos de entrada, evaluando condiciones posibles de error. * **int** primeraMayus (**char** *cadena): esta función recibe una cadena y convierte su primer letra a mayúscula. //Sug: Se puede utilizar la función toupper().// * **int** Mayusculizar (**char** *cadena): esta función recibe una cadena y convierte todas sus letras a mayúscula. * **int** formarNyA (**char** *nombre, **char** *apellido, **char** *nombreCompleto): esta función recibe tres string, los dos primeros son de entrada y corresponden al nombre y apellido de una persona. La función debe escrbir en el string **nombreCompleto** la concatenación del apellido en mayúscula, una coma, y el nombre con la primer letra en minúscula. Es decir, si, por ejemplo, la función recibe nombre = "pedro", apellido = "ramirez", debe escribir en el array nombreCompleto el string "RAMIREZ, Pedro". Además, debe devolver la cantidad de caracteres finales del array nombreCompleto. * Realizar una versión protegida de la función del punto anterior agregando los parámetros que considere necesario. Tener en cuenta el caso de que el string **nombreCompleto** no tenga el largo suficiente y evitar escribir sobre memoria no reservada fuera de la función. En caso de que este array no sea suficientemente largo, devolver -1 en señal de error. * **int** imprimirDominios (**char** *listaMails): Esta función recibe una lista de direcciones de email separadas por una barra. Debe enumerar e imprimir en pantalla todos los usuarios y todos los dominios por separado. Por ejemplo, si recibo listaMails = "juan@gmail.com/ana@hotmail.com/sonia@onewaymail.com/roberto@yahoo.com.ar", la funcion debe imprimir en pantalla lo siguiente: 1) usuario: juan - dominio: gmail.com 2) usuario: ana - dominio: hotmail.com 3) usuario: sonia - dominio: onewaymail.com 4) usuario: roberto - dominio: yahoo.com.ar