Cześć!
Mam problem z kodem c++ (jest błąd w 31 linijce), ale nie widzę jaki...
#include <iostream>
#include <cstdlib>
#include <windows.h>
#include <fstream>
using namespace std;
string login, pass;
string reg_log, reg_pass, potwierdz;
int log_or_reg;
string acc_name;
string true_pass;
string acc_folder="c:\\accounts_data\\passwords\\";
void create_all() //funkcja, ktora tworzy wszystkie potrzebne foldery
{
CreateDirectoryA("c:\\accounts_data\\passwords", NULL);
}
void logging() //logowanie do konta
{
cout<<"Login: ";
cin>>login;
cout<<endl;
cout<<"Password: ";
cin>>pass;
cout<<endl;
acc_name = acc_folder + login + ".txt";
fstream plik;
plik.open(acc_name.c_str, ios::in);
getline(plik, true_pass);
if (plik.good()==true && pass==true_pass) //jesli wszystkie wprowadzone dane sa prawidlowe, loguje do konta
{
cout<<"Success!";
}
else if (plik.good()==false)//przypadek, kiedy login nie znajduje sie w bazie
{
cout<<"Login incorrect!";
}
else if (plik.good()==true && pass!=true_pass) //nieprawidlowe haslo
{
cout<<"Password incorrect";
}
else //nic sie nie zgadza
{
cout<<"Unknown account, try again!";
}
}
void create_acc() //rejestracja
{
cout<<"NAME: ";
cin>>reg_log<<endl;
string file_name = acc_folder + reg_log + ".txt"; //tworzy zmienna, ktora posluzy jako nazwa pliku
cout<<"PASSWORD: ";
cin>>reg_pass<<endl;
cout<<"REPEAT PASSWORD: ";
cin>>potwierdz;
if reg_pass != potwierdz //sprawdza czy hasla sa takie same
{
cout<<"Wrote passwords are not the same!";
}
else //jesli sa takie same tworzy plik o nazwie login+ ".txt" a w srodku umieszcza dane
{
fstream user_info;
user_info.open(file_name.c_str, ios::out);
user_info<<reg_pass<<endl;
user_info.close();
cout<<"Your account has successfully created!";
}
}
int main()
{
create_all();
cout<<"Hello!"<<endl;
Sleep(1000);
system("cls");
while(log_or_reg != 1) //petla dopoki uzytkownik nie wybierze opcji logowania
{
cout<<"What do You want to do:"<<endl;
cout<<"Login: Type '1'"<<endl;
cout<<"Create an account: Type '2'"<<endl;
cout<<"YOU: ";
cin>>log_or_reg;
if log_or_reg == 1
{
logging();
}
else if log_or_reg == 2
{
create_acc();
}
else
{
cout<<"You choosed incorrect function!";
}
system("cls");
//tak dla przejzystosci programu,
//aby po zakonczeniu logowania/rejestracji byl pusty ekran
}
return 0;
}