编写程序模拟智能锁的虚位密码功能。智能锁有一个功能,为了防止在输入密码的时候被偷窥,可以让用户输入一连串数字,其中隐藏着真实密码,请编写一个函数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;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!#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;
}
运行结果:
代码:
#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;
}