Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: noob2012 en 1 Junio 2013, 15:34 pm



Título: Validar contraseña c++
Publicado por: noob2012 en 1 Junio 2013, 15:34 pm
Hola a todos!... quiero que se valide la contraseña ingresada por el usuario, ejemplo si el usuario ingreso la clave 1234 la cual es la correcta, quiero que aparezca un mensaje que diga "Bienvenido al menu del gerente"...


Código:
char * ObtenerClave()

{

        char *tmp = new char[16];

        int car = 0 ;

        int i = 0;

        while(((car = getch()) != 13) && i < 16)

        {

                tmp[i] = car;

                cout<<"*";

                i++;

        }

        if(i == 0)

        {

                delete tmp;

                return NULL;

        }

        tmp[i] = NULL;

        return tmp;

}





void pedirClaveGerente()
{




cout<<"\n\n\nIngrese clave gerente :";

        char *pass = ObtenerClave();




  if (pass==???????)[color=red][b]//ACA ES DONDE QUIERO QUE SE COMPARE LA CLAVE INGRESADA POR EL USUARIO CON UNA CLAVE YA PREDETERMINADA, POR EJEMPLO 1234[/b][/color]
        {
            cout<<"\nBienvenido al menu de gerente";[b][b][color=red][b] //SI LA CLAVE ES CORRECTA QUE SALGA ESTE MENSAJE[/b][/color][/b][/b]
        }


Título: Re: Validar contraseña c++
Publicado por: amchacon en 1 Junio 2013, 15:36 pm
En C:

Código
  1. #include <string.h>
  2.  
  3. //...
  4.  
  5. if (!strmcp(pass,"contrasenya))
  6. {
  7.  // Accion
  8. }

En C++ se puede sustituir los char* por string, los string tienen un operador de comparacion bastante fácil:

Código
  1. if (pass == "contrasenya")
  2. {
  3.  // Accion
  4. }


Título: Re: Validar contraseña c++
Publicado por: noob2012 en 1 Junio 2013, 15:52 pm
En C:

Código
  1. #include <string.h>
  2.  
  3. //...
  4.  
  5. if (!strmcp(pass,"contrasenya))
  6. {
  7.  // Accion
  8. }

En C++ se puede sustituir los char* por string, los string tienen un operador de comparacion bastante fácil:

Código
  1. if (pass == "contrasenya")
  2. {
  3.  // Accion
  4. }

No entiendo! porque ahi estas comparando pass que tiene como valor 1234 y "contrasenya" que es un string, yo quiero que pass sea comparada con 1234


Título: Re: Validar contraseña c++
Publicado por: amchacon en 1 Junio 2013, 16:06 pm
Es un ejemplo, cambia contrasenya por 1234


Título: Re: Validar contraseña c++
Publicado por: daryo en 1 Junio 2013, 16:09 pm
aca otro ejemplo
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6. char clave[6];
  7. printf("escriba su clave \n");
  8. scanf("%s",clave);
  9. if(strcmp(clave,"1234")==0)
  10. {
  11.     printf("bienvenido al menu gerente");
  12. }
  13. else
  14. {
  15.     printf("contraseña erronea");
  16. }
  17. return 0;
  18. }
  19.  


Título: Re: Validar contraseña c++
Publicado por: noob2012 en 1 Junio 2013, 16:14 pm
Excelente, ahora sí, gracias por la ayuda!!!!!


Título: Re: Validar contraseña c++
Publicado por: amchacon en 1 Junio 2013, 16:16 pm
Excelente, ahora sí, gracias por la ayuda!!!!!
Es el mismo, pero poniendo un main.

Eres un poco flojo  :¬¬


Título: Re: Validar contraseña c++
Publicado por: daryo en 1 Junio 2013, 16:20 pm
Es el mismo, pero poniendo un main.

Eres un poco flojo  :¬¬
xD

a mira aca el ejemplo que di era en c en c++ seria
Código
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    string clave;
  9.    cout << "escriba su clave" << endl;
  10.    cin >> clave;
  11.    if(clave.compare("1234")==0)
  12.    {
  13.        cout << "bienvenido gerente" << endl;
  14.  
  15.    }
  16.    else
  17.    {
  18.        cout << "contrasena incorrecta"<<endl;
  19.    }
  20.    return 0;
  21. }
  22.  


Título: Re: Validar contraseña c++
Publicado por: amchacon en 1 Junio 2013, 16:21 pm
xD

a mira aca el ejemplo que di era en c en c++ seria
Código
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    string clave;
  9.    cout << "escriba su clave" << endl;
  10.    cin >> clave;
  11.    if(clave.compare("1234")==0)
  12.    {
  13.        cout << "bienvenido gerente" << endl;
  14.  
  15.    }
  16.    else
  17.    {
  18.        cout << "contrasena incorrecta"<<endl;
  19.    }
  20.    return 0;
  21. }
  22.  

También:

Código
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    string clave;
  9.    cout << "escriba su clave" << endl;
  10.    cin >> clave;
  11.  
  12.    if (clave == "1234")
  13.    {
  14.        cout << "bienvenido gerente" << endl;
  15.  
  16.    }
  17.    else
  18.    {
  19.        cout << "contrasena incorrecta"<<endl;
  20.    }
  21.    return 0;
  22. }
  23.  


Título: Re: Validar contraseña c++
Publicado por: noob2012 en 1 Junio 2013, 16:22 pm
Es el mismo, pero poniendo un main.

Eres un poco flojo  :¬¬

Es el mismo, pero poniendo un main.

Eres un poco flojo  :¬¬

el "ahora sí" fue por la aclaracion que me diste jeje tranquilo use tu ejemplo, agradeci a ambos por la ayuda, al decir la verdad me adelante en el libro, aun no habia estudiado los tipos de datos char*. Solo queria ponerle registracion a mi programa para que se viera mas bonito :P