问题描述
我是一名初学者 C++ 程序员,我想自己做一个项目,我正在尝试使用 .txt 格式的用户数据库制作 Login nad Register 系统。我做了一件事,当一个人注册并想要登录时,我不知道如何检查 userdatabase.txt 如果他们输入的用户名和密码在那里,或者他们需要先注册。相反,它只是登录他们。有人可以帮助我生病非常感激。 这是我的代码:
#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
using namespace std;
int main(){
izbor:
cout << "Izbor: " ;
cout << endl;
cout << "1. Prijava" ;
cout << endl;
cout << "2. Registracija" ;
cout << endl;
int izbor;
cin >> izbor;
if(izbor == 2){
int password,password2;
string username;
cout << "Da bi se registrovali,potrebno je da unesete: " ;
ponovni_unos:
cout << endl;
cout << " Korisnicko ime: ";
cin >> username;
cout << endl;
cout << " Sifru: ";
cin >> password;
cout << endl;
cout << " Molimo vas da potvrdite sifru: ";
cin >> password2;
cout << endl;
if (password == password2){
fstream file;
file.open("UserData\\userdatabase.txt",ios :: in | ios :: out | ios :: trunc);
file.close();
file.open("UserData\\userdatabase.txt",ios :: in | ios :: out );
file << username;
file << password;
file.close();
cout<< "Uspjenso ste se registrovali!";
cout << endl;
}
else if(password != password2){
cout<< "Sifra se ne podudara,molimo vas ponovo upisite sifru." ;
cout << endl;
goto ponovni_unos;
}
goto kraj;
}
else if(izbor == 1){
int password;
string username;
cout << "Prijava:" ;
cout << endl;
cout << " Korisnicko ime: ";
cin >> username;
cout << endl;
cout << " Sifra: ";
cin >> password;
cout << endl;
// ifstream file;
// file.open ("UserData\\userdatabase.txt");
// if (!file.is_open()) return;
// string word;
// while (file >> word) // i tried this but it doesnt work
// {
// cout<< word << '\n';
// }
// cout<< "Uspjenso ste se prijavili!";
// cout << endl;
// goto kraj;
}
else{
cout<< "Molimo vas izaberite opciju 1. ili 2.!";
cout << endl;
goto izbor;
}
kraj:
cout<< "Uzivajte u nasem programu.";
return 0;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)