viernes, 29 de abril de 2011

Soluciones a los Ejercicios de C# Primer Parcial

Bueno, decidí hacer otro post para cuando, tengo otro grupo de alumnos, solo bloqueo esta entrada y que ellos se maten pensando en los ejercicios y luego solo lo activo jejejeje.

Mi amigo Randa (RAIL) me comentó que tiene problemas para resolver el ejercicio que indica una función para validar la clave del usuario, así que ahí le va un poco de ayuda...

El ejercicio decía algo así...

Cree una función privada de nombre Validar_Clave que reciba el nuevo password y la confirmación y retorne un entero dependiendo de:
a.
Retorne 1 si la nueva clave y la validación no son iguales.
b.
Retorne 2 si la longitud de la cadena es menor a 6 caracteres
c.
Retorne 3 si no tiene por lo menos un numero dentro de la clave (0 a 9)
d.
Retorne 4 si cumple con todos los requisitos anteriores quiere decir que todo está bien.
e.
En el formulario evalúe lo que la función retorna y si es 4 cambie la nueva clave sino indique que error tiene el programa (de acuerdo a lo que retorna)

La solución

Primero declarar dos variables publicas...
string usuario = "Admin";
string password = "Aguacate";

Que contienen el password y el usuario por defecto luego creamos la siguiente función ...

private int Validar_Password(string clave, string confirmar)
{
int longitud_clave = 0;

longitud_clave = clave.Length;

if (longitud_clave < 6)
{
return 2;
}
else
{
if (clave != confirmar)
{
return 1;
}
else
{
string pedacito_de_cadena;
int cant_numeros_en_la_clave = 0;
for (int x = 0; x < longitud_clave; x++)
{
#region Comparaciones
pedacito_de_cadena = clave.Substring(x, 1);
switch (pedacito_de_cadena)
{
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "0":
cant_numeros_en_la_clave = cant_numeros_en_la_clave + 1;
break;
}
#endregion
}

if (cant_numeros_en_la_clave == 0)
{
return 3;
}
else
{
return 4;
}

}
}


}

Si, se que es larga, pero ni modo, así es la vida y luego en el evento clic del botón de actualizar:

private void cmdActualizar_Click(object sender, EventArgs e)
{
int resultado=0;
resultado = Validar_Password(txtNuevaClave.Text.Trim(), txtConfirmarClave.Text.Trim());

switch (resultado)
{
case 1:
MessageBox.Show("La nueva clave y la confirmación no son iguales");
txtNuevaClave.Text = "";
txtConfirmarClave.Text = "";
txtNuevaClave.Focus();
break;
case 2:
MessageBox.Show("La nueva clave no puede contener menos de 6 caracteres");
txtNuevaClave.Text = "";
txtConfirmarClave.Text = "";
txtNuevaClave.Focus();
break;
case 3:
MessageBox.Show("La nueva clave debe contener numeros y letras");
txtNuevaClave.Text = "";
txtConfirmarClave.Text = "";
txtNuevaClave.Focus();
break;
case 4:
if( (txtUsuario2.Text.Trim()==usuario)&&(txtClaveActual.Text.Trim()==password) )
{
password=txtNuevaClave.Text.Trim();
MessageBox.Show("Clave cambiada exitosamente");
}
break;

}


}

y listo, lo ejecutamos y verán que si funciona


Cualquier duda no teman en preguntar....

1 comentario: