C/C++编程实例讲解:判断密码的有效性

核心提示需求描述随着科技的日新月异,互联网对密码的管理要求越来越高,一般对密码有如下要求:1.密码长度要超过8位2.密码内容要包括大小写字母.数字.其它符号,以上四种至少三种3.密码中不能有相同长度大于2的子串重复输入描述:一组或多组长度超过2的字

需求描述

随着科技的日新月异,互联网对密码的管理要求越来越高,一般对密码有如下要求:

1.密码长度要超过8位

2.密码内容要包括大小写字母.数字.其它符号,以上四种至少三种

3.密码中不能有相同长度大于2的子串重复

输入描述:

一组或多组长度超过2的字符串。每组占一行

输出描述:

如果符合要求输出:OK,否则输出NG

示例:

输入:
021Abc9000021Abc9Abc1021ABC9000021$bc9000
输出:
OKNGNGOK
需求分析

要编写符合条件的代码,我们就需要对输入密码的字符串分别进行长度、数字、大小写字母以及其他特殊符号进行判断。而如果都全部写在主函数中时,显得代码较为臃肿,所以这里我们下提前将字符串、长度以及字符串重复条件写在主函数外,然后在main函数中调用即可。

代码实现

基于以上分析,实现的代码内容如下,仅供参考:

#include

using namespace std;

bool check_char{

int a=0, b = 0, c=0, d=0;

for ; i++){

if

a=1;

else if

b=1;

else if

c=1;

else

d = 1;

}

if >= 3){

return true;

}

else

return false;

}

bool check_len{

if > 8)

{

return true;

}

else

return false;

}

bool check_repeat{

for - 3; i++)

{

string s = str.substr;

if != str.npos)

return false;

}

return true;

}

int main

{

string str;

while

{

if && check_char && check_repeat)

cout << "OK" << endl;

else{

cout << "NG" << endl;

}

return 0;

}

C/C++学习推荐

对于有志于学C/C++编程的同学,本文推荐一本适合于大众的C/C++系列丛书——C/C++算法从菜鸟到达人,概述从最简单的冒泡算法开始,由浅入深的介绍C/C++常见的算法、模板以及STL容器,是初学者和资深软件工程师都必不可少的书籍,如果想要进一步了解C/C++编程,该书是不错的选择。

C/C++算法从菜鸟到达人京东月销量100好评率98%无理由退换京东配送官方店¥66.3购买

写在最后

注意:上述代码只是本人通过自己的判断而编写的一种实现方法,肯定还有其他更优解法,这里只是以一段普通的代码抛砖引玉。如果你有更优解决方法的话,欢迎留言讨论。

上述就是大家分享的内容,希望大家喜欢,期待您的点赞关注,下期内容更精彩,感谢您的阅读!

我是中原说教育,如果您在日常生活中遇到志愿填报或者C/C++类问题,您不知道该如何解决,都可以直接点击下方卡片向我提问,期待您的咨询和留言!

 
友情链接
鄂ICP备19019357号-22