Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z petla for

Ostatnio zmodyfikowano 2022-01-03 19:12
Autor Wiadomość
sowin
Temat założony przez niniejszego użytkownika
Problem z petla for
» 2022-01-02 19:43:31
Witam, założenie programu jest takie że po prowadzeniu 3 razy błednych danych program blokuje możliwość dalszej autoryzacji , po upływie danego czasu ma zezwolić na kolejne 3 proby i tu jest problem ze niechce po 3 błednych autoryzacjach znowu zablokować dostepu na odpowiedni czas. Ktoś pomoze z gory dzięki

C/C++
#include <iostream>
#include <string>
#include <cstdlib>
#include <windows.h>
#include <thread>

using namespace std;
string login, haslo;
int licznik = 0;
int main()

{
   
cout << "Witaj!" << endl;
   
cout << "Za 2 sekundy nastapi autoryzacja." << endl;
   
Sleep( 2000 );
   
system( "cls" );
   
   
for(;; )
   
{
       
cout << "Podaj login:";
       
cin >> login;
       
cout << "Podaj haslo:";
       
cin >> haslo;
       
system( "cls" );
       
       
if(( login == "admin" ) &&( haslo == "trudne" ) )
       
{
           
           
cout << "Udalo sie zalogowac!" << endl;
           
return 0;
       
}
       
       
else
       
{
           
cout << "Nie udalo sie zalogowac!" << endl;
           
licznik++;
           
Sleep( 1000 );
           
system( "cls" );
           
       
}
       
       
if( licznik == 3 )
       
{
           
cout << "Wykorzystales wszystkie proby logowania,\nSystem zablokowany na 10 sekund" << endl;
           
           
std::this_thread::sleep_for( 10s );
           
       
}
       
    }
   
   
return 0;
}
P-179157
DejaVu
» 2022-01-02 20:15:20
Masz dwie opcje. Opcja #1:
C/C++
// Zamień poniższy warunek:
//if(licznik==3)
// Na następujący warunek:
if( licznik % 3 == 0 )
   

Opcja #2: zeruj licznik, gdy wejdzie Ci w warunek 'licznik == 3'.
P-179158
sowin
Temat założony przez niniejszego użytkownika
» 2022-01-02 22:31:58
Opcja #1 nie działa ,a te zerowanie przez jaką komende?
P-179163
nanoant20
» 2022-01-02 23:45:23
wszystkie opcje podane przez @DejaVu działają

#opcja 2
C/C++
if( licznik == 3 )
{
   
cout << "Wykorzystales wszystkie proby logowania,\n";
   
cout << "System zablokowany na 10 sekund" << endl;
   
   
std::this_thread::sleep_for( 10s );
   
licznik = 0; //reset licznika
   
}

#opcja 1
C/C++
if( licznik % 3 == 0 )
{
   
cout << "Wykorzystales wszystkie proby logowania,\n";
   
cout << "System zablokowany na 10 sekund" << endl;
   
   
std::this_thread::sleep_for( 10s );
}
P-179164
sowin
Temat założony przez niniejszego użytkownika
» 2022-01-03 19:12:01
Dzięki wielki:)
P-179166
« 1 »
  Strona 1 z 1