-
if (wynik == ok)
w użytym kontekście nie istnieje nic takiego jak ok
string sprawdzaniehasel (string wynik)
{
if (userpassword == haslo)
{
return 1;
}
else
{
return 0;
}
// return 0;
}
Ogłaszasz, że zwrócisz string, po czym zwracasz wartość logiczną aka book.
3. haslo = "polska";
haslo
w użytym kontekście nie istnieje nic takiego jak haslo
4. Nie używaj zmiennych globalnych.
5. cin >> sprawdzaniehasel(wynik);
wprowadzasz wartość do obiektu, który się zaraz po tym ulatnia. Not clever.
6.
#include <iostream>
#include <string>
using namespace std;
bool isValidPassword(const string &input){
const string password = "banana apes";
return input == password;
}
int main(){
string userInput;
cout << "Enter password: " << endl;
getline(cin, userInput);
bool result = isValidPassword(userInput);
cout << "The password is " << (result?"":"in") << "valid." << endl;
return 0;
}
http://ideone.com/2zfBnU
In: "banana apes"
Simplified out: "The password is valid."
In: "Foo or something..."
Simplified out: "The password is invalid."
Spróbujmy jeszcze zabawić się w kompilator.
int wynik;
string sprawdzaniehasel (string wynik); //brr, przekazywanie potencjalnie dużych obiektów przez wartość
int main() //main, lecimy
{
haslo = "polska"; //Co to jest haslo? Nic takiego sobie nie przypominam
cout << "\nPODAJ SWOJE HASLO\n"; //Co to jest cout? Czy nie zapomniałeś o jakimś nagłówku?
cin >> userpassword; //Co to jest userpassword? Co to jest cin? Czy nie zapomnialeś o jakimś nagłówku?
cin >> sprawdzaniehasel(wynik); //Co to jest cin? Uwaga, wprowadzasz wartość do tymczasowego obiektu! Ale ok, analizujemy sprawdzaniehasel;
if (wynik == ok) //Z tego co mi wiadomo, nic nie zmodyfikowało tej paskudnej zmiennej globalnej wynik
{
cout << "Haslo poprawne\n"; //Co to jest cout? Nie zapomniałeś o jakimś nagłówku albo przestrzeni nazw?
// return 0;
}
else {cout << "Haslo niepoprawne\n";}
}
string sprawdzaniehasel (string wynik)
{
if (userpassword == haslo) //co to jest userpassword? Nic takiego sobie nie przypominam;
{
return 1; //Jak ja właściwie mam zamienić jedynkę na ciąg znaków?
}
else
{
return 0; //Jak ja właściwie mam zamienić zero na ciąg znaków?
} //Brr, to było strasznie niepotrzebne rozwleczenie warunku
// return 0;
}