| 
	
		|  Autor | Tema: Como cifrar letra por letra en C++  (Leído 70,045 veces) |  
	| 
			| 
					
						| Royca3 | 
 
Hola amigos bueno se me ha pasado por la cabeza la idea de crear una forma de cifrar letras y números    pues bueno ya he creado la forma de cifrado pero no quise quedarme en esto nada mas pensé en hacer un programa que me pidiera una palabra o una frase y que la ecripte, pero los únicos comandos que me sabia eran los de la Shell X’D pues decidí leer un poco sobre C++, Bueno y de lectura en lectura me ayudaron con lo siguiente : #include<stdio.h> #include<conio.h>
 #include<dos.h>
 void main(void)
 {
 printf("Ingrese la palabra: ");
 scanf("%s");
 char cad[10]="%s";
 clrscr();
 for(int a=0;a<10;a++)
 {
 printf("%c\n",cad[a]);
 }
 getch();
 }
 
Pero el código no realiza la función que yo quiero (aclaro hay lo único que hace es pedirle al usuario que ingrese una palabra y la separe letra por letra)  pero esa no es mi meta si alguien podría ayudarme con esto le agradecería sinceramente. Saludos.    
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 Homo erectus |  |  |  | 
			| 
					
						| amchacon 
								       
								
								 Desconectado 
								Mensajes: 1.211
								
								   | 
 
#include<stdio.h>  int main(){  char Palabra[256];  int i = 0;  fgets (Palabra,255, stdin);   for  (i = 0;  i < strlen( Palabra); i++)    return 0;}
 Has cumplido varias violaciones a la norma (void main, librería conio,dos y uso de getch()). 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| leosansan 
								       
								
								 Desconectado 
								Mensajes: 1.314
								
								
								
								
								
								   | 
 
 ¿Y que más querías que hiciera?. El código hace ni más ni menos lo que tú le has implementado y, lo único que has hecho es imprimir una cadena introducida por teclado,  ¿crees que te adivina el pensamiento y "él" añade el resto del código?. Y aún el caso de imprimir la cadena es aventurado, toda vez que presupones que el usuario va a introducir una cadena de justitos diez caracteres. Mejor sería:Pero el código no realiza la función que yo quiero (aclaro hay lo único que hace es pedirle al usuario que ingrese una palabra y la separe letra por letra)  pero esa no es mi meta si alguien podría ayudarme con esto le agradecería sinceramente.
 
 
 De esta manera te aseguras "tomar" sólo diez caracteres.#include<stdio.h>#include<stdlib.h>int main(void){    int i=0;    char cadena[10];    printf("Ingrese la palabra: ");    scanf("%10s",&cadena);    for(i=0;cadena[i]!='\0';i++)        printf("%c ",cadena[i]);    getchar();    return 0;}
 
 Además de lo comentado por amchacon te aconsejaría leer algo sobre el tema de cifrado.
 
 Si estas empezando te diría que te mires el cifrado de César, así para empezar con uno sencillo.
 Saluditos! .... ..
  P.D: amchacon ,te faltó en el código la librería string.h para hacer uso de strlen. Sí, ya sé que son las prisas. A esta hora y ya estamos como motos    |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| daryo | 
 
aca tienes un ejemplo en c++    cifrar.cpp #include <iostream>#include <string> using namespace std; int main(){    string frase;    cout << "escriba una frase" << endl;    getline(cin,frase);    int n=1;    for(int tamano=0;tamano<frase.size();tamano++)    {        char letra=frase[tamano]+n;        cout << letra;        n++;        if(n>10)        {            n=1;        } } 
 descifrar.cpp #include <iostream>#include <string> using namespace std; int main(){    string frase;    cout << "escriba una frase cifrada" << endl;    getline(cin,frase);    int n=1;    for(int tamano=0;tamano<frase.size();tamano++)    {        char letra=frase[tamano]-n;        cout << letra;        n++;        if(n>10)        {            n=1;        }    }} 
 |  
						| 
								|  |  
								| « Última modificación: 10 Junio 2013, 17:01 pm por daryo » |  En línea | 
 
 buenas |  |  |  | 
			| 
					
						| leosansan 
								       
								
								 Desconectado 
								Mensajes: 1.314
								
								
								
								
								
								   | 
 
Y aquí uno en C:aca tienes un ejemplo en c++   Saluditos! .... ..#include<stdio.h> int main(){    char Palabra[256];    int i = 0;    puts ("\Introduzca palabra o frase a cifrar:");    fgets (Palabra,255,stdin);    puts ("\nLa frase es:");    for  (i = 0;Palabra[i]!='\0';i++)       printf("%c ",Palabra[i]);    puts ("\nCiframos la frase");    for  (i = 0; Palabra[i]!='\0';i++)       {           Palabra[i]+=i;           printf("%c ",Palabra[i]);       }    puts ("\n\nDesiframos la frase");    for  (i = 0; Palabra[i]!='\0';i++)       {           Palabra[i]-=i;           printf("%c ",Palabra[i]);       }    puts ("\n\nPresione ENTER para salir");    getchar();    return 0;} 
  |  
						| 
								|  |  
								| « Última modificación: 10 Junio 2013, 19:03 pm por leosansan » |  En línea | 
 
 |  |  |  | 
			| 
					
						| Royca3 | 
 
Y aquí uno en C:Saluditos! .... ..#include<stdio.h> int main(){    char Palabra[256];    int i = 0;    puts ("\Introduzca palabra o frase a cifrar:");    fgets (Palabra,255,stdin);    puts ("\nLa frase es:");    for  (i = 0;Palabra[i]!='\0';i++)       printf("%c ",Palabra[i]);    puts ("\nCiframos la frase");    for  (i = 0; Palabra[i]!='\0';i++)       {           Palabra[i]+=i;           printf("%c ",Palabra[i]);       }    puts ("\n\nDesiframos la frase");    for  (i = 0; Palabra[i]!='\0';i++)       {           Palabra[i]-=i;           printf("%c ",Palabra[i]);       }    puts ("\n\nPresione ENTER para salir");    getchar();    return 0;} 
  Muchas gracias a todos y perdón por mi ignorancia....    Bueno Te agradezco a ti leosansan Este Programa era el que buscaba...   Saludos.  (Excelente Foro    |  
						| 
								|  |  
								|  |  En línea | 
 
 Homo erectus |  |  |  | 
			| 
					
						| daryo | 
 
(Excelente Foro   si que lo es    |  
						| 
								|  |  
								|  |  En línea | 
 
 buenas |  |  |  |  |  | 
			| 
					
						| Puntoinfinito 
								 
								
								 Desconectado 
								Mensajes: 919
								
								 
								#! /win/archlinux
								
								
								
								
								
								     | 
 
Aquí otro ejemplo caesar:  FUENTE Y MÁS INFORMACIÓN DEL CODE#include <iostream> using namespace std; int main() {     string palabra = ""; //Creamos e inicalizamos variables    int numero = 0;    int TamanyoPalabra = 0;     cout << "Palabra? >> "; cin >> palabra;  // 1  i  2 paso    cout << "Veces a correr >> "; cin >> numero;  // 3 paso     TamanyoPalabra = palabra.length(); // 4 paso     for (int i = 0; i < TamanyoPalabra ; i++) { // 4 paso        for (int z = 0; z < numero; z++) { palabra[i]++; } // 5 paso    } // 6 paso     cout << palabra; // Mostrar palabra cifrada     return 0; //Salir }
 : http://www.infiniterware.net/tutoriales/programacion-general/Caesar-cipher-C++.html Saluuuuuuu2 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| leosansan 
								       
								
								 Desconectado 
								Mensajes: 1.314
								
								
								
								
								
								   | 
 
Aquí otro ejemplo caesar: Pues no, ni el tuyo ni el de daryo ni el mío con cifrados tipo César, al menos como yo veo los códigos.
 
 Yo lo que hice en el post fue sugerirle que lo mirará pero no dije que en mi código lo aplicará. Me fui, como daryo, a lo fácil que es incrementar la variable letra sencillamente, mientras que en el cifrado César hay que tener en cuenta que si se llega a la las letras finales del abecedario se cuentan las últimas y, si faltan, se sigue la suma por las primeras.
 
 Más información en Cifrado César cortesía de Wikipedia.Saluditos! .... ..
  |  
						| 
								|  |  
								| « Última modificación: 10 Junio 2013, 21:55 pm por leosansan » |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Codificacion en archivos bat, letra ñ Scripting
 | santi810 | 3 | 13,277 |  1 Diciembre 2013, 18:57 pm por Eleкtro
 |  
						|   |   | [DUDA] Como Desactivar Dispositivos Portátiles Para Que Se Le Asigne Una Letra Windows
 | KZN | 3 | 3,353 |  11 Marzo 2014, 17:00 pm por Randomize
 |  
						|   |   | Dibujar letra 'T' PHP
 | luchi | 2 | 2,586 |  20 Abril 2014, 22:14 pm por luchi
 |  
						|   |   | Como con una letra direccionarme a la tabla/registro? Programación C/C++
 | enzopaez14 | 1 | 2,429 |  5 Septiembre 2016, 02:50 am por AlbertoBSD
 |  
						|   |   | Comparar letra una letra en un array, con una letra del abcdario Programación C/C++
 | Naimaderis | 2 | 4,479 |  10 Marzo 2017, 04:24 am por Naimaderis
 |    |