Hola estoi aprendiendo a programar, he codeado este sencillo programa que no me funciona, introduzco la
contraseña que es gato y el programa la da por erronea. Si alguien sabe porque?
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
char palabra [5]="gato";
char pass [5];
int main (void)
{
printf("hello\n\n\n");
printf("introduce la contraseña\n\n\n");
fflush(stdin);
scanf("%s", &pass);
if (pass != palabra)
{
printf ("mal, te equivocaste de contraseña");
return 1;
}
printf ("bien, resto del programa");
system("pause");
return 0;
}
En C/C++ que yo sepa para comparar cadenas usas la función:
strcmp(cadena1, cadena2)
esa función devuelve:
- 0, si las cadenas son iguales
- un numero mayor que 0, si cadena1 es mayor que cadena2
- un numero negativo, si cadena2 es mayor que cadena1
para eso tienes que usar la librería string.h
^_^
Lo que dice Mago es la verdad. mira esto:
#include <stdio.h>
#include <string.h>
int main ()
{
char minick[] = "snifer";
char palabraingresada[9];
do {
printf ("¡Cual es mi nick? ");
gets (palabraingresada);
} while (strcmp (minick,palabraingresada) != 0);
puts ("O si me conoces");
return 0;
}
(strcmp (minick,palabraingresada)
Especificamente. aqui se hace la comparacion.. si mal no recuerdo esto lo saque hace tiempo cuando andaba practicando c++ de la web oficial, ahora lo saque de mi wiki local !! :)
Saludos :P
Edit: Efectivamente ... lo saque de aqui (http://www.cplusplus.com/reference/clibrary/cstring/strcmp/). XD cambie el codigo para comprender, a mi manera.
Te cambie el Topic para que sea mas esfecifico
muchas gracias el-mago y snifer!
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
char palabra [5]="gato";
char pass [5];
int main (void)
{
do
{
printf("hello\n\n\n");
printf("introduce la contraseña\n\n\n");
fflush(stdin);
scanf("%s", &pass);
}
while (strcmp (palabra,pass) != 0);
printf ("\n\n bien, resto del programa");
printf ("gracias El-mago y snifer\n\n\n");
system("pause");
return 0;
}
Bueno veo que si pudiste solucionar tu problema..
Lo cierro el Post.
SALUDOS :P