#13 C# Cadena codificada

Botón que codifica

        private void button1_Click(object sender, EventArgs e)
        {
            StringBuilder cad = new StringBuilder(textBox1.Text);
            int val = 1;
            for (int i = 0; i < cad.Length; i++)
            {
                if (cad[i] >= 10 && cad[i] <= 122)
                {
                    if (cad[i] == 122)
                        cad[i] = (char)(cad[i] - 10);
                    cad[i] = (char)(cad[i] + val);
                }
            }
            textBox2.Text = Convert.ToString(cad);
            

        }

Boton que descodifica 
        private void button2_Click(object sender, EventArgs e)
        {
            StringBuilder cad = new StringBuilder(textBox2.Text);
            int val = 1;
            for (int i = 0; i < cad.Length; i++)
            {
                if (cad[i] >= 10 && cad[i] <= 122)
                {
                    if (cad[i] == 10)
                        cad[i] = (char)(cad[i] + 10);
                    cad[i] = (char)(cad[i] - val);
                }
            }
            textBox3.Text = Convert.ToString(cad);
        }
Clase cadena

    class Cadena
    {
        char[] cad;
        public Cadena(int n)
        {
            cad = new char[n];
        }
        public Cadena(Char[] aux)
        {
            cad = new char[aux.Length];
            for (int i = 0; i < aux.Length; i++)
                cad[i] = aux[i];
        }
        public Cadena(Cadena c)
        {
            cad = new char[c.tam];
            for (int i = 0; i < c.tam; i++)
                cad[i] = c[i];
        }
        public char this[int i]
        {
            get
            {
                return cad[i];
            }
            set
            {
                cad[i] = value;
            }
        }

        public Cadena subcadena(int pos, int num)
        {
            Cadena sub = new Cadena(num);
            for (int i = pos, j = 0; j < num; i++, j++)
                sub[j] = cad[i];
            return sub;
        }

        public int tam
        {
            get
            {
                return cad.Length;
            }
        }
        public Cadena(string str)
        {
            cad = new char[str.Length];
            //for (int i = 0; i < str.Length; i++)
            //    cad[i] = str[i];
            cad = str.ToCharArray();
        }

        public Cadena(StringBuilder str)
        {
            cad = new char[str.Length];
            for (int i = 0; i < str.Length; i++)
                cad[i] = str[i];
        }

        public void copiar(Cadena c)
        {
            c = new Cadena(cad);
        }


        public void copiar(Cadena c1, Cadena c2)
        {
            c1 = new Cadena(c2);
        }

        public char[] encriptar()
        {
            Cadena enc = new Cadena(cad);
            //for (int i = 0; i < cad.Length; i++)
            //    cad[i] -= '6';
            //return cad;
            int val = 1;
            for (int i = 0; i < cad.Length; i++)
            {
                if (cad[i] >= 10 && cad[i] <= 122)
                {

                    if (cad[i] == 122)
                        cad[i] = (char)(cad[i] - 6);
                    cad[i] = (char)(cad[i] + val);
                }
            }
            return cad;
        }

        public char[] desencriptar()
        {
            Cadena enc = new Cadena(cad);
            //for (int i = 0; i < cad.Length; i++)
            //    cad[i] += '6';
            //return cad;
            int val = 1;
            for (int i = 0; i < cad.Length; i++)
            {
                if (cad[i] >= 10 && cad[i] <= 122)
                {

                    if (cad[i] == 10)
                        cad[i] = (char)(cad[i] + 6);
                    cad[i] = (char)(cad[i] - val);
                }
            }
            return cad;
        }

        public void invertir()
        {
            for (int i = 0; i < cad.Length; i++)
                if (cad[i] >= 'a' && cad[i] <= 'z')
                    cad[i] -= ' ';
                else if (cad[i] >= 'A' && cad[i] <= 'Z')
                    cad[i] += ' ';
        }
        public char[] a_minus()
        {
            for (int i = 0; i < cad.Length; i++)
                if (cad[i] >= 'A' && cad[i] <= 'Z')
                    cad[i] += ' ';
            return cad;


        }

        public char[] a_mayus()
        {
            for (int i = 0; i < cad.Length; i++)
                if (cad[i] >= 'a' && cad[i] <= 'z')
                    cad[i] -= ' ';
            return cad;
        }

        public bool es_mayus(int i)
        {
            if (Char.ToUpper(cad[i]) == cad[i])
            {
                return true;
            }
            else
                return false;
        }

        public bool es_minus(int i)
        {
            if (Char.ToLower(cad[i]) == cad[i])
            {
                return true;
            }
            else
                return false;
        }

        public static bool es_digito(char car)
        {
            if (Char.IsDigit(car))
                return true;
            else
                return false;
        }

        public bool esta_en(char c)
        {
            int j = 0;
            for (int i = 0; i < cad.Length; i++)
                if (c == cad[i])
                    j++;
            if (j < 0)
                return true;
            else
                return false;
        }

        public int veces_que_esta(char c)
        {
            int j = 0;
            for (int i = 0; i < cad.Length; i++)
                if (c == cad[i])
                    j++;
            return j;
        }

        public override string ToString()
        {
            string cade = "";
            for (int i = 0; i < cad.Length; i++)
                cade += cad[i];
            return cade;
        }
    }

No hay comentarios:

Publicar un comentario