Validar contraseña c++

Iniciado por noob2012, 1 Junio 2013, 15:34 PM

0 Miembros y 1 Visitante están viendo este tema.

noob2012

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"...


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]
       }

amchacon

En C:

#include <string.h>

//...

if (!strmcp(pass,"contrasenya))
{
  // Accion
}


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

if (pass == "contrasenya")
{
  // Accion
}
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

noob2012

Cita de: amchacon en  1 Junio 2013, 15:36 PM
En C:

#include <string.h>

//...

if (!strmcp(pass,"contrasenya))
{
  // Accion
}


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

if (pass == "contrasenya")
{
  // Accion
}


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

amchacon

Es un ejemplo, cambia contrasenya por 1234
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

daryo

aca otro ejemplo

#include <stdio.h>
#include <string.h>

int main()
{
char clave[6];
printf("escriba su clave \n");
scanf("%s",clave);
if(strcmp(clave,"1234")==0)
{
     printf("bienvenido al menu gerente");
}
else
{
     printf("contraseña erronea");
}
return 0;
}
buenas

noob2012

Excelente, ahora sí, gracias por la ayuda!!!!!

amchacon

Cita de: noob2012 en  1 Junio 2013, 16:14 PM
Excelente, ahora sí, gracias por la ayuda!!!!!
Es el mismo, pero poniendo un main.

Eres un poco flojo  :¬¬
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

daryo

Cita de: amchacon en  1 Junio 2013, 16:16 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 (c++) [Seleccionar]

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string clave;
    cout << "escriba su clave" << endl;
    cin >> clave;
    if(clave.compare("1234")==0)
    {
        cout << "bienvenido gerente" << endl;

    }
    else
    {
        cout << "contrasena incorrecta"<<endl;
    }
    return 0;
}
buenas

amchacon

Cita de: daryo en  1 Junio 2013, 16:20 PM
xD

a mira aca el ejemplo que di era en c en c++ seria
Código (c++) [Seleccionar]

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string clave;
    cout << "escriba su clave" << endl;
    cin >> clave;
    if(clave.compare("1234")==0)
    {
        cout << "bienvenido gerente" << endl;

    }
    else
    {
        cout << "contrasena incorrecta"<<endl;
    }
    return 0;
}


También:

Código (c++) [Seleccionar]

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string clave;
    cout << "escriba su clave" << endl;
    cin >> clave;

    if (clave == "1234")
    {
        cout << "bienvenido gerente" << endl;

    }
    else
    {
        cout << "contrasena incorrecta"<<endl;
    }
    return 0;
}
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

noob2012

Cita de: amchacon en  1 Junio 2013, 16:16 PM
Es el mismo, pero poniendo un main.

Eres un poco flojo  :¬¬

Cita de: amchacon en  1 Junio 2013, 16:16 PM
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