关于#模拟智能锁的虚位密码功能-使用string类#的问题,如何解决?(C++)

编写程序模拟智能锁的虚位密码功能。智能锁有一个功能,为了防止在输入密码的时候被偷窥,可以让用户输入一连串数字,其中隐藏着真实密码,请编写一个函数virtualpwd,接收用户输入的虚位密码后,判断是否包含真实密码,若包含,则返回1,否则返回0。
正确密码若为666666;
测试输入:123666666555;
预期输出:
密码正确

测试输入:1234567890;
预期输出:
密码错误

请补全如下代码:


#include
#include
using namespace std;

//C++ string类的用法 
//编写程序模拟智能锁的虚位密码功能。
//智能锁有一个功能,为了防止在输入密码的时候被偷窥,可以让用户输入一连串数字,
//其中隐藏着真实密码,请编写一个函数virtualpwd,接收用户输入的虚位密码后,
//判断是否包含真实密码,若包含,则返回1,否则返回0//此处给出virtualpwd函数的定义 

//-------------------------------------------------
int main()
{
    int result;//存放密码比对结果
    //设正确密码为“666666” 
    string pwd = "666666";
    //srcpwd为用户输入的虚位密码 
    string srcpwd;
    //补全代码:用户输入虚位密码:
    
    //------------------------
    //此处给出:调用 virtualpwd函数并输出结果

    //------------------------------------
    if(result == 1)
    {
        cout << "密码正确" << endl;
    }
    else
    {
        cout << "密码错误" << endl;    
    } 
    
    return 0;
} 

#include<iostream>
#include<string>
using namespace std;

int main()
{
    int result;//存放密码比对结果
    //设正确密码为“666666” 
    string pwd = "666666";
    //srcpwd为用户输入的虚位密码 
    string srcpwd;
    //补全代码:用户输入虚位密码:
    cin >> srcpwd;
    //------------------------
    //在srcpwd中查找pwd的位置
    size_t pos = srcpwd.find(pwd);
    //如果pos不等于string::npos,则说明找到了pwd,返回1,否则返回0
    result = pos != string::npos ? 1 : 0;
    //------------------------------------
    if(result == 1)
    {
        cout << "密码正确" << endl;
    }
    else
    {
        cout << "密码错误" << endl;    
    } 
    
    return 0;
} 

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632
#include<iostream>
#include<string>
using namespace std;
int virtualpwd(string pwd,string srcpwd)
{
    if(srcpwd.find(pwd) != string::npos)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

int main()
{
    int result;//存放密码比对结果
    //设正确密码为“666666” 
    string pwd = "666666";
    //srcpwd为用户输入的虚位密码 
    string srcpwd;
    cin >> srcpwd;
    //此处给出:调用 virtualpwd函数并输出结果
    result = virtualpwd(pwd,srcpwd);
    if(result == 1)
    {
        cout << "密码正确" << endl;
    }
    else
    {
        cout << "密码错误" << endl;    
    } 
    return 0;
}

运行结果:

img

img

代码:

#include <iostream>
#include <string>
using namespace std;

//C++ string类的用法 
//编写程序模拟智能锁的虚位密码功能。
//智能锁有一个功能,为了防止在输入密码的时候被偷窥,可以让用户输入一连串数字,
//其中隐藏着真实密码,请编写一个函数virtualpwd,接收用户输入的虚位密码后,
//判断是否包含真实密码,若包含,则返回1,否则返回0。
//此处给出virtualpwd函数的定义 
int virtualpwd(string src, string pwd)
{
    if (src.length() < pwd.length())
        return 0;
    int i = 0, j = 0;
    for (; i < src.length()-pwd.length()+1; i++)
    {
        for (j = 0; j < pwd.length(); j++)
        {
            if (src.at(i + j) != pwd.at(j))
                break;
        }
        if (j == pwd.length())
            return 1;
    }
    return 0;
}

//-------------------------------------------------
int main()
{
    int result;//存放密码比对结果
    //设正确密码为“666666” 
    string pwd = "666666";
    //srcpwd为用户输入的虚位密码 
    string srcpwd;
    //补全代码:用户输入虚位密码:
    cin >> srcpwd;

    //------------------------
    //此处给出:调用 virtualpwd函数并输出结果
    result = virtualpwd(srcpwd, pwd);

    //------------------------------------
    if (result == 1)
    {
        cout << "密码正确" << endl;
    }
    else
    {
        cout << "密码错误" << endl;
    }

    return 0;
}