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

[C++] Wyświetlaj ile razy przeszła pętla 'for' dopóki hasło jest złe.

Ostatnio zmodyfikowano 2016-01-03 00:54
Autor Wiadomość
Razner
» 2016-01-02 22:44:34
Dlatego musisz podpiąć referencję pod pobierz_pin() identycznie jak z funkcją odrzucanie
P-142749
Green_Arrow
Temat założony przez niniejszego użytkownika
» 2016-01-02 22:49:59
Okej, poradziłem sobie. Jednak nie trzeba było podpinać referencji pod pobierz_pin :D
Dzięki za pomoc. Działający kod:

C/C++
#include <iostream>

using namespace std;

void logowanie();
void odrzucanie( int & y );
void pobierz_pin();
int x = 0;

int main()
{
    cout << "######################### ZGADNIJ HASŁO #########################" << endl << endl;
    pobierz_pin();
    cout << endl << "############################# KONIEC #############################" << endl << endl << endl;
}

void pobierz_pin()
{
    int pin;
    cout << " Podaj 4 cyfrowe haslo: ";
    cin >> pin;
    if( pin == 1234 ) logowanie();
    else
    {
        std::cin.clear();
        odrzucanie( x );
    }
}

void logowanie()
{
    cout << "Laczenie z baza danych.." << " [OK]" << endl;
    cout << "Dopasowywanie kryteriow hasla.." << " [OK]" << endl << "Weryfikacja: ";
    for( int i = 1; i < 101; i = i + 1 )
    {
        cout << " " << i << "%";
    }
    cout << " [OK]" << endl;
    cout << endl << "Zalogowano poprawnie !" << " [OK]" << endl;
}


void odrzucanie( int & y )
{
    cout << "[ERROR] Wpisales bledne haslo po raz: " << y << endl << endl;
    y = y + 1;
    pobierz_pin();
}
P-142750
Green_Arrow
Temat założony przez niniejszego użytkownika
» 2016-01-02 23:29:34
Jeszcze jedno pytanie. Jak zrobić aby po trzech sprawdzeniach hasła program przerywał się? Dodałem w ostatniej funkcji przed y=y+1 taki zapis: if ( y = 3) exit(0); lecz on nie działa. Co może być powodem? (biblioteka cstdlib dodana)
P-142753
carlosmay
» 2016-01-03 00:54:08
Jednak nie trzeba było podpinać referencji pod pobierz_pin
 Zmienne globalne, gdy są niezbędne. Raczej należy unikać.

C/C++
int main()
{
    int count = 0;
    pobierz_pin( count );
}

void pobierz_pin( int & r_Count )
{
    //....
    odrzucanie( r_Count );
}
}

void odrzucanie( int & r_Count )
{
r_Count++;
cout << "[ERROR] Wpisales bledne haslo po raz: " << r_Count << endl << endl;
pobierz_pin( r_Count );
}
 
Jak zrobić aby po trzech sprawdzeniach hasła program przerywał się?
if( y = 3 ) exit( 0 );
 lecz on nie działa.
Można to zrobić w bardziej cywilizowany sposób.
To twój program, więc umieść to w miejscu, które najlepiej się do tego nadaje:
C/C++
if( r_Count >= 3 ) return;


if( y = 3 )
 
 To nie jest operator porównania.
P-142754
1 « 2 »
Poprzednia strona Strona 2 z 2