Sunteți pe pagina 1din 4

#include<iostream>

#include<fstream>
#include<string.h>

using namespace std;

class users
{
public:
char usuario[10], password[10], nombre[35];
void Capturar();
void Modificar();
void Mostrar();
}datos;

void users::Capturar()
{
cout<<"\n Usuario: ";
cin.getline(usuario,35);
cin.getline(usuario,35);
cout<<"\n Password: ";
cin.getline(password,10);
cout<<"\n Nombre: ";
cin.getline(nombre,35);
ofstream a("usuarios.txt",ios::app);
a.write((char*)&datos,sizeof(datos));
a.close();
}

void users::Modificar()
{
int modif = 0;
char usuario2[10], password2[10];
ifstream a("usuarios.txt");
if(!a.good())
{
cout<<"\n NO EXISTE ARCHIVO.....";
}
else
{
cout<<"Ingrese usuario\n";
cin.getline(usuario2,10);
cin.getline(usuario2,10);
cout<<"Ingrese contraseÒa\n";
cin.getline(password2,10);
ofstream b("temp.txt",ios::app);

while(!a.eof())
{
a.read((char*)&datos,sizeof(datos));
if(a.eof())
{
break;
}
if(strcmp(usuario,usuario2)==0 && strcmp(password,password2)== 0)
{
cout<<"\n Nuevo password: ";
cin.getline(password,10);
modif=1;
b.write((char*)&datos,sizeof(datos));
}
else
{
b.write((char*)&datos,sizeof(datos));
}
}
if(modif!=1)
{
cout<<"Regresando a menu anterior";
}
a.close();
b.close();
remove("usuarios.txt");
char oldname[] ="temp.txt";
char newname[] ="usuarios.txt";
rename(oldname,newname);

}
void users::Mostrar()
{
char usuario2[10], password2[10];
int band=0;
ifstream a("usuarios.txt");
if(!a.good())
{
cout<<"\n NO EXISTE ARCHIVO.....";
}
else
{
cout<<"Ingrese usuario\n";
cin.getline(usuario2,10);
cin.getline(usuario2,10);
cout<<"Ingrese contraseÒa\n";
cin.getline(password2,10);

while(!a.eof())
{
a.read((char*)&datos,sizeof(datos));
if(a.eof())
{
break;
}
if(strcmp(usuario,usuario2)==0 && strcmp(password,password2)== 0)
{
int opc;
cout<<"\n NOMBRE: "<<nombre;
band=1;
cout<<"\n DESEA CAMBIAR LA CONTRASE—A? \n 1.-Si 2.-No\n";
cin>>opc;
if(opc==1)
{
Modificar();
}
else
{
cout<<"Regresando a menu anterior\n";
}

}
if(band==0)
{
cout<<"Usuario o contraseÒa erronea\n";
}
a.close();
}
}
int main()
{
int opc;
do
{
cout<<"\n 1.- CAPTURAR \n 2.- MOSTRAR \n 0.- Salir ";
cin>>opc;
switch(opc)
{
case 1:
datos.Capturar();
break;
case 2:
datos.Mostrar();
break;

}
}while(opc!=0);
return 0;
}

S-ar putea să vă placă și