[SOLUCIONADO] Como cambiar la letra de un char

Iniciado por rollth, Febrero 12, 2014, 10:37:03 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Febrero 12, 2014, 10:37:03 AM Ultima modificación: Mayo 25, 2014, 04:00:01 PM por blackdrake
Buenas tengo una duda, en mi programa de c++ le he dado una variable de tipo char[2] a la cual tu le puedes dar el valor que quieras, como puedo hacer que se le sume una letra?
ej: si tu le das el valor ab te de el valor bc
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Por lo que entiendo tras tu mensaje, tienes un vector de caracteres tipo char, para solucionar tu problema tendrás que jugar con las posiciones del vector, no entiendo muy bien tu suma ya que en el ejemplo das ab y resultado bc, al poner letras cualesquiera en el vector de caracteres por ejemplo kd, qué resultado obtendrías?

Un saludo, siento no ser muy especifico pero no comprendo muy bien tu problema.

P.D: Se me ocurren varias soluciones pero necesitaría saber exactamente que necesitas.

kd seria le
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Esto es lo que tengo de codigo

Código: php
// Programa creado por Rollth
// Cifrado Cesar 1.0
// 12/2/2014

#include <iostream.h>// Añade la libreria iostream.h (Para el cout)
#include <stdio.h> //Introduce la libreria stdio.h para poder poner espacios en el codigo.

int main()// Empieza a correr el programa
{
    char codigo[10];// Crea la variable del cifrado
    cout << "------------------------------";// Presentacion del programa
    cout << endl;// Pasa la linea
    cout << ".     Cifrado Cesar 1.0      .";// Presentacion del programa
    cout << endl;// Pasa la linea
    cout << ".        Por Rollth          .";// Presentacion del programa
    cout << endl;// Pasa la linea
    cout << "------------------------------";// Fin presentacion del programa
    cout << endl;// Pasa la linea
    cout << "Introduce el cifrado";// Probando
    cout << endl;// Pasa la linea
    gets (codigo);//Para escribir el codigo
    cout << codigo;

    system("PAUSE");
}


RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: c
char buffer[2] = "ab";

buffer[0] += 1;
buffer[1] += 1;

Funciona bien, pero como hago para que de la z vuelva a la a?
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Tengo dos problemas

-Primero: Despues de la "z" no se pasa a la "a", si no que escribe otros simbolos.

-Segundo: Si la palabra no esta completa cuenta los espacios y me pone simbolos extraños.

Os pongo el codigo y os adjunto el fallo:

Código: php
// Programa creado por Rollth
// Cifrado Cesar 1.0
// 12/2/2014

#include <iostream.h>// Añade la libreria iostream.h (Para el cout)
#include <stdio.h> // Introduce la libreria stdio.h para poder poner espacios en el codigo.

int main()// Empieza a correr el programa
{
    char codigo[10];// Crea la variable del cifrado
    cout << "------------------------------";// Presentacion del programa
    cout << endl;// Pasa la linea
    cout << ".     Cifrado Cesar 1.0      .";// Presentacion del programa
    cout << endl;// Pasa la linea
    cout << ".        Por Rollth          .";// Presentacion del programa
    cout << endl;// Pasa la linea
    cout << "------------------------------";// Fin presentacion del programa
    cout << endl;// Pasa la linea
    cout << "Introduce el cifrado";// Manda el mensaje en rojo
    cout << endl;// Pasa la linea
    gets (codigo);// Para escribir el codigo
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;
    codigo[0] += 1;
    codigo[1] += 1;
    codigo[2] += 1;
    codigo[3] += 1;
    codigo[4] += 1;
    codigo[5] += 1;
    codigo[6] += 1;
    codigo[7] += 1;
    codigo[8] += 1;
    codigo[9] += 1;
    codigo[10] += 1;
    cout << endl;
    cout << codigo;
    cout << endl;

   
   
    system("PAUSE");
}




Aqui la foto



Por si no va

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Buenas, intente hacer esto pero no cuajo:

Código: php
     if(codigo[0] = "z")(codigo[0] == "a")else(if(codigo[0] == " ")(codigo{0] == " "(else(codigo +=1));


Estos son los errores:
22 C:\Users\Raul\Desktop\hacking\programas\c\Dev-Cpp\programas\Cifrado Cesar\Untitled1.cpp invalid conversion from `const char*' to `char'
22 C:\Users\Raul\Desktop\hacking\programas\c\Dev-Cpp\programas\Cifrado Cesar\Untitled1.cpp ISO C++ forbids comparison between pointer and integer
22 C:\Users\Raul\Desktop\hacking\programas\c\Dev-Cpp\programas\Cifrado Cesar\Untitled1.cpp expected `;' before "else"


El error 3 lo se arreglar, pero en los otros dos ando perdido
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Febrero 12, 2014, 08:17:51 PM #8 Ultima modificación: Febrero 12, 2014, 09:52:20 PM por Expermicid
Código: cpp

if(cBuffer[0] >= 'a' && cBuffer[0] < 'z')
{
    cBuffer[0] += 1;
}
else if(cBuffer[0] == 'z')
{
    cBuffer[0] = 'a';
}

Eso funciona solo si trabajas con letras de la 'a' a la 'z' y en minuscula.'

Acordate que cada char en si, es un número.
prueba con:

printf("Letra %c es igual a %i\n", cBuffer[0], cBuffer[0]);

Febrero 12, 2014, 11:19:13 PM #9 Ultima modificación: Febrero 13, 2014, 10:19:40 AM por Expermicid
Con 2 letras asi como lo especificas quedaria asi:

Código: cpp

#include <iostream>
using namespace std;
int main()
{
    char cod[2];
    cout<<"Ingresa 2 letras"<<endl;
    cin>>cod;
    cod[0]=cod[0]+1;
    cod[1]=cod[1]+1;
    if(cod[0]>'z')
    {
        cod[0]='a';
    }
    if(cod[1]>'z')
    {
        cod[1]='a';
    }
    cout<<cod;
}
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
In my mind where before there was order, today there is only chaØs!

Muchas gracias onthecore, ya lo he terminado, mañana posteare el trabajo.
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta