primero que nada usa las etiquetas GeSHi al publicar codigo
tienes varios errores, no se como se te ejecuta, qué compilador usas?
bueno, a los errores
primero
el char SOLO contiene un valor de tipo caracter (comilla simple) para que contenga una cadena lo declaras como un array
es decir
eso trae un problema, los array no se pueden comprar directamente (especialmente porque los espacios sobrantes contienen "basura")
entonces tienes que usar una funcion para leerlo
por otro lado el scanf debe leer una cadena (string representada con %s) y no un char
la comparacion yo la haría
comparo la posicion i de 'z' y 'x' que deben ser iguales y el '\0' es porque las cadenas terminan en ese caracter, así que eso indica que llegué al final de la contraseña, entonces si x es diferente a z valido se vuelve falso y sale, si todo es igual, al llegar al \0 valido queda true y sale del for
tienes varios errores, no se como se te ejecuta, qué compilador usas?
bueno, a los errores
primero
Código (cpp) [Seleccionar]
char a='z';
el char SOLO contiene un valor de tipo caracter (comilla simple) para que contenga una cadena lo declaras como un array
es decir
Código (cpp) [Seleccionar]
char x[10];
char z[10] = "javi";
eso trae un problema, los array no se pueden comprar directamente (especialmente porque los espacios sobrantes contienen "basura")
entonces tienes que usar una funcion para leerlo
por otro lado el scanf debe leer una cadena (string representada con %s) y no un char
la comparacion yo la haría
Código (cpp) [Seleccionar]
int i = 0;
bool valido = true;
for(i=0;i<10;i++){
if(x[i]!=z[i]){
valido=false;
break;//esto provoca la salida del for
}
if(z[i]!='\0'){//si se llego al final de la cadena
break;
}
}
comparo la posicion i de 'z' y 'x' que deben ser iguales y el '\0' es porque las cadenas terminan en ese caracter, así que eso indica que llegué al final de la contraseña, entonces si x es diferente a z valido se vuelve falso y sale, si todo es igual, al llegar al \0 valido queda true y sale del for