写了增加和删除功能
增加功能
void management::add()
{
cout << "输入本次想增添的员工数" << endl;
int a;
cin >> a;
for (int i=1; i<=a; i++)
{
employee em;
cout << "请输入本次想增添的第" << i << "个员工的信息" << endl;
cout << "请选择身份:" << endl;
cout << "1.经理 2.售货员 3.技术员" << endl;
cin >> type;
if (type == 1)
{
ma.setemployee();
Manager.push_back(ma);
}
else if (type == 2)
{
sa.setemployee();
Salesman.push_back(sa);
}
else if (type == 3)
{
te.setemployee();
Technique.push_back(te);
}
}
cout << "增加成功!" << endl;
system("pause");
system("cls");
}
删除功能
int management::decrease()
{
int k,a;
cout << "请输入你想删除的员工编号:" << endl;
cin >> k;
a = Manager.size();
cout << a;
for (int i = 0;Manager.size(); i++)
{
if (k == Manager[i].getno())
{
Manager.erase(Manager.begin() + i);
cout << "删除成功!\n";
return 0;
}
}
for (int i = 0; i < Salesman.size(); i++)
{
if (k == Salesman[i].getno());
{
Salesman.erase(Salesman.begin() + i);
cout << "删除成功!\n";
return 0;
}
}
for (int i = 0; i < Technique.size(); i++)
{
if (k == Technique[i].getno());
{
Technique.erase(Technique.begin() + i);
cout << "删除成功!\n";
return 0;
}
}
cout << "无该人员信息!请确认ID是否正确\n";
return 0;
}
我发现我的删除功能总是用不了,我就尝试了想可能是for循环进不去,然后输出了一下Manager.size(),果然=0,也就是说我的数据没存进去;但是,我在增添功能里加Manager.size(),又能显示我存入的数据个数。我想知道是哪里错了,导致删除功能里Manager.size()为0;