21xrx.com
2024-06-03 07:09:15 Monday
登录
文章检索 我的文章 写文章
C++程序设计:通讯录管理系统
2023-07-06 06:14:18 深夜i     --     --
C++ 程序设计 通讯录 管理系统

在日常生活中,人们经常需要记录和管理联系人信息,例如电话号码、电子邮件地址等,以便于沟通和交流。为此,开发一个通讯录管理系统非常有必要。而使用C++编程语言实现这样的系统则成为了一种流行的选择。

C++是一种高效而且功能强大的编程语言,由于其语法简洁、易于理解,因此成为了程序员们最喜欢的语言之一。而通讯录管理系统,正是C++语言最擅长的领域之一。下面我们就来看看如何使用C++来实现一个通讯录管理系统。

首先,我们需要定义一个联系人结构体,用来存储每个联系人的信息。这个结构体可以包括姓名、电话号码、电子邮件地址等基本信息。同时,为了方便查找,我们可以为每个联系人定义一个唯一的编号ID。

struct Contact

  int id;

  string name;

  string phone;

  string email;

;

接下来,我们需要定义一个通讯录类,用来管理所有的联系人信息。这个类需要实现一些基本的功能,例如添加联系人、删除联系人、修改联系人信息、打印所有联系人等。

class AddressBook {

public:

  // 添加联系人

  bool AddContact(const Contact& contact);

  // 删除联系人

  bool RemoveContact(int id);

  // 修改联系人信息

  bool UpdateContact(const Contact& contact);

  // 根据ID查找联系人

  Contact* FindContactByID(int id);

  // 打印所有联系人信息

  void PrintAllContacts();

private:

  vector contacts_;

};

在这个类中,我们使用了一个向量(vector)来存储所有的联系人。因为向量可以动态地调整大小,所以我们可以根据需要添加或删除联系人。同时,我们还定义了一些基本的函数用来实现各种功能。

比如,AddContact函数用来添加一个新的联系人。在这个函数里,我们首先生成一个新的ID,然后将其与联系人信息一起放入向量中即可。

bool AddressBook::AddContact(const Contact& contact) {

  int id = contacts_.size() > 0 ? contacts_[contacts_.size() - 1].id + 1 : 1;

  Contact new_contact = contact;

  new_contact.id = id;

  contacts_.push_back(new_contact);

  return true;

}

同样的,RemoveContact函数用来删除一个已有的联系人。在这个函数里,我们先根据ID查找要删除的联系人,然后将其从向量中移除即可。

bool AddressBook::RemoveContact(int id) {

  for (int i = 0; i < contacts_.size(); ++i) {

    if (contacts_[i].id == id) {

      contacts_.erase(contacts_.begin() + i);

      return true;

    }

  }

  return false;

}

还有类似的UpdateContact和FindContactByID等函数,这里就不再一一介绍了。总之,这些函数的实现都比较简单,主要就是利用向量和循环进行遍历操作。

最后,我们还需要实现一个主函数,用来测试上述各种功能是否正常。在这个函数中,我们可以创建一个AddressBook对象,然后调用其各个函数来测试其功能。

int main() {

  AddressBook address_book;

  Contact contact1 = 1;

  Contact contact2 = "jerry@gmail.com";

  address_book.AddContact(contact1);

  address_book.AddContact(contact2);

  address_book.PrintAllContacts();

  address_book.RemoveContact(1);

  Contact* contact_ptr = address_book.FindContactByID(2);

  if (contact_ptr != nullptr) {

    contact_ptr->name = "Ben";

    contact_ptr->phone = "1357924680";

    address_book.UpdateContact(*contact_ptr);

  }

  address_book.PrintAllContacts();

  return 0;

}

在这个主函数中,我们首先创建了两个联系人对象,然后添加到AddressBook中。接着,我们打印所有联系人信息,然后删除一个联系人。接下来,我们查找另一个联系人,并修改其姓名和电话号码。最后,我们再次打印所有联系人信息,来确认修改是否生效。

这样,我们就完成了一个基本的C++通讯录管理系统。当然,这只是一个简单的例子,实际上,一个完整的通讯录管理系统需要考虑更多的因素,例如数据持久化、用户界面等。但无论如何,C++语言确实是一个非常适合用来开发这样的系统的语言。

  
  

评论区

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