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

Funkcja logowania

Object Storage Arubacloud
–2 głosów
466 wizyt
pytanie zadane 2 września 2015 w C i C++ przez jako6 Bywalec (2,550 p.)

Muj program loguje nawet jeśli podam nieprawidłowe hasło.

#include <iostream>
#include <windows.h>
#include <string>

using namespace std;

void progressbar(int progress,int delay_progress)
{
    for(int i=0; i<progress; i++){
        Sleep(delay_progress);
        cout<<"#";}
}

void login_password()
{
    string login;
    string password;
    string correct_login="login";
    string correct_password="password";

    do
    {
        cout<<"Podaj login: ";
        cin>>login;
        cout<<"Podaj haslo: ";
        cin>>password;
    }
    while(login==correct_login & password==correct_password);

}


int main()
{
    cout << ":)" << endl;
    login_password();
    int progress=100;
    int delay_progress=10;
    progressbar(progress,delay_progress);
    cout << ":)" << endl;
    cin.get();
    return 0;
}

 

2 odpowiedzi

+1 głos
odpowiedź 2 września 2015 przez Mieszko I Stary wyjadacz (10,980 p.)
wybrane 2 września 2015 przez jako6
 
Najlepsza

Oto poprawny kod:

#include <iostream>
#include <windows.h>
#include <string>

using namespace std;

void progressbar(int progress,int delay_progress)
{
    for(int i=0; i<progress; i++){
        Sleep(delay_progress);
        cout<<"#";}
}

void login_password()
{
    string login;
    string password;
    string correct_login="login";
    string correct_password="password";

    do
    {
        cout<<"Podaj login: ";
        cin>>login;
        cout<<"Podaj haslo: ";
        cin>>password;
    }
    while(login!=correct_login && password!=correct_password);

}


int main()
{
    cout << ":)" << endl;
    login_password();
    int progress=100;
    int delay_progress=10;
    progressbar(progress,delay_progress);
    cout << ":)" << endl;
    cin.get();
    return 0;
}

Pozdrawiam.

komentarz 2 września 2015 przez ScriptyChris Mędrzec (190,190 p.)

Drobna modyfikacja estetyczna przy błędnie wpisanych danych:

  do
    {
        cout<<"Podaj login: ";
        cin>>login;
        cout<<"Podaj haslo: ";
        cin>>password;

        if (login != "login" && password != "password")
        {
            cout << "\n" <<"Bledne dane!";
            Sleep(2000);
            system("CLS");
        }

    }
    while(login!=correct_login && password!=correct_password);

 

0 głosów
odpowiedź 2 września 2015 przez daan Pasjonat (17,640 p.)
edycja 2 września 2015 przez daan

Powinno być :

while (login != correct_login || password != correct_password);

Poza tym po co CI te zmienne correct_... ? możesz odrazu porównywać w warunku :

while(login!="login" || password!="password");

Ty chcesz wykonywać tą pętle tak długo dopóki dane nie będą się zgadzać, więc :

dopóki ( login != .... lub password != ...);

komentarz 2 września 2015 przez jako6 Bywalec (2,550 p.)
Tak samo działa czyli podaje login dfds i haslo iudsfsd i program loguje
komentarz 2 września 2015 przez jako6 Bywalec (2,550 p.)
Korzystam z CodeBlocks 13.12
komentarz 2 września 2015 przez daan Pasjonat (17,640 p.)
edycja 2 września 2015 przez daan
while (login != correct_login || password != correct_password);

 

komentarz 2 września 2015 przez jako6 Bywalec (2,550 p.)
Dodaj nową odpowiedz do dam jaką najlepszą ,bo działa.
komentarz 2 września 2015 przez daan Pasjonat (17,640 p.)
możesz dać do tej, jak nie to trudno nie zalezy mi ;)
komentarz 2 września 2015 przez Mieszko I Stary wyjadacz (10,980 p.)
Ja podałem cały kod

Podobne pytania

0 głosów
1 odpowiedź 311 wizyt
pytanie zadane 27 czerwca 2022 w C i C++ przez sushi2021 Nowicjusz (160 p.)
0 głosów
1 odpowiedź 85 wizyt
0 głosów
1 odpowiedź 284 wizyt

92,619 zapytań

141,468 odpowiedzi

319,786 komentarzy

62,001 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!

...