Programación General > C/C++

 Pedir password al iniciar el programa

<< < (3/3)

ceslinx:
Aqui le hize unas correciones pero aun no me funciona por favor mas consejos, no es que no lea lo que pasa es estoy muy corto de tiempo,

gracias


--- Código: C++ ---  #include <conio2.h>#include <iostream.h>  /*Tamaño máximo que puede tener la contraseña*/#define MAX_TAM_PASSWORD  80/*Contraseña por defecto*/#define DEF_PASSWORD  "cesar"//char password[MAX_TAM_PASSWORD] = DEF_PASSWORD;     int main(void){    char password [MAX_TAM_PASSWORD] = DEF_PASSWORD;  int vecp [3];  int menu=0;      int conta=0;   int contp=0;  int bol=0;     int i=0;    int aur=0;  char nombre[5]; int numsale=0;  int dato=0;  char pass[i];   int a=0;     cout<<"Digite la contraseña  n";    for (i=0;i<5;i++)  {cin>>pass[i];   } while (pass[i]==password[i]) {        if (pass[i]!= password[i])        {       cout<<" Digite un password valido !!! n";                break;        }         while (menu!=5)     {     gotoxy(6,40);      cout<<"                                  BIENVENIDO                                                 ";      gotoxy(6,42);      cout<<"  (1) Registrar los autos en el parqueadero                                                  ";      gotoxy(6,44);      cout<<"  (2) Registrar su boleto de entrada al cine                                                 ";      gotoxy(6,46);      cout<<"  (3) Sacar autos del parqueadero                                                            ";      gotoxy(6,48);      cout<<"  (4) cuantas personas entraron a cine y cantidad de vehiculos que salieron                  ";      gotoxy(6,50);      cout<<"  (5) Salir                                                                                  ";         cin>>menu;           switch (menu) // Creo un switch para leer las 4 opciones del menu          {        case 1: { clrscr();         // en este case se deben ingresar los 10 carros que esperan turno          //for(i=0;i<3;i++)                                           cout<<"Por favor digite los tres numeros de la placa del auto que ingresa n";          for (i=0;i<3;i++)                      {               cin>>vecp[i];          }                      // break;                                   }                        case 2: { clrscr(); // en este case por cada boleta que entre es una persona q ha ingresado                                            cout<<"Por favor ingrese su boletan";                 cin>>bol;                       if (bol>=0)                {contp++;                               getch();                }               else                if (conta<0)                                   {cout<<"Por favor digite un boleto valido n";                         }               break;                               }                 case 3: { clrscr(); // en este case se debe digitarl la placa del auto que va as lir y si coincide con las ingresadas descontar el auto                                               cout<<"Por favor digite los numeros de la placa del auto que va a salir n";                      cin>>numsale;                                              for(i=0;i<3;i++)                     {                       if (numsale==vecp[i])                                               {                        dato=i;                          cout<<"El auto ha salido n";                          getch();                         break;                        }                                                                       else                                                                           if (dato==0)                          {  cout<<"La placa del auto no existe n";                           // break;                           getch();                                                            break;                                                                    }                       }                     break;                         }                                                     case 4: { clrscr(); // aqui se debe mostrar cuantas personas han ingresado y cuantos autos han salido                     cout<<" EL NUMERO DE PERSONAS QUE HAN INGRESADO ES  "<< contp <<endl;                   getch();                                                if (dato!=0)                    {                 conta++;                  cout<<"El numero de carros que han salido es "<< conta << endl;                   }                                   else                   cout<<"no ha salido ningun vehiculo n";                                   getch();                  break;                      }                                                                     default:                   {  cout<<"Ingrese una opcion validan por favor n";                                         break;                      }       }              }     }  }     

m0skit0:
Bueno, estamos en las mismas. Con leer 3-4 líneas de código uno se encuentra con tantos errores de concepto que no se puede hacer nada para ayudarte, a menos que sea escribiéndote el código entero (cosa que no voy a hacer).

Últimos consejos que te doy:

Ya que usas C++, utiliza la clase string.

--- Código: C++ ---#include <string> Sustituye:


--- Código: C ---char password [MAX_TAM_PASSWORD] = DEF_PASSWORD; por


--- Código: C++ ---string password = DEF_PASSWORD; 
--- Citar ---
--- Código: C ---char pass[i]; 
--- Fin de la cita ---
¿Mande?  :blink: No puedes usar i en una declaración...


--- Código: C++ ---string pass; 

--- Código: C ---for (i=0;i<5;i++) {cin>>pass[i];  } ¿Obligado a 5 caracteres? ¿Por qué? ¿No pueden ser menos o más? Además cin es C++ (un flujo de datos).


--- Código: C++ ---cin >> pass; 

--- Código: C ---while (pass[i]==password[i]){       if (pass[i]!= password[i])       {       cout<<" Digite un password valido !!! n";                break;       } El while sólo debe abarcar esta parte, no todo. ¿Para qué comparas lo mismo dos veces? Te repito que i vale 5 al terminar el bucle for anterior, así que debes reinicializarla. Aparte, ¿dónde incrementas i para ir recorriendo?

Utilizando la clase string, mucho más fácil:


--- Código: C ---if (pass != password)    cout<<" Digite un password valido !!! n";else{    [Aquí ya va el resto - dentro del else]} 
--- Cita de: "ceslinx" ---no es que no lea lo que pasa es estoy muy corto de tiempo,
--- Fin de la cita ---
Porque no leíste en su momento, y menos practicaste. Esto es tu problema, no el mío. Te repito lo que te he dicho en el último post. Ya no esperes más ayuda de mi parte sobre este problema.

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa