[SOLUCIONADO] Comparacion de dos palabras

Iniciado por cody2, Septiembre 02, 2011, 11:49:01 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Septiembre 02, 2011, 11:49:01 PM Ultima modificación: Febrero 08, 2014, 05:05:27 PM por Expermicid
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?

Código: c
#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

^_^
¿Ilusión o realidad?

Septiembre 03, 2011, 08:27:45 AM #2 Ultima modificación: Septiembre 03, 2011, 08:39:08 AM por Snifer
Lo que dice Mago es la verdad. mira esto:

Código: cpp
#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;
}


Código: cpp
 (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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. XD cambie el codigo para comprender, a mi manera.




Te cambie el Topic para que sea mas esfecifico
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Llaman traidor a la persona que evito que caiga el foro, gente bruta!



Septiembre 05, 2011, 09:52:59 PM #3 Ultima modificación: Febrero 08, 2014, 05:05:43 PM por Expermicid
muchas gracias el-mago y snifer!

Código: c
#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
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Llaman traidor a la persona que evito que caiga el foro, gente bruta!