Extend the length check with a second rule: the password must also contain at least one digit.
You start with:
string password = "Secret99";
Build:
Length: 8 Has digit: True Strong
Rules:
- Print
"Length: "followed by the number of characters. - Loop through each character to set a boolean flag
hasDigit, which starts asfalseand becomestruewhen a digit is seen. - Print
"Has digit: "followed by the flag. Write it asTrueorFalsewith a capital letter, exactly as in the example (your language's own boolean prints differently, so choose the text yourself). - If the length is at least 8 and
hasDigitistrue, printStrong; otherwise printWeak.
Try other passwords: with abcdefgh the output is
Length: 8 Has digit: False Weak
isdigit(c) from <cctype> (already included) works on a char.
string password = "Secret99";
int length = password.length();
cout << "Length: " << length << endl;
bool hasDigit = false;
for (char c : password) {
if (isdigit(c)) {
hasDigit = true;
}
}
cout << "Has digit: " << (hasDigit ? "True" : "False") << endl;
if (length >= 8 && hasDigit) {
cout << "Strong" << endl;
} else {
cout << "Weak" << endl;
}
Free plan: 30 tutor messages. Premium is unlimited.
Saved
Ctrl + Enter to check
