21xrx.com
2024-12-23 00:07:26 Monday
登录
文章检索 我的文章 写文章
C++课程设计:通讯录管理系统
2023-06-26 09:21:41 深夜i     --     --
C++ 课程设计 通讯录 管理系统 数据库

通讯录是我们日常生活中必不可少的一个工具,可以帮助我们管理联系人信息。而在C++课程设计中,通讯录管理系统也是一个非常实用的案例。本文将介绍如何实现一个简单的通讯录管理系统。

1. 数据结构

在通讯录管理系统中,我们需要存储联系人的姓名、电话号码、电子邮件和住址等信息。因此,我们可以利用C++中的结构体来储存这些信息,如下所示:

struct Contact

  string name;

  string phone;

  string email;

  string address;

;

然后,我们可以利用vector容器来存储多个联系人的信息:

vector addressBook;

2. 添加联系人

在通讯录管理系统中,添加联系人是一个非常必要的功能。用户可以通过输入姓名、电话号码、电子邮件和住址等信息,来添加新的联系人到通讯录中。下面是实现添加联系人功能的代码:

void addContact(){

  Contact newContact;

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

  cin >> newContact.name;

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

  cin >> newContact.phone;

  cout << "请输入联系人电子邮件:" << endl;

  cin >> newContact.email;

  cout << "请输入联系人住址:" << endl;

  cin >> newContact.address;

  addressBook.push_back(newContact);

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

}

3. 显示所有联系人

用户可以通过查看所有联系人来管理他们的通讯录。下面是实现显示所有联系人功能的代码:

void showAllContacts(){

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

    cout << "姓名:" << addressBook[i].name << endl;

    cout << "电话:" << addressBook[i].phone << endl;

    cout << "邮件:" << addressBook[i].email << endl;

    cout << "住址:" << addressBook[i].address << endl;

    cout << endl;

  }

}

4. 查找联系人

用户也可以通过输入联系人的姓名来查找特定联系人的信息。下面是实现查找联系人功能的代码:

void searchContact(){

  string name;

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

  cin >> name;

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

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

      cout << "姓名:" << addressBook[i].name << endl;

      cout << "电话:" << addressBook[i].phone << endl;

      cout << "邮件:" << addressBook[i].email << endl;

      cout << "住址:" << addressBook[i].address << endl;

      return;

    }

  }

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

}

5. 删除联系人

用户可以通过输入联系人的姓名来删除特定联系人的信息。下面是实现删除联系人功能的代码:

void deleteContact(){

  string name;

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

  cin >> name;

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

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

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

      cout << "联系人删除成功!" << endl;

      return;

    }

  }

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

}

6. 修改联系人

用户还可以通过输入联系人的姓名来修改特定联系人的信息。下面是实现修改联系人功能的代码:

void editContact(){

  string name;

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

  cin >> name;

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

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

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

      cin >> addressBook[i].phone;

      cout << "请输入联系人电子邮件:" << endl;

      cin >> addressBook[i].email;

      cout << "请输入联系人住址:" << endl;

      cin >> addressBook[i].address;

      cout << "联系人修改成功!" << endl;

      return;

    }

  }

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

}

7. 完整代码

最后,我们将所有功能整合到一起,形成完整的通讯录管理系统。下面是完整代码:

#include

#include

#include

using namespace std;

struct Contact

  string name;

  string phone;

  string email;

  string address;

;

vector addressBook;

void addContact(){

  Contact newContact;

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

  cin >> newContact.name;

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

  cin >> newContact.phone;

  cout << "请输入联系人电子邮件:" << endl;

  cin >> newContact.email;

  cout << "请输入联系人住址:" << endl;

  cin >> newContact.address;

  addressBook.push_back(newContact);

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

}

void showAllContacts(){

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

    cout << "姓名:" << addressBook[i].name << endl;

    cout << "电话:" << addressBook[i].phone << endl;

    cout << "邮件:" << addressBook[i].email << endl;

    cout << "住址:" << addressBook[i].address << endl;

    cout << endl;

  }

}

void searchContact(){

  string name;

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

  cin >> name;

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

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

      cout << "姓名:" << addressBook[i].name << endl;

      cout << "电话:" << addressBook[i].phone << endl;

      cout << "邮件:" << addressBook[i].email << endl;

      cout << "住址:" << addressBook[i].address << endl;

      return;

    }

  }

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

}

void deleteContact(){

  string name;

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

  cin >> name;

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

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

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

      cout << "联系人删除成功!" << endl;

      return;

    }

  }

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

}

void editContact(){

  string name;

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

  cin >> name;

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

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

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

      cin >> addressBook[i].phone;

      cout << "请输入联系人电子邮件:" << endl;

      cin >> addressBook[i].email;

      cout << "请输入联系人住址:" << endl;

      cin >> addressBook[i].address;

      cout << "联系人修改成功!" << endl;

      return;

    }

  }

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

}

int main(){

  int choice;

  while(true){

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

    cout << "欢迎使用通讯录管理系统" << endl;

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

    cout << "2. 查看所有联系人" << endl;

    cout << "3. 查找联系人" << endl;

    cout << "4. 删除联系人" << endl;

    cout << "5. 修改联系人" << endl;

    cout << "0. 退出程序" << endl;

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

    cout << "请输入您的选择:" << endl;

    cin >> choice;

    switch(choice){

      case 1:

        addContact();

        break;

      case 2:

        showAllContacts();

        break;

      case 3:

        searchContact();

        break;

      case 4:

        deleteContact();

        break;

      case 5:

        editContact();

        break;

      case 0:

        cout << "程序已退出,欢迎下次使用!" << endl;

        return 0;

      default:

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

        break;

    }

  }

  return 0;

}

总结

本文介绍了如何利用C++实现一个简单的通讯录管理系统,包括添加联系人、显示所有联系人、查找联系人、删除联系人和修改联系人等功能。通过本文的学习,读者可以掌握C++中结构体、vector容器和switch语句等基础知识,了解如何利用C++实现实用的应用程序。

  
  

评论区

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