Buenas ;D
he intentado comparar dos arrays tipo char con un if pero nose como hacerlo. Llevo esto de codigo:
#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
usa:
strcmp(usuario, "usuario")
Dulces Lunas1¡.
Lo tengo asi pero el resultado es el mismo, siempre me ejecuta el else.
#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;
}
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.
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
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)