Menú

Mostrar Mensajes

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ú

Mensajes - @TGGG

#1
Programación C/C++ / ayuda con un codigo en c
24 Marzo 2021, 21:28 PM
como puedo reducir mas este codigo


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

int main() {
   

   FILE *file;
   FILE *file2;
   FILE *file3;
   char texto=0;
   
int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,ii=0,j=0,k=0,l=0,m=0,n=0,espacio=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;
   int cero=0,uno=0,dos=0,tres=0,cuatro=0,cinco=0,seis=0,siete=0,ocho=0,nueve=0;
   
   /*char abc[]={"abcdefghijklmnopqrstuvwxyz 123456789"};
     char cif[]={"kw9svn8y7od6bmxtz4fl3gu2ahp10jcqire5"};*/

   int letra[37];
   int i,as,aux;
   char num;
   

   file = fopen("cifrado.txt","wt");
   

   if(file == NULL){
       printf("Error al crear archivo 1\n");
       exit(1);
   }
   

   file2 = fopen ("estadistica.txt","wt");
   

   if(file2 == NULL){
       printf("Error al crear archivo 2\n");
       exit(1);
   }
   

   file3 = fopen("textosimple.txt","rb");
   

   if(file3 == NULL){
       printf("Error al crear archivo 3\n");
       exit(1);
   }
   

       

   while(texto != EOF){
       

       texto = fgetc(file3);
       

       switch(texto){
           case 'a':
               a++;
               letra[0] = a;
               fputs("k", file);
               break;
           case 'b':
               b++;
               letra[1] = b;
               fputs("y", file);
               break;
           case 'c':
               c++;
               letra[2] = c;
               fputs("n", file);
               break;
           case 'd':
               d++;
               letra[3] = d;
               fputs("1", file);
               break;
           case 'e':
               e++;
               letra[4] = e;
               fputs("p", file);
               break;
           case 'f':
               f++;
               letra[5] = f;
               fputs("2", file);
               break;
           case 'g':
               g++;
               letra[6] = g;
               fputs("s", file);
               break;
           case 'h':
               h++;
               letra[7] = h;
               fputs("1", file);
               break;
           case 'i':
               ii++;
               letra[8] = ii;
               fputs("8", file);
               break;
           case 'j':
               j++;
               letra[9] = j;
               fputs("x", file);
               break;
           case 'k':
               k++;
               letra[10] = k;
               fputs("7", file);
               break;
           case 'l':
               l++;
               letra[11] = l;
               fputs("w", file);
               break;
           case 'm':
               m++;
               letra[12] = m;
               fputs("0", file);
               break;
           case 'n':
               n++;
               letra[13] = n;
               fputs("9", file);
               break;
           case ' ':
               espacio++;
               letra[14] = espacio;
               fputs("z", file);
               break;
           case 'o':
               o++;
               letra[15] = o;
               fputs("3", file);
               break;
           case 'p':
               p++;
               letra[16] = p;
               fputs("e", file);
               break;
           case 'q':
               q++;
               letra[17] = q;
               fputs("i", file);
               break;
           case 'r':
               r++;
               letra[18] = r;
               fputs("6", file);
               break;
           case 's':
               s++;
               letra[19] = s;
               fputs(" ", file);
               break;
           case 't':
               t++;
               letra[20] = t;
               fputs("c", file);
               break;
           case 'u':
               u++;
               letra[21] = u;
               fputs("4", file);
               break;
           case 'v':
               v++;
               letra[22] = v;
               fputs("j", file);
               break;
           case 'w':
               w++;
               letra[23] = w;
               fputs("9", file);
               break;
           case 'x':
               x++;
               letra[24] = x;
               fputs("v", file);
               break;
           case 'y':
               y++;
               letra[25] = y;
               fputs("h", file);
               break;
           case 'z':
               z++;
               letra[26] = z;
               fputs("5", file);
               break;
           case '0':
               cero++;
               letra[27] = cero;
               fputs("u", file);
               break;
           case '1':
               uno++;
               letra[28] = uno;
               fputs("g", file);
               break;
           case '2':
               dos++;
               letra[29] = dos;
               fputs("q", file);
               break;
           case '3':
               tres++;
               letra[30] = tres;
               fputs("m", file);
               break;
           case '4':
               cuatro++;
               letra[31] = cuatro;
               fputs("b", file);
               break;
           case '5':
               cinco++;
               letra[32] = cinco;
               fputs("r", file);
               break;
           case '6':
               seis++;
               letra[33] = seis;
               fputs("f", file);
               break;
           case '7':
               siete++;
               letra[34] = siete;
               fputs("t", file);
               break;
           case '8':
               ocho++;
               letra[35] = ocho;
               fputs("d", file);
               break;
           case '9':
               nueve++;
               letra[36] = nueve;
               fputs("o", file);
               break;
           default:;
       }
   }
   
   fprintf(file2,"\n\na = %d\n",a);
   fprintf(file2,"b = %d\n",b);
   fprintf(file2,"c = %d\n",c);
   fprintf(file2,"d = %d\n",d);
   fprintf(file2,"e = %d\n",e);
   fprintf(file2,"f = %d\n",f);
   fprintf(file2,"g = %d\n",g);
   fprintf(file2,"h = %d\n",h);
   fprintf(file2,"i = %d\n",ii);
   fprintf(file2,"j = %d\n",j);
   fprintf(file2,"k = %d\n",k);
   fprintf(file2,"l = %d\n",l);
   fprintf(file2,"m = %d\n",m);
   fprintf(file2,"n = %d\n",n);
   fprintf(file2,"espacio = %d\n",espacio);
   fprintf(file2,"o = %d\n",o);
   fprintf(file2,"p = %d\n",p);
   fprintf(file2,"q = %d\n",q);
   fprintf(file2,"r = %d\n",r);
   fprintf(file2,"s = %d\n",s);
   fprintf(file2,"t = %d\n",t);
   fprintf(file2,"u = %d\n",u);
   fprintf(file2,"v = %d\n",v);
   fprintf(file2,"w = %d\n",w);
   fprintf(file2,"x = %d\n",x);
   fprintf(file2,"y = %d\n",y);
   fprintf(file2,"z = %d\n",z);
   fprintf(file2,"0 = %d\n",cero);
   fprintf(file2,"1 = %d\n",uno);
   fprintf(file2,"2 = %d\n",dos);
   fprintf(file2,"3 = %d\n",tres);
   fprintf(file2,"4 = %d\n",cuatro);
   fprintf(file2,"5 = %d\n",cinco);
   fprintf(file2,"6 = %d\n",seis);
   fprintf(file2,"7 = %d\n",siete);
   fprintf(file2,"8 = %d\n",ocho);
   fprintf(file2,"9 = %d\n",nueve);
   fprintf(file2,"\n");
   
   /*for(as=0; as<37; as++){
}*/
   

   for(i=0; i<37; i++){
       aux = letra[i];
       fprintf(file2,"%d\n",aux);
   }  

   fclose(file);
   fclose(file2);
   fclose(file3);
   
   printf("\n\n");
   printf("Cifrado guardado en archivo\n\n");
   printf("Estadistica guardada en archivo\n\n");
   
   return 0;
}



