elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5
11  Programación / Programación C/C++ / Re: m pueden ayudar en esto en: 9 Mayo 2013, 20:46 pm
Si, estaría bien crear una R.A.X (Por sus siglas en Choni: Real Academiaaa del Xoniii) encargada de normalizarlo, jajaja

12  Programación / Programación C/C++ / Re: m pueden ayudar en esto en: 9 Mayo 2013, 14:49 pm
jajaja.
buff, es que eso es muy complicado, hay tantas variantes y dialectos del Choni que es casi imposible.
En un primer momento lo pensé, pero lo vi muy difícil y costoso (soy un poco vago)

Salu10
13  Programación / Programación C/C++ / Re: me podrian revisar estos programas en: 7 Mayo 2013, 22:35 pm
Ejem Ejem!! yo diría que te hicieron el favor
14  Programación / Programación C/C++ / Re: me podrian revisar estos programas en: 7 Mayo 2013, 18:14 pm
¿Por qué andas abriendo mil y un temas con lo mismo? Si alguien te quiere contestar, ya lo harán, tranquilo.

Salu10.
15  Programación / Programación C/C++ / Re: [C] Chonificador (Pasa de legible a Choni) en: 5 Mayo 2013, 23:07 pm
Está muy bién, yo ya lo he probado jeje, subo el enlace a mi blog.
16  Programación / Programación C/C++ / Re: Recursividad c# en: 4 Mayo 2013, 13:55 pm
¿Pero si mañana es domingo?
17  Informática / Electrónica / Re: Que tipo de transformador usar? en: 3 Mayo 2013, 11:44 am
Cualquier transformador de relación 1:2 (110:220) de potencia nominal mayor de 9W.

Un saludo.
18  Programación / Programación C/C++ / Re: [C] Chonificador (Pasa de legible a Choni) en: 1 Mayo 2013, 15:21 pm
@Amchacon:
Gracias por los consejos. Cambio Ascii para declararlo como constante en vez de variable, y las banderas las paso todas a caracteres.


Lo que no acabo de ver es el fallo que comentas en la siguiente parte:

Código:
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;
            }

Creo que si se lee un final de fichero no pasa nada, ya que la variable imp (indica si se ha imprimido caracter o no) se pone a 1, y por lo tanto, se considera como si se hubiera imprimido, y ya no se vuelve a imprimir antes de llegar a la comprobación de final de fichero del while.

@Flony: Yo uso el IDE DevCpp. He probado con fopen_s y me dice que no existe. No se sí habrá que llamar a otra biblioteca.

Vuelvo a editar para correcciones.

Salu10.
19  Programación / Programación C/C++ / Re: [C] Chonificador (Pasa de legible a Choni) en: 30 Abril 2013, 18:32 pm
Gracias Mr.Blood, tienes toda la razón.
Modifico el mensaje inicial con la corrección (creo que esta vez ya bien)

Salu10.
20  Programación / Programación C/C++ / [C] Chonificador (Pasa de legible a Choni) en: 30 Abril 2013, 00:12 am
Bueno, pues como nunca se sabe cuando vamos a necesitar escribir como un auténtico Choni, y como aprender Choni es muy complicado y puede causar problemas secundarios, dejo el siguiente programa para facilitaros esa tarea comunicativa, que tan difícil puede resultar.

Por si alguien no sabe que es un choni, para eso está la Frikipedia:
http://www.frikipedia.es/friki/Jessi

El programa lo tengo en este sitio web (Un poco de autobombo).
http://cypascal.blogspot.com.es/2013/04/chonificador-en-cc.html


Pero como siempre también os lo dejo aquí:

DESCRIPCIÓN PROGRAMA:

Este programa convierte un texto escrito correctamente, a otro texto semejante, pero esta vez escrito por un Choni (Llámese Choni, Pituti, Nini, Macarra, Bacala...).
Se introduce el nombre del fichero de texto a convertir y ya está. Este programa sirve para ver el uso de los ficheros de texto, y trabajar con caracteres ASCII.

Y por si algún Choni le da por hacer algo útil:

ESteee PrOgrAmaaa KoNvIerTEEE un texTOOO ESKritOOO KoRreKtaMEnTE, AAA OTRooo TExTOOO shEMEJanTE, pErooo EstAAA VeZ eSKriTooo PoR Un XonIII (LLámeshEEE Xoni, PITuti, NINI, MaKaRrA, BAKaLA...).
ShEEE INTrODUKeee eL NOmbrEEE dEL fIXeRooo deee texTOOO AAA KoNVertIr Y yAAA eSTá. EstEEE pROGRAMAAA shirVEEE Paraaa ver eL UShOOO DEEE LOS fIXErOS dEEE TExTO, Y TRaBaJaR Kon KarAKterEs ASKII.

(¡¡Oh Dios!! ¡Cuántas cosas subrayadas en rojo!)


Las chonificaciones realizadas son:
    1º) Alternancia de mayúsculas y minúsculas.
    2º) Cambio de C por K (cuando acompaña a A,O y U).
    3º) Cambio de QU por Q.
    4º) Cambio de CH por X.
    5º) Multiplicar el numero de vocales al final de una palabra.
    6º) Introduce H entre S y vocal. (Doy fe de que lo he visto por ahí)



Aquí el código:

Código:
/*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;
}


El código es libre para modificaciones si alguien se sabe más Chonerías.

Salu10.

1ª Edición: Corrección del uso de la K en vez de C.
2ª Edición: Mejora en el uso de las diferentes banderas, pasándolas de enteros a caracteres. Declaración como constante de Ascii en vez de como variable.
3ª Edición: Añade una h al final de las palabras que acaben con vocal.
Páginas: 1 [2] 3 4 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines