Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: rollth en Febrero 12, 2014, 10:37:03 AM

Título: [SOLUCIONADO] Como cambiar la letra de un char
Publicado por: rollth en Febrero 12, 2014, 10:37:03 AM
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
Título: Re:Como cambiar la letra de un char
Publicado por: pepe1880 en Febrero 12, 2014, 11:21:58 AM
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.
Título: Re:Como cambiar la letra de un char
Publicado por: rollth en Febrero 12, 2014, 11:26:06 AM
kd seria le
Título: Re:Como cambiar la letra de un char
Publicado por: rollth en Febrero 12, 2014, 11:26:58 AM
Esto es lo que tengo de codigo

// 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");
}


Título: Re:Como cambiar la letra de un char
Publicado por: Juan en Febrero 12, 2014, 03:00:49 PM
char buffer[2] = "ab";

buffer[0] += 1;
buffer[1] += 1;
Título: Re:Como cambiar la letra de un char
Publicado por: rollth en Febrero 12, 2014, 03:12:28 PM
Funciona bien, pero como hago para que de la z vuelva a la a?
Título: Re:Como cambiar la letra de un char
Publicado por: rollth en Febrero 12, 2014, 04:22:06 PM
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:

// 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

(http://i62.tinypic.com/2iljvp4.png)

Por si no va

http://es.tinypic.com/r/2iljvp4/8
Título: Re:Como cambiar la letra de un char
Publicado por: rollth en Febrero 12, 2014, 05:51:36 PM
Buenas, intente hacer esto pero no cuajo:

     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
Título: Re:Como cambiar la letra de un char
Publicado por: OnTheCore en Febrero 12, 2014, 08:17:51 PM
Código (cpp) [Seleccionar]

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]);
Título: Re:Como cambiar la letra de un char
Publicado por: S t Ø r M d ∆ r k en Febrero 12, 2014, 11:19:13 PM
Con 2 letras asi como lo especificas quedaria asi:

Código (cpp) [Seleccionar]

#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;
}
Título: Re:Como cambiar la letra de un char
Publicado por: rollth en Febrero 13, 2014, 12:14:51 AM
Muchas gracias onthecore, ya lo he terminado, mañana posteare el trabajo.