Saludos y gracias de antemano : adios:
Código C++:
Ver original
#include <iostream> #include <fstream> #include <string.h> using namespace std; class Empleado { public: void registrar(); void iniciar_sesion( char *, char * ); int estado() { return 0; } private: char usuario[ 22 ], contrasena[ 22 ]; } e; void Empleado::registrar() { int bandera = 0; char comprobar_usuario[ 22 ]; ifstream leer_empleados( "empleados.txt", ios::in | ios::app ); if( leer_empleados.fail() ) { cout << "\nError al leer el archivo empleados.txt" << endl; } else { cout << "Usuario: "; cin >> comprobar_usuario; while( !leer_empleados.eof() ) { leer_empleados.read( (char*)&e, sizeof( e ) ); if(leer_empleados.eof()) { break; } bandera = 1; } } leer_empleados.close(); if( bandera == 1 ) { cout << "\nEl nombre de usuario ya esta en uso" << endl; } else { ofstream escribir_empleados( "empleados.txt", ios::binary | ios::app ); cout << "Contraseña: "; cin >> contrasena; escribir_empleados.write( (char *) &e, sizeof( e ) ); escribir_empleados.close(); } } } void Empleado::iniciar_sesion( char comprobar_usuario[ 22 ], char comprobar_contrasena[ 22 ] ) { int bandera = 0, opcion; ifstream leer_empleados( "empleados.txt", ios::in ); if( leer_empleados.fail() ) { cout << "\nError al leer el archivo empleados.txt" << endl; } else { while( !leer_empleados.eof() ) { leer_empleados.read( (char*)&e, sizeof( e ) ); if(leer_empleados.eof()) { break; } //CAMBIAR VALOR DEL RETURN A 1 } } } leer_empleados.close(); } } main() { char comprobar_usuario[ 22 ], comprobar_contrasena[ 22 ]; cout << "NOMBRE DE USUARIO: "; cin >> comprobar_usuario; cout << "CONTRASEÑA: "; cin >> comprobar_contrasena; e.iniciar_sesion( comprobar_usuario, comprobar_contrasena ); //Si el valor de return es 1 miestra opciones if( e.estado() == 1 ) { cout << "\nSe ha iniciado sesion correctamente" << endl; cout << "\nOpcion 1" << endl; cout << "Opcion 2" << endl; } else { cout << "\nError al iniciar sesion" << endl; } return 0; }