编程练习3 密码输入检测

news2024/12/24 22:40:17

#include<iostream>
#include<vector>
#include<string>

using namespace std;

// 判断字符是否为小写字母
bool isLower(char ch)
{
	return ch >= 'a' && ch <= 'z';
}
 
// 判断字符是否为大写字母
bool isUpper(char ch)
{
	return ch >= 'A' && ch <= 'Z';
}
 
// 判断字符是否为数字
bool isDigit(char ch)
{
	return ch >= '0' && ch <= '9';
}
 


int main() {
    string input_str;
    getline(cin, input_str);
    int result1 = input_str.find("<");
     while(result1 != -1)
     {
        string temp_str = "";
        temp_str += input_str.substr(0, result1-1);
        temp_str += input_str.substr(result1 + 1);
        input_str = temp_str;
        result1 = input_str.find("<");
     }

    int len = input_str.length();
    bool contains_lower = false;
    bool contains_upper = false;
    bool contains_digit = false;
    bool contains_special = false;

    for (int index = 0; index < len; index++) 
    {
        char c = input_str[index];
        if(isLower(c))
        {
            contains_lower = true;
        }
        else if(isUpper(c))
        {
            contains_upper = true;
        }
        else if(isDigit(c))
        {
            contains_digit = true;
        }
        else
        {
            contains_special = true;
        }
        
    }
    if(contains_lower && contains_upper && contains_digit && contains_special)
    {
        cout<<input_str + ",true"<<endl;
    }
    else 
    {
        cout<<input_str + ",false"<<endl;
    }
    

    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2211876.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024.10.8号培训计算机及外部设备装配调试员

1.理论 &#xff08;1&#xff09;电脑的种类&#xff1a;台式机&#xff1a;台式电脑&#xff0c;是一种各功能部件相对独立计算机&#xff0c;又分品牌机和兼容机。 &#xff08;2&#xff09;笔记本电脑&#xff1a;手提电脑或者膝上型电脑&#xff0c;是一种体积小&#…

【C++】内存管理,RALL原则和智能指针

1 C资源管理 C资源管理是确保程序运行效率和稳定性的关键。资源管理涉及变量、参数的存储和生命周期控制&#xff0c;以及动态内存的分配和释放。C通过一套内存管理机制来实现资源的有效分配和管理。 1.1 内存管理 为适用不同场景&#xff0c;C提供了多种内存管理方式&#…

基于Springboot+Vue的校园消费点评系统(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 这个系…

大顶堆优化dp,带限制的子序列

前言&#xff1a;看到这个题目的时候我们可以用大顶堆记录前面的最大值&#xff0c;这样我们转移的时候就少了很多繁琐的查询 题目地址 class Solution { public:int constrainedSubsetSum(vector<int>& nums, int k) {int n nums.size();vector<int> ans nu…

论文Idea | 人工智能与建筑的交叉领域探索

在人工智能&#xff08;AI&#xff09;与建筑领域的交叉研究中&#xff0c;学者们探索了如何利用AI技术优化建筑设计、施工、管理以及运营等各个环节。以下是关于这一交叉领域的一些关键内容、研究方向、代表性论文及资源。 1.人工智能在建筑领域的应用概述 人工智能技术的快速…

Dev-Cpp 5.11 安装教程【保姆级】

目录 1. 准备软件安装包 2. 软件安装 3. 软件使用过程中必备的预先设置 写在前面 1. 如果你的电脑是Win 7&#xff0c;建议安装Dev-Cpp 5.11&#xff0c;解决软件和系统的兼容问题。具体安装步骤按照本教程进行即可。 2. 如果你的电脑是Win 10&#xff0c;建议安装Embarca…

QML6 项目生成缓存文件取消办法

有时候我们创建QML项目会在 C:\Users\85720\AppData\Local 文件夹下生成临时缓存文件&#xff0c;不注意的话&#xff0c;文件会越来越多&#xff0c;很烦人。 可以试试通过下面方法取消生成qml缓存文件&#xff0c;配置-》构建和运行 这里选 Use qmlcachegen: 禁用

java web 之过滤器Filter

1、概念 当访问服务器的资源时&#xff0c;Filter过滤器可以将请求拦截下来&#xff0c;完成一些特殊的功能。 通常都是用来拦截request进行处理的&#xff0c;也可以对返回的response进行拦截处理。 一般用于完成通用的操作。如&#xff1a;登录验证、统一编码处理、敏感字…

丰田,也杀入料箱AGV市场

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 在全球仓储自动化领域的竞争日益激烈之际&#xff0c;一场引人注目的合作正在悄然展开。 丰田旗下的物料搬运巨头范德兰德(Vanderlande)…

NSSCTF-WEB-pklovecloud

目录 前言 正文 思路 尝试 结尾 前言 许久未见,甚是想念. 今天来解一道有意思的序列化题 正文 思路 <?php include flag.php; class pkshow {function echo_name(){return "Pk very safe^.^";} }class acp {protected $cinder;public $neutron;public $…

安当数据库透明加密组件:守护您的 ClickHouse 数据安全

数据库简介 ClickHouse 是一款高性能的列式数据库管理系统&#xff0c;专为在线分析处理&#xff08;OLAP&#xff09;设计。它以其卓越的查询性能、强大的 SQL 支持和灵活的可扩展性&#xff0c;在大数据分析领域广受赞誉。无论是实时数据分析、业务智能还是广告技术&#xf…

栈溢出0x0D ret2_dl_runtime_resolve

实际上&#xff0c;dl_runtime_resolve 是通过最后的 字符串 来确定执行那一个函数的&#xff0c;也就是说&#xff0c;可以通过控制这个地址的内容来执行任意函数&#xff0c;比如&#xff1a;system 而 reloc_arg 是我们可控的&#xff0c;我们需要控制reloc_arg 间接控制 最…

【096】基于SpringBoot+Vue实现的私人健身与教练预约管理系统

系统介绍 视频演示 基于SpringBootVue实现的私人健身与教练预约管理系统 文档 PPT 源码 数据库脚本 课程设计 基于SpringBootVue实现的私人健身与教练预约管理系统采用前后端分离的架构方式开发&#xff0c;系统整体设计了管理员、教练、用户三种角色&#xff0c;实现了用户查…

根据Vue对比来深入学习React 下 props 组件传值 插槽 样式操作 hooks 高阶组件 性能优化

文章目录 函数组件的特点props组件间的传值父传子看上例子传父兄弟组件传值祖先组件传值 插槽基础插槽具名插槽作用域插槽 样式操作**CSS Modules** 生命周期useRef常用hookuseStateuseEffectuseContextuseReduceruseMemouseCallback 高阶组件什么时候使用 react性能问题和优化…

LeetCode讲解篇之2266. 统计打字方案数

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们使用逆向思维发现如果连续按存在三个字母的按键&#xff0c;最后一个按键表示的字母可以是某个字母连续出现一次、两次、三次这三种情况的方案数之和 我们发现连续按存在三个字母的按键&#xff0c;当连续按…

数据治理中的核心 元数据

数据治理中的核心元素——元数据 一、关于元数据 1、什么是元数据 元数据&#xff08;metadata&#xff09;是关于数据的组织、数据域及其关系的信息&#xff0c;简单来说&#xff0c;元数据就是被用来描述数据的数据。 概念阐述总归生涩&#xff0c;下面用几个简单的例子来…

【千图网-登录_注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

【双指针算法】移动零

1.题目解析 2.算法分析 可以归结为数组划分/数组分块&#xff08;采用双指针算法&#xff09;-->利用数组下标充当指针 &#xff08;1&#xff09;首先定义两个指针 dest&#xff1a;已处理的区间内&#xff0c;非零元素的最后一个位置cur&#xff1a;从左往右扫描数组&…

Stm32+Esp8266连接阿里云程序移植教程(MQTT协议)

Stm32Esp8266连接阿里云程序移植教程&#xff08;MQTT协议&#xff09; 一、前期准备二、移植过程三、程序的使用3.1 连接上阿里云3.2 传输用户数据到阿里云3.3 解析从阿里云下发给用户的数据3.4 关于调试接口 一、前期准备 自己要的工程文件移植所需的文件&#xff08;如下图&…

CentOS 7.9安装MySQL

下载Linux版MySQL安装包 下载地址https://downloads.mysql.com/archives/community/ 下载解压后 安装&#xff0c;按照从上至下顺序&#xff0c;一条一条执行即可安装完毕。 进入到rpm所在目录rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm rpm -ivh mysql-comm…