Uso dei file e libreria fstream per un menu login

di il
1 risposte

Uso dei file e libreria fstream per un menu login

Ciao sono nuovo, e sto imparando c++ da poco sono al 3 anno dell'informatico, stavo provando a fare un menu di login in c++, solo che una volta che creo il file dove salvare l'username e la password, dopo la registrazione, quando faccio il login mi dice che non è valido, e torna all menu, qualcuno riuscirebbe ad aiutarmi?

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

using namespace std;

bool isLoggedIn(){
    string username, password;
    string un, pw;
    cout << "inserisci l'username: " <<endl;
    cin >> username;
    cout << "inserisci la password: " <<endl;
    cin >> password;
    
    ifstream read(username + ".txt");
    //read.open("")
    getline(read, un);
    getline(read, pw);

    if(un == username && pw == password){
        return true;
    }
    else{
        return false;
    }
}

/*void registrazione(string *un, string *pw){
    cout<<"inserici il tuo username"<<endl;
    cin>>*un;
    cout<<"inserici la password"<<endl;
    cin>>*pw;
}*/



int main(){
    string un;
    string pw;
    int scelta;

    cout <<" ---------------------- " << endl;
    cout <<" MAIN MENU "<< endl;
    cout <<" ---------------------- " << endl;
    cout <<" 1. Register " << endl;
    cout <<" 2. Login " << endl;
    cout << endl;
    cout << " cosa scegli?: " << endl;
    cin >> scelta;

    if(scelta == 1){
        string username, password;
        cout << " Registration: " <<endl;
        cout << endl;
        cout << " inserisci username;" << endl;
        cin >> username;
        cout <<" inserisci password: " << endl;
        cin >> password;

        try {                                        
            ofstream file;
            file.open(username + ".txt");
            file <<"USERNAME: "<< username << endl << "PASSWORD: " << password;
            file.close();
            cout<< " Benvenuto " << username << "!" <<endl;
        } catch(exception e){
            cout << "Utente non registrato"<< endl;
        }
    }
        else if(scelta == 2){

        bool status = isLoggedIn();
        
        if(!status){

            system("CLS");
            cout << endl;
            cout << "Login non valido! " << endl;
            main();
            return 0;
        }
        else {
            cout << " sei stato loggato correttamente! " << endl;
            cout << endl;

            int scelta2;

            cout << "Bentornato! " << endl;
            cout << endl;
            cout << " DASHBOARD " << endl;
            cout << " 1. nessun nuovo messaggio " << endl;
            cout << endl;
            cout << " 1. log out" << endl;
            cout << " 2. torna al menu principale " << endl;
            cout << " cosa scegli? " << endl;
            cin >> scelta2;

            if(scelta2 == 1){
                system("exit");
            }
            else{
                main();
            }
            return 1;
        } 
    }
}

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte