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

Prosty system logowania C++

Object Storage Arubacloud
0 głosów
826 wizyt
pytanie zadane 25 stycznia 2021 w C i C++ przez disaster Bywalec (2,120 p.)
Cześć,
Chciałbym w c++ stworzyć prosty system logowania (tylko hasłem), który polegać ma na sprawdzeniu czy to hasło istnieje w pliku.txt
Użytkowników ma być kilku oddzielonych w pliku albo jakimś znakiem specjalnym albo enterami.
Proszę o wskazówki, lub alternatywne pomysły wraz ze wskazówkami.
komentarz 25 stycznia 2021 przez tkz Nałogowiec (42,000 p.)
JSON, sqlite... Rozwiązań jest mnogość.
komentarz 25 stycznia 2021 przez disaster Bywalec (2,120 p.)
Nie ma czegoś prostszego na zasadzie strumieni plikowych?
komentarz 25 stycznia 2021 przez tkz Nałogowiec (42,000 p.)
Są. Plik w formacie csv.
komentarz 25 stycznia 2021 przez disaster Bywalec (2,120 p.)
Ok... A jak mogę sprawdzić czy w pliku jest wpis który podaje użytkownik?
komentarz 25 stycznia 2021 przez tkz Nałogowiec (42,000 p.)
Masz dwie opcje. Możesz wczytać cały plik na starcie, albo za każdym razem czytać plik tak długo aż nie napotkasz na szukane dane, jeżeli dojdziesz do końca pliku, to znaczy, że takiego użytkownika nie ma.
Dochodzi kwestia dopisania/usunięcia użytkownika. Kwestia implementacji.
komentarz 25 stycznia 2021 przez disaster Bywalec (2,120 p.)
fstream file("D:\0000_DontRemove.login.txt");
do
    {

    } while( file.eof() );
    file.close();

Czy takie coś to dobry pomysł? 
Ale co wpisać w klamrach? Dopóki nie zwróci true? 

komentarz 25 stycznia 2021 przez tkz Nałogowiec (42,000 p.)
Nie. do-while jest zbędne. Skorzystaj z std::getline.
komentarz 25 stycznia 2021 przez disaster Bywalec (2,120 p.)

Nie mam pojęcia jak to ubrać w logiczny kod...
 

fstream file("D:\0000_DontRemove.login.txt");

   string name = NrPersEdit->Text.c_str();
   if (getline(file, name))
   {
   ZalogujSie -> Visible = true;
   }
   file.close();

Mam coś takiego, ale jaki postawić warunek? 

komentarz 25 stycznia 2021 przez tkz Nałogowiec (42,000 p.)
Na początku określ jak będzie wyglądał Twój plik tekstowy. Następnie określ jak chcesz szukać danych w pliku.
komentarz 25 stycznia 2021 przez disaster Bywalec (2,120 p.)
fstream file("D:\0000_DontRemove.login.txt");

   string name;
   getline(file, name,';');
if (name == NrPersEdit->Text.c_str()){
 file.close(); }

Niestety... ściana :/ 

komentarz 25 stycznia 2021 przez tkz Nałogowiec (42,000 p.)
#include <fstream>
#include <iostream>
#include <string>
#include <vector>

int main()
{
    std::ifstream file("data.csf");
    std::string login;
    std::string password;
    while (file >> login >> password)
    {
        if (login == "jan" && password == "kowalski"){
            break;
        }
    }
}
ala kot
jan kowalski
xxx yyy

 

komentarz 25 stycznia 2021 przez disaster Bywalec (2,120 p.)

W CodeBlocks działa, w obiektówce już nie. 
Jutro do tego jeszcze usiądę

    ifstream file("D:\0000_DontRemove\login.csv");
    string login;
    while (file >> login)
    {
        if (NrPersEdit -> Text.c_str() == login){
        ZalogujSie -> Visible = true;
             }}

Dzięki za lekcje!

komentarz 25 stycznia 2021 przez VBService Ekspert (252,660 p.)

@disaster, Tu jest w miarę prosto wytłumaczone wink

User registration and login program

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 685 wizyt
pytanie zadane 25 listopada 2018 w PHP przez niezalogowany
0 głosów
3 odpowiedzi 626 wizyt
pytanie zadane 8 kwietnia 2017 w PHP przez marcin99b Szeryf (81,660 p.)
+1 głos
2 odpowiedzi 449 wizyt

92,536 zapytań

141,376 odpowiedzi

319,451 komentarzy

61,920 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!

...