• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pliki - logowanie c++

Object Storage Arubacloud
–1 głos
1,009 wizyt
pytanie zadane 13 czerwca 2018 w C i C++ przez MlodyJavaS Użytkownik (500 p.)

Witam, mam program ktory rejestruje uzytkownika w bazie (plik txt) 

#include <iostream>
#include <fstream>
using namespace std;
fstream f;
string login, haslo;
class Rejestracja
{
	string imie, nazwisko, login, haslo;

public:
	Rejestracja(string, string, string, string)
	{

		zarejestruj();

	}
	void zarejestruj()
	{
		cout << "REJESTRACJA!  \n";
		string linia;
		getline(f, linia);

		{
			cout << "Podaj Imie: ";
			cin >> imie;
			cout << "Podaj Nazwisko: ";
			cin >> nazwisko;
			cout << "Podaj login: ";

			cin >> login;
			cout << "Podaj haslo: ";
			cin >> haslo;
			cout << endl;

			f.open("baza.txt", ios::out | ios::app);

			f << login << endl;
			f << haslo << endl;

			f.close();

		}
	}

	void zaloguj()
	{


	}
};
int main()
{
	Rejestracja o1("adam", "kowalski", "test", "test");

	return 0;
}

i teraz pytanie, jak moge odczytac z tej bazy (podczas logowania) dane aby sie zalogowac?Ma to byc zrobione przy uzyciu klas, prosze o pomoc.

2 odpowiedzi

+1 głos
odpowiedź 13 czerwca 2018 przez Secrus Nałogowiec (32,880 p.)
Kilka błędów:

1. Masz dwa razy stworzone zmienne login i haslo. Nie jest to bezpośrednio błąd, ale może wniknąć problem podczas odnoszenia się do tych zmiennych wewnątrz klasy.

2. O ile widze, to nie przypisujesz przekazywanych do konstruktora zmiennych do pól klasy.

3. Jeśli ma to być zrobione na klasach, to powinieneś mieć osobną klasę do obsługi pliku, do którego zapisujesz.

Poczytaj jeszcze trochę o OOP w C++ i popraw błędy.

Jeśli chodzi o odczytywanie przy logowaniu, to po prostu otwierasz i czytasz plik, a następnie porównujesz dane z pliku z danymi wprowadzonymi przez użytkownika
komentarz 13 czerwca 2018 przez MlodyJavaS Użytkownik (500 p.)
OK zauwazylem te zmienne, dzieki :).
Moze zle sie wyrazilem, na klasach ogolnie ( nie jest powiedziane ze logowanie to musi byc nowa klasa) - projekt ma byc zrobiony przy uzyciu klas.

Wlasnie nie rozumiem zbytnio, bo mam taka strukture (

admin
haslo
admin2
haslo2

i ktos loguje sie za pomoca admin2 i haslo i jest to poprawne. I jak mam to sprawdzic
+1 głos
odpowiedź 13 czerwca 2018 przez Kacper Sas Dyskutant (8,460 p.)
string login, haslo, tmp;

cin >> login;

while(!(f.eof())) {

    getline(f, tmp);
    
    if(tmp == login) {

        getline(f, tmp);

        cin >> haslo;

        if(tmp == haslo) {
             // Zalogowano
        } else break; // Złe hasło więc wypadamy

    getline(f, tmp); // omijamy zbędne hasło

}

Tak na szybko wyklepane. Nie zapominaj o takiej metodzie jak .good() dla pliku. Dobra praktyka.

Wystarczy to dobrze upakować i pozmieniać pod siebie

komentarz 13 czerwca 2018 przez MlodyJavaS Użytkownik (500 p.)
ok sprobuje cos na tej podstawie zrobic

Podobne pytania

+1 głos
1 odpowiedź 564 wizyt
pytanie zadane 15 kwietnia 2018 w C i C++ przez budyb Nowicjusz (150 p.)
+1 głos
0 odpowiedzi 195 wizyt
pytanie zadane 11 kwietnia 2023 w PHP przez neo1020 Dyskutant (8,430 p.)
0 głosów
1 odpowiedź 287 wizyt

92,576 zapytań

141,426 odpowiedzi

319,651 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...