21xrx.com
2024-12-28 13:13:17 Saturday
登录
文章检索 我的文章 写文章
"C++通讯录简单项目设计"
2023-06-29 11:29:18 深夜i     --     --
C++语言 通讯录 项目设计 简单实现 编程技巧

C++通讯录简单项目设计

随着社会的发展,通讯录的重要性变得越来越大。在人们需要频繁联系的情况下,通讯录能够方便快捷地记录个人或团体的联系信息,以便随时查找。本文将介绍一个使用C++编写的通讯录简单项目设计。

1.需求分析

为了更好地满足用户需求,我们需要分析有哪些功能用户可能需要:

(1)添加联系人:根据用户输入信息,添加新的联系人到通讯录中。

(2)显示联系人:将通讯录中所有联系人的信息打印出来。

(3)删除联系人:根据用户输入信息,删除通讯录中对应的联系人。

(4)修改联系人:先输入对应联系人的信息,然后根据用户输入修改通讯录中的联系人信息。

(5)查找联系人:根据用户输入信息,查找通讯录中对应的联系人。

(6)清空联系人:清空通讯录中所有联系人的信息。

2.设计实现

根据上述需求,我们可以将通讯录设计成一个联系人类,该类具有姓名、性别、年龄、联系电话等属性。其提供的基本接口方法有增加、删除、修改、查询等。

具体实现时,我们可以使用数组存储联系人的信息,每次添加联系人时,将其添加到数组尾部,并更新联系人数量。删除联系人时,根据用户输入的姓名将对应的联系人信息删除,然后将后面的元素往前移动并更新联系人数量。修改联系人时,先根据用户输入的姓名查找联系人信息,然后根据用户输入的修改信息更新对应的联系人。查询联系人时,根据用户输入的姓名查找对应的联系人并打印其信息。

3.代码实现

下面是简要的代码实现:

class Person

public:

  string name;

  int age;

  string sex;

  string phone;

;

class AddressBook {

public:

  Person m_persons[MAX_SIZE];

  int m_size;

  void addPerson() {

    if(m_size == MAX_SIZE) 无法添加" << endl;

      return;

    Person person;

    cout << "请输入联系人姓名:" << endl;

    cin >> person.name;

    cout << "请输入联系人年龄:" << endl;

    cin >> person.age;

    cout << "请输入联系人性别:" << endl;

    cin >> person.sex;

    cout << "请输入联系人电话号码:" << endl;

    cin >> person.phone;

    m_persons[m_size] = person;

    m_size++;

    cout << "联系人添加成功!" << endl;

  }

  void showPerson() {

    if(m_size == 0)

      cout << "通讯录为空!" << endl;

      return;

    for(int i = 0; i < m_size; i++) {

      cout << "姓名:" << m_persons[i].name << " 年龄:" << m_persons[i].age

        << " 性别:" << m_persons[i].sex << " 电话:" << m_persons[i].phone << endl;

    }

  }

  void deletePerson() {

    if(m_size == 0)

      cout << "通讯录为空!" << endl;

      return;

    string name;

    cout << "请输入要删除的联系人姓名:" << endl;

    cin >> name;

    for(int i = 0; i < m_size; i++) {

      if(m_persons[i].name == name) {

        for(int j = i; j < m_size - 1; j++) {

          m_persons[j] = m_persons[j + 1];

        }

        m_size--;

        cout << "删除成功!" << endl;

        return;

      }

    }

    cout << "未找到对应联系人!" << endl;

  }

  void modifyPerson() {

    if(m_size == 0)

      cout << "通讯录为空!" << endl;

      return;

    string name;

    cout << "请输入要修改的联系人姓名:" << endl;

    cin >> name;

    for(int i = 0; i < m_size; i++) {

      if(m_persons[i].name == name) {

        Person person;

        cout << "请输入修改后的联系人姓名:" << endl;

        cin >> person.name;

        cout << "请输入修改后的联系人年龄:" << endl;

        cin >> person.age;

        cout << "请输入修改后的联系人性别:" << endl;

        cin >> person.sex;

        cout << "请输入修改后的联系人电话号码:" << endl;

        cin >> person.phone;

        m_persons[i] = person;

        cout << "修改成功!" << endl;

        return;

      }

    }

    cout << "未找到对应联系人!" << endl;

  }

  void searchPerson() {

    if(m_size == 0)

      cout << "通讯录为空!" << endl;

      return;

    string name;

    cout << "请输入要查找的联系人姓名:" << endl;

    cin >> name;

    for(int i = 0; i < m_size; i++) {

      if(m_persons[i].name == name) {

        cout << "姓名:" << m_persons[i].name << " 年龄:" << m_persons[i].age

           << " 性别:" << m_persons[i].sex << " 电话:" << m_persons[i].phone << endl;

        return;

      }

    }

    cout << "未找到对应联系人!" << endl;

  }

  void clearPerson()

    m_size = 0;

    cout << "通讯录已清空!" << endl;

};

int main() {

  AddressBook addressBook;

  int select;

  while(true) {

    cout << "===================================" << endl;

    cout << "=      通讯录管理      =" << endl;

    cout << "===================================" << endl;

    cout << "=       1.添加联系人     =" << endl;

    cout << "=       2.显示联系人     =" << endl;

    cout << "=       3.删除联系人     =" << endl;

    cout << "=       4.修改联系人     =" << endl;

    cout << "=       5.查找联系人     =" << endl;

    cout << "=       6.清空联系人     =" << endl;

    cout << "=       0.退出系统      =" << endl;

    cout << "===================================" << endl;

    cin >> select;

    switch(select) {

      case 0:

        cout << "欢迎下次再来!" << endl;

        return 0;

      case 1:

        addressBook.addPerson();

        break;

      case 2:

        addressBook.showPerson();

        break;

      case 3:

        addressBook.deletePerson();

        break;

      case 4:

        addressBook.modifyPerson();

        break;

      case 5:

        addressBook.searchPerson();

        break;

      case 6:

        addressBook.clearPerson();

        break;

      default:

        cout << "输入有误,请重新输入!" << endl;

        break;

    }

  }

  return 0;

}

4.总结

本文介绍了一个使用C++编写的通讯录简单项目设计,包含增加、删除、修改、查询等基本功能。通过以上实现,我们可以更好地了解C++的基本语法和数组使用,同时,也提高了我们的编程思维和编码能力。

  
  

评论区

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