b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

号码算法 关于快速查找与匹配(2)

电脑杂谈  发布时间:2018-02-21 04:51:40  来源:网络整理

下面是C++STl map的实现;

#include<bits/stdc++.h>
using namespace std;
map<string,string>q;                  //构造一个map类,为了简单处理,笔者将容器内的存储对象定义为两个string类 
void login(string a,string p);        //定义一个登陆函数 
void apply(string a,string p);        //定义一个申请函数 
void login(string a,string p)
{
    map<string,string> :: iterator s;//定义一个对应两个string类对象的map迭代器 
    s = q.find(a);                   //对map进行查找 
    if(s != q.end() && p == s -> second)  //若找到且密码相等,提示登陆成功 
    {
        printf("Login: OK");
    }
    else if(s != q.end() && p != s -> second)  //若存在但密码不等,提示失败 
    {
        printf("ERROR: Wrong PW");
    }
    else if(s == q.end())                      //若查找失败,则提示不存在 
    {
        printf("ERROR: Not Exist");
    }
}
void apply(string a,string p)
{
    map<string,string> :: iterator s;
    s = q.find(a);
    if(s != q.end())                           //若查找成功,则提示账户已存在 
    {
        printf("ERROR: Exist");
    }
    else                                       //若查找失败,则将该账户作为新元素插入map中 
    {
        q.insert(pair<string,string>(a,p));
        printf("New: OK");
    }
}
int main(void)
{
    int i = 0,n = 0;
    string account,password,temp,temp2,choose;
    scanf("%d",&n);
    map<string,string> :: iterator s;
    for(i = 0;i < n;i++)
    {
        cin >> choose;
        cin >> temp;
        cin >> temp2;
        if(choose == "L")
        {
            login(temp,temp2);
        }
        else
        {
            apply(temp,temp2);
        }
        if(i != n - 1)
        {
            printf("\n");
        }
    }
    return 0;
}


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-86698-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 孙风国
      孙风国

      标准化和模块化的优势需要量积累

    • 李恒存
      李恒存

      濒海战斗舰也就是反恐和特种作战用的

    热点图片
    拼命载入中...