使用name作为键并将birthday作为值

时间:2017-05-09 02:05:54

标签: c++

对于此作业,您将实施字典以跟踪朋友和亲戚的姓名和生日。您应该能够执行以下操作:

  • 添加条目
  • 删除条目
  • 在字典中搜索给定名称的生日
  • 显示字典中每个条目的名称和生日
  • 列出字典中出生在特定月份的所有人

    搜索键是名称,您可以假设名称是唯一的。

    对于这项任务,除了同一个生日,我已经实现了大部分课程。这就是我打算为同一个生日课程做的事。

    void Dict::sameBirthday()
    {
    for (int i = 0; i < itemcount; i++)
     {
            if(item[i].getDate() == item[i+1].getDate())
            {
                int index = i;
                cout << item[index].getName() << "\n";
            }
    
     } 
    }
    

    测试不是很清楚,所以我只是制作一个计数器,看看我会得到多少,它只给了我一个增量。我想得到3因为我已经宣布3个人有同样的出生日期。对于这个类,键是名称和存储顺序,值是可以通过搜索名称获取的生日日期

感谢帮助。

1 个答案:

答案 0 :(得分:0)

是!!感谢稻田。我犯了一个错误,我只是比较值,看看哪一个在数组中具有相同的值而没有给出要查找的值。所以我可以使用输入值列出具有相同值的键。再次感谢稻田!!

 void Dict::sameMonth(string month)
 {

    for (int i = 0; i < itemcount; i++)
    {
        if (month == item[i].getMonth())
        {
            cout << item[i].getName()<< " - ";
        }
    }
    cout << endl;
  }