21xrx.com
2024-11-22 07:41:16 Friday
登录
文章检索 我的文章 写文章
C++通讯录系统:移动联系人代码
2023-07-10 20:47:04 深夜i     --     --
C++ 通讯录系统 移动 联系人 代码

C++通讯录系统是一种联系人管理系统,可帮助用户将联系人的信息整合在一个地方。该系统可以通过添加、删除、查找和移动联系人的操作,帮助用户在联系人列表中进行管理。本文将着重介绍移动联系人的代码实现。

首先,我们需要定义一个包含联系人信息的结构体:

struct contact

  string name; // 姓名

  string phone; // 电话

  string email; // 邮箱

;

接下来,我们需要定义一个变量来保存联系人列表:

vector contactList;

现在我们来实现移动联系人的代码。首先,我们需要选择要移动的联系人。用户可以通过选择需要移动的联系人的编号来指定联系人。例如,如果用户选择第一个联系人进行移动,则应该将其编号设置为0。

int contactNum = 0;

cout << "请输入要移动的联系人编号:";

cin >> contactNum;

接下来,我们需要输入用户想要将联系人移动到的位置。为了使代码更具有可读性,我们可以使用枚举类型来定义移动位置的选项:

enum movePosition FIRST;

movePosition position;

cout << "请选择要移动到的位置:\n"

   << "1. 列表开头\n"

   << "2. 列表结尾\n"

   << "3. 被选中联系人之前\n"

   << "4. 被选中联系人之后\n";

int choice;

cin >> choice;

switch (choice)

{

  case 1:

    position = FIRST;

    break;

  case 2:

    position = LAST;

    break;

  case 3:

    position = BEFORE;

    break;

  case 4:

    position = AFTER;

    break;

  default:

    cout << "请选择有效选项\n";

    break;

}

现在,我们可以根据用户选择的位置来移动联系人。如果用户选择将联系人移动到列表开头,我们可以通过以下代码实现:

if (position == FIRST)

{

  contact temp = contactList[contactNum];

  contactList.erase(contactList.begin() + contactNum);

  contactList.insert(contactList.begin(),temp);

  cout << "已将联系人移动到列表开头\n";

}

如果用户选择将联系人移动到列表结尾,我们可以使用以下代码:

if (position == LAST)

{

  contact temp = contactList[contactNum];

  contactList.erase(contactList.begin() + contactNum);

  contactList.push_back(temp);

  cout << "已将联系人移动到列表结尾\n";

}

类似地,如果用户选择将联系人移动到某个联系人之前,则可以使用以下代码:

if (position == BEFORE)

{

  int beforeNum;

  cout << "请输入要将联系人移动到之前的联系人的编号:";

  cin >> beforeNum;

  contact temp = contactList[contactNum];

  contactList.erase(contactList.begin() + contactNum);

  contactList.insert(contactList.begin() + beforeNum, temp);

  cout << "已将联系人移动到第" << beforeNum << "个联系人之前\n";

}

最后,如果用户选择将联系人移动到某个联系人之后,则可以使用以下代码:

if (position == AFTER)

{

  int afterNum;

  cout << "请输入要将联系人移动到之后的联系人的编号:";

  cin >> afterNum;

  contact temp = contactList[contactNum];

  contactList.erase(contactList.begin() + contactNum);

  contactList.insert(contactList.begin() + afterNum + 1, temp);

  cout << "已将联系人移动到第" << afterNum + 1 << "个联系人之后\n";

}

以上就是移动联系人代码的实现。与其他联系人管理操作一样,移动联系人代码的实现也要根据用户选择来进行不同的操作。通过以上的代码实现,我们可以使C++通讯录系统更加完善,为用户提供更好的联系人管理功能。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复