[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 You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login. XD cambie el codigo para comprender, a mi manera.




Te cambie el Topic para que sea mas esfecifico
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


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
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


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