我需要验证员工ID是否唯一

时间:2014-09-30 21:40:30

标签: c++11

我创建了一个名为employee的结构,并且#34; emp.id"是员工ID。

当用户输入ID时,它不应与之前用户可能输入的先前ID相匹配。

这只是主程序的一个功能,它验证员工ID是唯一的。

代码正在运行,但是当我打印时,它会将id的最后一个值分配给所有ID。

请帮忙。

void uniqueid()
{
  int check=1;
  string code;
  string tempemp1;

  cout<< "enter id";
  while(check) {
    cin >> code;
    check = 0;
    for (int i = 0; i < num; ++i) {
      if (emp[i].id.compare(code)==0) {
        check = 1;
        cout << "enter id again";
        break;
      }
    }

    if (check==0) {
      emp[i].id=code; 
    }
  }
}

1 个答案:

答案 0 :(得分:0)

您的示例中似乎缺少一些非常重要的代码;即定义numemp等等......

但是,从粗略的检查来看,在成功添加新员工之后,似乎缺少num增加的内容。

此外,也许你还没有学会它,但在涉及独特性的情况下,std::set将成为你的朋友;但是在你所描述的那种情况下,你可能最终会使用std::map