![]() |
No me compila una clase
Hola amigos, vi un articulo interesante sobre el cifrado Vigenese y venia con el codigo y tenia varias cosas con las que no me podia compilar asi que las he reparado pero me sigue sin compilar fundamentalmente por dos errores y no se como solucionarlos.
Cita:
El codigo lo tengo acomodado ahora mismo asi: Unit1.cpp: Código PHP:
Código PHP:
|
Me di cuenta que me faltaba el ; detras del corchete de cierre del .h de la clase y por eso eran los primeros errores pero ahora me falta el ultimo y no se como solucionarlo.
|
Lo he solucionado con esta linea de codigo:
Código PHP:
|
Ahora he modificado el codigo un poco y sobre todo he añadido mas caracteres a la mascara de caracteres válidos y ya no funciona correctamente. Tengo esto:
Main.cpp: Código PHP:
Código PHP:
Código PHP:
|
Prueba así:
Código PHP:
PD/ Cuidado con la salida por consola, algunos caracteres pueden salir cambiados. |
Si si, lo de los caracteres lo se pero es simplemente para hacer una prueba. Si fuese a leer o escribir en un archivo usando fread y fwrite no pasaria.
La verdad es que estudiando tu codigo y el que yo tenia veo que el que yo tenia tenia condicionales que eran redundantes pero no veo cual era el problema ya que haciendo las cuentas en ambos creo que funcionan igual. ¿me puedes explicar donde estaba el fallo exactamente para que diera resultados no validos? |
Cita:
Código PHP:
Código PHP:
Saludos. |
Ahora estoy intentando hacer lo mismo con un archivo de texto plano y hago esto:
Código PHP:
1. El archivo se abre la primera vez pero despues de cerrarlo intento abrirlo una segunda vez y parece que hay algun problema porque no entra en la parte de desencriptar. 2. Me añade basura al final del archivo y eso que pongo el caracter de fin de cadena al final de la cadena. ¿puedes ayudarme? |
Pues al final lo he solucionado abriendolo de forma binaria. No se porque si no es asi falla y me gustaria saberlo.
|
Cita:
Personalmente no me gustan los stream de C++ y los uso en muy contadas ocasiones. Incluso he detectado bugs en en mismo código fuente de Builder C++ 5 que arreglé en su momento con cambios en el mismo. Saludos. |
Asi he dejado el codigo:
Main.cpp: Código PHP:
Código PHP:
Código PHP:
|
Ahora tengo otra duda. Si en vez de usar ese cifrado quisiese usar uno de desplazamientos, o sea tener un array con los caracteres válidos y a la función le meto una cadena y un valor de desplazamiento como por ejemplo encriptar ("hola",3). Cada caracter se desplazaría 3 posiciones en el array de letras con lo que quedaría "krñd". ¿como seria eso para cifrar y descifrar? Llevo toda la tarde y no doy con la forma correcta para que no desborde y de un resultado correcto.
He visto que ese cifrado se llama Cesar y vi esto: https://es.m.wikipedia.org/wiki/Cifrado_César El problema con esas fórmulas es que imaginen que la letra es la z y el desplazamiento es 0: Salida=(27+0)%27=0 Sí no hay desplazamiento debería dar 27 ¿no? |
Cita:
Saludos. |
Porque harias un desplazamineto a cero
mira este codigo Código:
#include <iostream> |
Cita:
Salidos. |
Después de analizar mi prueba creo que esto funciona correctamente:
Encriptar: Código PHP:
Código PHP:
|
| La franja horaria es GMT +2. Ahora son las 20:48:29. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi