21xrx.com
2025-04-08 20:12:54 Tuesday
文章检索 我的文章 写文章
C++通讯录管理系统源代码
2023-06-27 16:47:05 深夜i     21     0
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++ 位类型详解

评论区

请求出错了