It runs well now but my I only have 2 problems...
1.even if I press Hi1234 still shows that i need lowercase,upper and number.
2.doesnt recognize the true for the program to end.
PS...i know there are other methods but our teacher told us to use the find() methods.
1.even if I press Hi1234 still shows that i need lowercase,upper and number.
2.doesnt recognize the true for the program to end.
PS...i know there are other methods but our teacher told us to use the find() methods.
Code:
#include <iostream>
#include <string>
using namespace std;
bool check_password(const string& password);
bool check_input(const string& password, const string& upper, const string& number, const string& lower);
int main()
{
int length;
string password;
string lower , number;
string upper;
cout << "Write a password: \n"
"Must Have at least one Uppercase letter\n"
"At least one Number\n"
"Please enter 6 - 10 characters: " << endl;
getline(cin, password);
length = password.size();
if(check_password(password) == false)
{
cout << "Must have 6 - 10 digits. Please re-enter your password." << endl;
getline(cin, password);
length = password.size();
}
while (check_input(password, lower, number, upper) != string::npos)
{
cout << "Try Again\n" << endl;
getline(cin, password);
length = password.size();
while (check_password(password) == false)
{
cout << "Must have 6 - 10 digits." << endl;
getline(cin, password);
length = password.size();
}
}
while (check_input(password, lower, number, upper) != string::npos)
{
cout << "Good Job";
}
system("pause");
}
bool check_password(const string& password)
{
if (password.length() < 6 || password.length() > 10)
{
return false;
}
else
{
return true;
}
}
bool check_input(const string& password, const string& upper, const string& number, const string& lower)
{
lower == ("abcdefghijklmnopqrstuvwxyz");
number == ("0123456789");
upper == ("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
if (password.find_first_not_of(upper) != string::npos)
{
cout << "Must contain an uppercase letter." << endl;
}
if (password.find_first_not_of(lower) != string::npos)
{
cout << "Must contain a lowercase. " << endl;
}
if (password.find_first_not_of(number) != string::npos)
{
cout << "Must contain a number. \n" << endl;
return true;
}
}