[C++] Wyświetlaj ile razy przeszła pętla 'for' dopóki hasło jest złe.
Ostatnio zmodyfikowano 2016-01-03 00:54
Razner |
» 2016-01-02 22:44:34 Dlatego musisz podpiąć referencję pod pobierz_pin() identycznie jak z funkcją odrzucanie |
|
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: #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(); }
|
|
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) |
|
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ć. 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: if( r_Count >= 3 ) return;
To nie jest operator porównania. |
|
1 « 2 » |