MOD: El código debe ir entre etiquetas de Código GeSHi
#2
Programación C/C++ / ayuda con un codigo en c
23 Marzo 2021, 01:51 AM
alguen me podria ayudar con un codigo en c que haga un cifrado y un decifrado pero que yo pueda meter mi propio abecedario abecedario por que este que yo tengo no me guarda bien mi .txt
Código (cpp) [Seleccionar]

#include <iostream>
#include <cstdlib>
#include <cstring>
#include <ctype.h>
#include <iostream>

using namespace std;
void Escribir();
void Leer();


int main(){  
   
   system("cls");

   char opcion, finalizar='0';
   while(finalizar=='0'){
   
   cout<<"Bienvenido, seleccione una opcion: "<<endl
   <<"1.....................cifrar y guadar una frase."<<endl
   <<"2.....................Leer y descifrar una frase."<<endl
   <<"3.....................Salir del programa."<<endl
   <<"Opcion a seleccionar: ";
   cin>>opcion;
   system("cls");
   switch (opcion){
   
case '1': Escribir(); break;
       case '2': Leer(); break;
       case '3': finalizar='1'; break;
       
}
   }
   return 0;
}

void Escribir(){

   FILE* file;
   file=fopen("encrypted.txt", "ab");
   char Alphabet[]= {"abcdefghijklmnopqrstuvwxyz 123456789"};
   char Decrypter[]={"kw9svn8y7od6bmxtz4fl3gu2ahp10jcqire5"};
   char Entrada[5000];
   char Salida[5000];
   bool espacio=true;

   cout<<"Digite la frase que desea cifrar:\n";
   cin.ignore();
   cin.getline(Entrada, 5000);
   for(int x=0;x<=strlen(Entrada); x++)
   Entrada[x]=tolower(Entrada[x]);
   for(int x=0;x<=strlen(Entrada); x++){

for(int y=0;y<=strlen(Decrypter); y++)    
       
if(Entrada[x]==Alphabet[y]){
Salida[x]=Decrypter[y];
               espacio=false;
               break;
};

      if(espacio==true)
      Salida[x]=' ';
      espacio=true;
  };
     
   cout<<endl<<"La palabra cifrada:\n"<<Salida<<", ha sido guardada."<<endl<<endl;
   fwrite(&Salida, sizeof(Salida), 1, file);
   fclose(file);
   system("pause");
   system("cls");
}

void Leer()
{
   FILE* file;
   file=fopen("encrypted.txt", "rb");
   if(file==NULL)
   {cout<<"No se ha cifrado ninguna frase anteriormente. Por favor realizarlo y"<<endl
   <<"vuelva a intentarlo."<<endl
   <<"-------------------------------------------------------------------"<<endl;
   system("cls");
   return;};
   char Alphabet[]= {"abcdefghijklmnopqrstuvwxyz 123456789"};
   char Decrypter[]={"kw9svn8y7od6bmxtz4fl3gu2ahp10jcqire5"};
   char Entrada[5000];
   char Salida[5000];
   bool espacio=true;
   
   fread(&Entrada, sizeof(Entrada), 1, file);
   cout<<"La frase cifrada es:\n"<<Entrada<<endl;
   for(int x=0;x<=strlen(Entrada); x++)
      {for(int y=0;y<=strlen(Decrypter); y++)    
        if(Entrada[x]==Decrypter[y])
          {Salida[x]=Alphabet[y];
              espacio=false;
              break;};
      if(espacio==true)
      Salida[x]=' ';
      espacio=true;};
   cout<<endl<<"La frase descifrada es:\n"<<Salida<<endl<<endl;
   fclose(file);
   remove("encrypter.txt");
   system("pause");
   system("cls");
}



MOD: El código debe ir entre etiquetas de Código GeSHi