Quantcast
Channel: CodeGuru Forums - Visual C++ Programming
Viewing all articles
Browse latest Browse all 3044

Help using .find_first_not_of to check true or false.

$
0
0
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.

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;
                }
       
       

}


Viewing all articles
Browse latest Browse all 3044

Trending Articles