鎏歌 2021-12-27 09:18 采纳率: 54.5%
浏览 11
已结题

我的vecctor好像存进数据了,又好像没存进

写了增加和删除功能

增加功能
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 = 0Manager.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;

  • 写回答

2条回答 默认 最新

  • 五一编程 2021-12-27 09:50
    关注

    问题应该出在erase这个函数上,你可以查看下vecctor 中 erase的相关用法

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月8日
  • 创建了问题 12月27日

悬赏问题

  • ¥15 wpf datagrid如何实现多层表头
  • ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
  • ¥20 网站后台使用极速模式非常的卡
  • ¥20 Keil uVision5创建project没反应
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程