Si, estaría bien crear una R.A.X (Por sus siglas en Choni: Real Academiaaa del Xoniii) encargada de normalizarlo, jajaja
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúif ((C1=='C')||(C1=='c'))
{
fscanf(dat,"%c",&C1);
if ((C1=='H')||(C1=='h')) fprintf(dat2,"%c",'X');
else
{
leida=1;
if ((C1=='A')||(C1=='O')||(C1=='U')||(C1=='a')||(C1=='o')||
(C1=='u')) fprintf(dat2,"%c",'K');
else fprintf(dat2,"%c",'C');
fprintf(dat2,"%c",C1);
}
imp=1;
}
/*Programa para convertir de lenguaje de humano, a lenguaje Choni*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
FILE *dat,*dat2;
int const ascii='a'-'A';
char nombre[50],C1,Voc,antVoc,mayus,antS,antQ,imp,leida;
int a;
printf("Nombre del fichero a leer (Con la extension .txt): ");
scanf("%s", &nombre);
if (fopen(nombre,"r")==NULL)
printf("\nEl fichero no existe.\n\n");
else
{
dat=fopen(nombre,"r");
dat2=fopen("SalidaChoni.txt","w");
fscanf(dat,"%c",&C1);
antS=antVoc=antQ=imp=leida=0;
while (!feof(dat))
{
/*Sortea si se pasa de minus a myus*/
mayus=(rand()%7)+1;
imp=0;
/*Chonifica minúsculas a mayúsculas*/
if (((C1<='z')&&(C1>='a'))&&(mayus<5)) C1=C1-ascii;
/*Imprime en fichero de salida*/
/*Mete H entre S y vocal*/
if ((antS==1)&&((C1=='A')||(C1=='E')||(C1=='I')||(C1=='O')||(C1=='U')
||(C1=='a')||(C1=='e')||(C1=='i')||(C1=='o')||(C1=='u')))
{
fprintf(dat2,"%c",'h');
fprintf(dat2,"%c",C1);
imp=1;
}
/*Si la última letra de la palabra es una vocal, la multiplica por 3*/
if ((antVoc==1)&&(C1==' '))
{
fprintf(dat2,"%c",Voc);fprintf(dat2,"%c",'h');
fprintf(dat2,"%c",C1);
imp=1;
}
/*Quita la u a la partícula qu*/
if (antQ==1) imp=1;
/*Pasa de ch a x*/
if ((C1=='C')||(C1=='c'))
{
fscanf(dat,"%c",&C1);
if ((C1=='H')||(C1=='h')) fprintf(dat2,"%c",'X');
else
{
leida=1;
if ((C1=='A')||(C1=='O')||(C1=='U')||(C1=='a')||(C1=='o')||
(C1=='u')) fprintf(dat2,"%c",'K');
else fprintf(dat2,"%c",'C');
if (!feof(dat)) fprintf(dat2,"%c",C1);
}
imp=1;
}
/*Imprime en el caso de que se tenga que imprimir*/
if (imp==0) fprintf(dat2,"%c",C1);
antS=antVoc=antQ=imp=leida=0;
/*Actualiza valor de anteriores*/
if ((C1=='A')||(C1=='E')||(C1=='I')||(C1=='O')||(C1=='U')
||(C1=='a')||(C1=='e')||(C1=='i')||(C1=='o')||(C1=='u'))
{
antVoc=1;
Voc=C1;
}
if ((C1=='q')||(C1=='Q')) antQ=1;
if ((C1=='S')||(C1=='s')) antS=1;
if (leida==0) fscanf(dat,"%c",&C1);
}
fclose(dat);
fclose(dat2);
}
return 0;
}