陈啊阵 2023-04-22 23:16 采纳率: 100%
浏览 171
已结题

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

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

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

请补全如下代码:


#include<iostream>
#include<string>
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;
} 

  • 写回答

4条回答 默认 最新

  • threenewbee 2023-04-22 23:24
    关注
    #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;
    } 
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月1日
  • 已采纳回答 4月23日
  • 创建了问题 4月22日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