Jeśli kod ma jakieś znaczenie:
#include <iostream>
#include <windows.h>
#include "klasy i funkcje.h"
#include <fstream>
using namespace std;
char znak;
int main()
{
User baza[liczenie()];
for(;;)
{
cout<<"Masz juz konto?"<<endl<<"Y/N"<<endl;
cin>>znak;
if(znak=='N'||znak=='n')
{
rejestracja();
break;
}
else if(znak=='Y'||znak=='y')
{
break;
}
else
{
cout<<"To nie jest odpowiedz!"<<endl;
czyszczenie();
}
}
for(;;)
{
if(logowanie(baza)==true)
{
for(;;)
{
if(po_zalogowaniu(baza)==true)
{
break;
}
}
}
}
return 0;
}
#include <iostream>
#include "klasy i funkcje.h"
#include <windows.h>
#include <fstream>
#include <cstdlib>
#include <conio.h>
using namespace std;
string linia,wyloguj="wyloguj",zmiana="zmien_dane",podany_login,podane_haslo,komenda;
int nr_linii=1,liczba=0,id,ile=0;
char wybor;
void czyszczenie()
{
Sleep(2000);
system("cls");
}
void rejestracja()
{
fstream plik;
plik.open("users.txt",ios::out|ios::app);
cout<<"Wprowadź dane:"<<endl<<"login";
cin>>podany_login;
cout<<"haslo:";
cin>>podane_haslo;
plik<<podany_login<<endl<<podane_haslo<<endl;
plik.close();
}
void zapisywanie(User *baza)
{
ile=liczenie();
fstream plik;
plik.open("users.txt",ios::out);
plik<<baza[0].login<<endl;
plik<<baza[0].haslo<<endl;
plik.close();
plik.open("users.txt",ios::out|ios::app);
for(int i=1;i<ile;i++)
{
plik<<baza[i].login<<endl<<baza[i].haslo<<endl;
}
plik.close();
}
void zmiana_danych(User *baza)
{
cout<<"Które dane chcesz zmienić?"<<endl<<"1.Login"<<endl<<"2.Haslo";
wybor=getch();
switch(wybor)
{
case '1': zmiana_loginu(baza); break;
case '2': zmiana_hasla(baza); break;
default: cout<<endl<<"Nie ma takiej opcji w menu!";
}
getchar();getchar();
zapisywanie(baza);
}
void zmiana_loginu(User *baza)
{
cout<<"Podaj haslo: ";
cin>>podane_haslo;
if (podane_haslo==baza[id].haslo)
{
cout<<endl<<"Podaj nowy login: ";
cin>>baza[id].login;
cout<<"login zmieniony";
}
else
{
cout<<"bledne haslo";
}
czyszczenie();
}
void zmiana_hasla(User *baza)
{
cout<<"Podaj stare haslo: ";
cin>>podane_haslo;
if (podane_haslo==baza[id].haslo)
{
cout<<endl<<"Podaj nowe haslo: ";
cin>>baza[id].haslo;
cout<<"haslo zmienione";
}
else
{
cout<<"bledne haslo";
}
czyszczenie();
}
bool po_zalogowaniu(User *baza)
{
cout<<endl<<">";
cin>>komenda;
if (komenda==zmiana)
{
zmiana_danych(baza);
return false;
}
else if (komenda==wyloguj)
{
czyszczenie();
return true;
}
else if (komenda=="pomoc")
{
cout<<"zmiana_danych - pozwala zmienic dane konta"
<<endl<<"stop - kończy pracę programu"
<<endl<<"wyloguj - wylogowuje użytkownika";
return false;
}
else if (komenda=="stop")
{
exit(0);
}
else
{
cout<<"nie ma takiej komendy"<<endl;
return false;
}
}
void wczytywanie(User *baza)
{
int nr_usera=0;
fstream plik;
plik.open("users.txt",ios::in);
while(getline(plik,linia))
{
switch(nr_linii)
{
case 1: baza[nr_usera].login = linia; break;
case 2: baza[nr_usera].haslo = linia; break;
}
if (nr_linii==2) {nr_linii=0; nr_usera++;}
nr_linii++;
}
plik.close();
}
int liczenie()
{
fstream plik;
plik.open("users.txt",ios::in);
while(getline(plik,linia))
{
liczba++;
}
plik.close();
return liczba/2;
}
bool logowanie(User *baza)
{
wczytywanie(baza);
cout<<"Podaj login: ";
cin>>podany_login;
for(int i=0;i<liczba;i++)
{
if(baza[i].login==podany_login)
{
id=i;
break;
}
else if(i==liczba-1&&baza[i].login!=podany_login)
{
cout<<"Nie ma cie w bazie danych";
czyszczenie();
return false;
}
}
cout<<"Podaj haslo: ";
cin>>podane_haslo;
if(podane_haslo==baza[id].haslo)
{
czyszczenie();
return true;
}
else
{
cout<<"bledne haslo";
czyszczenie();
return false;
}
}
User::User(string l,string h)
{
login=l;
haslo=h;
}
#include <iostream>
using namespace std;
void czyszczenie();
void rejestracja();
int liczenie();
class User
{
public:
string login,haslo;
User(string="login",string="haslo");
};
bool logowanie(User*);
void wczytywanie(User*);
bool po_zalogowaniu(User*);
void zmiana_danych(User*);
void zmiana_loginu(User*);
void zmiana_hasla(User*);
void zapisywanie(User*)