Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Hack-11 en 20 Octubre 2011, 21:51 pm



Título: Comparar dos Char por medio de un If
Publicado por: Hack-11 en 20 Octubre 2011, 21:51 pm
Buenas  ;D

he intentado comparar dos arrays tipo char con un if pero nose como hacerlo. Llevo esto de codigo:

Código:
#include <iostream>
#include <cmath>
#include <cstdlib>

using namespace std;

int main()
{
    char usuario [10];
    char pass [10];
    cout << "Usuario:";
    cin >> usuario;
    cout << "Pass:";
    cin >> pass;

  if (usuario=="admin" and pass=="admin" ) {

      cout << "Bienvenido." << endl;

  }

  else {

      cout << "Su informacion no es correcta" << endl;

  }




    return 0;
}

El problemas esque escriba lo que escriba se ejecuta el else


Título: Re: Comparar dos Char por medio de un If
Publicado por: BlackZeroX en 20 Octubre 2011, 21:58 pm
usa:

strcmp(usuario, "usuario")

Dulces Lunas1¡.


Título: Re: Comparar dos Char por medio de un If
Publicado por: Hack-11 en 20 Octubre 2011, 22:02 pm
Lo tengo asi pero el resultado es el mismo, siempre me ejecuta el else.

Código:
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <stdio.h>
#include <string.h>

using namespace std;

int main()
{
    char usuario [10];
    char pass [10];
    cout << "Usuario:";
    cin >> usuario;
    cout << "Pass:";
    cin >> pass;

  if (strcmp(usuario, "admin")) {

      cout << "Bienvenido al Cajero Automatico." << endl;

  }

  else {

      cout << "Su informacion no es correcta" << endl;

  }




    return 0;
}


Título: Re: Comparar dos Char por medio de un If
Publicado por: El_Java en 20 Octubre 2011, 22:08 pm
Normal, si te hubieras molestado en leer que hace la funcion strcmp() sabrias que si las dos funciones son iguales devuelve un 0, y sin son diferentes un nº < 0 ó > 0 según cual de los dos parametros sea el mayor de los dos.


Título: Re: Comparar dos Char por medio de un If
Publicado por: dewolo en 21 Octubre 2011, 02:01 am
es cierto, tu pregunta hace referencia a dos "chares" pero dos chares se pueden comparar directamente dentro del if,

Citar
char a='a';
char b='b';

if(a=='a')

ahora si lo que tenes es un vector de char, necesitas una funcion de cadena, como strcmp o strcmpi



Título: Re: Comparar dos Char por medio de un If
Publicado por: s00rk en 21 Octubre 2011, 07:15 am
Ya te dijeron como resolverlo

strcmp(usuario, "usuario")

Esta funcion regresa un numero cuando es 0, significa que son iguales y diferentes regresa un numero diferente eso depende como ya te dijeron sobre la cantidad de caracteres de los parametros enviados.

if(strcmp(usuario, "usuario") == 0)