21xrx.com
2024-11-05 16:23:39 Tuesday
登录
文章检索 我的文章 写文章
C++通讯录管理系统源代码
2023-06-27 16:47:05 深夜i     --     --
C++ 通讯录 管理系统 源代码 编程实现

C++通讯录管理系统是一款非常实用的软件,它可以帮助用户轻松管理自己的联系人信息。如果你想学习如何开发这样一款软件,可以参考下面的源代码。

以下是C++通讯录管理系统的代码:


#include<iostream>

#include<fstream>

#include<cstring>

#include<iomanip>

using namespace std;

// 联系人结构体

struct Person

  string name;  // 姓名

  string sex;   // 性别

  int age;    // 年龄

  string phone;  // 电话

  string address; // 地址

;

// 获取联系人信息

void getPerson(Person& person)

  cout << "姓名:";

  cin >> person.name;

  cout << "性别:";

  cin >> person.sex;

  cout << "年龄:";

  cin >> person.age;

  cout << "电话:";

  cin >> person.phone;

  cout << "地址:";

  cin >> person.address;

// 显示联系人信息

void showPerson(Person& person)

{

  cout << setw(10) << person.name << setw(5) << person.sex << setw(5)

     << person.age << setw(15) << person.phone << setw(20)

     << person.address << endl;

}

// 添加联系人

void addPerson()

{

  Person person;

  getPerson(person);

  // 将联系人信息写入文件中

  ofstream out("person.txt", ios::app);

  out << person.name << " " << person.sex << " " << person.age << " "

    << person.phone << " " << person.address << endl;

  out.close();

}

// 删除联系人

void deletePerson()

{

  string name;

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

  cin >> name;

  // 从文件中删除联系人信息

  ifstream in("person.txt");

  ofstream out("temp.txt");

  Person person;

  bool found = false;

  while (in >> person.name >> person.sex >> person.age

      >> person.phone >> person.address)

  {

    if (person.name != name)

      out << person.name << " " << person.sex << " " << person.age

        << " " << person.phone << " " << person.address << endl;

    else

      found = true;

  }

  in.close();

  out.close();

  if (found)

    cout << "联系人已删除!" << endl;

  else

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

  // 将temp.txt重命名为person.txt

  remove("person.txt");

  rename("temp.txt", "person.txt");

}

// 查找联系人

void searchPerson()

{

  string name;

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

  cin >> name;

  // 从文件中查找联系人信息

  ifstream in("person.txt");

  Person person;

  bool found = false;

  while (in >> person.name >> person.sex >> person.age

      >> person.phone >> person.address)

  {

    if (person.name == name)

    {

      showPerson(person);

      found = true;

      break;

    }

  }

  in.close();

  if (!found)

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

}

// 显示所有联系人

void showAllPersons()

{

  ifstream in("person.txt");

  Person person;

  while (in >> person.name >> person.sex >> person.age

      >> person.phone >> person.address)

  {

    showPerson(person);

  }

  in.close();

}

// 菜单

void menu()

  cout << "---------------------" << endl;

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

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

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

  cout << " 4.显示所有联系人" << endl;

  cout << " 5.退出" << endl;

  cout << "---------------------" << endl;

int main()

{

  while (true)

  {

    menu();

    int choice;

    cout << "请进行您的选择:";

    cin >> choice;

    switch (choice)

    {

    case 1:

      addPerson();

      break;

    case 2:

      deletePerson();

      break;

    case 3:

      searchPerson();

      break;

    case 4:

      showAllPersons();

      break;

    case 5:

      cout << "欢迎下次再使用!" << endl;

      return 0;

    default:

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

      break;

    }

  }

  return 0;

}

以上是C++通讯录管理系统的源代码,希望对你有所帮助。如果你想使用这款软件,可以将源代码保存为.cpp文件,然后使用C++编译器编译运行即可。

  
  
下一篇: C++ 位类型详解

评论区

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