View Single Post
Old 11-23-2010, 12:18 AM   #12
Flint
Snowflake
 
Join Date: Mar 2006
Location: Dystopia
Posts: 13,136
This is somewhat better, as far as a more streamlined main function...
Quote:
#include<iostream>
#include<cstring>
#include<cctype>
using namespace std;

//Function checks the password for length. (a)
bool passLength(char[]);

//Function checks the password for a digit. (b)
bool containDigit(char[]);

const int SIZE = 21;
char password[SIZE];
Quote:
int main()
{
cout << "Please enter a password: ";
cin.getline(password, SIZE);

while ((!passLength(password)) || (!containDigit(password)))
{
if (!passLength(password))
(passLength(password)); //(a)

if (!containDigit(password))
(containDigit(password)); //(b)
}

cout << "Thank you that is a valid password" << endl;


//Keep the window open until Enter key is pressed.
cout << "\nPress Enter to close window..." << endl;
std::cin.get();

return 0;
}
Quote:
bool passLength(char password[]) //(a)
{
int lengthPass = 6;
int length = strlen(password);

if (lengthPass <= length)
return true;
else
{
cout << "Passwords must be at least 6 characters long" << endl;
cout << "Please enter a password: ";
cin.getline(password, SIZE);
return false;
}
}
Quote:
bool containDigit(char password[]) //(b)
{
int index = 0;
int length = strlen(password);

for (index = 0; index < length; index++ )
{
if (isdigit(password[index]))
return true;
}
cout << "Passwords must include at least on digit (1-9)" << endl;
cout << "Please enter a password: ";
cin.getline(password, SIZE);
return false;
}
__________________
******************
There's a level of facility that everyone needs to accomplish, and from there
it's a matter of deciding for yourself how important ultra-facility is to your
expression. ... I found, like Joseph Campbell said, if you just follow whatever
gives you a little joy or excitement or awe, then you're on the right track.

. . . . . . . . . . . . . . . . . . . . . . . . . . Terry Bozzio
Flint is offline   Reply With Quote