Underc0de - La Casa de los Informáticos

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: cody2 en Septiembre 02, 2011, 11:49:01 PM

Título: [SOLUCIONADO] Comparacion de dos palabras
Publicado por: cody2 en Septiembre 02, 2011, 11:49:01 PM
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;
}
Título: Re:progamacion muy basica, problema con sentencia if
Publicado por: Darvein en Septiembre 03, 2011, 12:51:04 AM
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

^_^
Título: [Problema] Comparacion de dos palabras
Publicado por: Snifer en Septiembre 03, 2011, 08:27:45 AM
Lo que dice Mago es la verdad. mira esto:

Código (cpp) [Seleccionar]
#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) [Seleccionar]
(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
Título: Re:[Problema] Comparacion de dos palabras
Publicado por: cody2 en Septiembre 05, 2011, 09:52:59 PM
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;
}
Título: [Solucionado] Comparacion de dos palabras
Publicado por: Snifer en Septiembre 05, 2011, 10:21:56 PM
Bueno veo que si pudiste solucionar tu problema..

Lo cierro el Post.

SALUDOS :P