如何通过C++编写一个简单的地址簿程序?
引言:
在现代社会中,地址簿是一种常见的工具,用于存储和管理个人联系人的基本信息,如姓名、电话号码和地址等。在本文中,我们将详细介绍如何使用C++编写一个简单的地址簿程序。
正文:
步骤1:定义地址簿条目的结构
首先,我们需要定义一个结构来表示地址簿中的每个条目。这个结构可以包含姓名、电话号码和地址等字段。例如,我们可以使用以下代码定义一个名为“AddressBookEntry”的结构:
struct AddressBookEntry {
std::string name;
std::string phoneNumber;
std::string address;
};
步骤2:实现地址簿程序的基本功能
接下来,我们需要实现一些基本功能来操作地址簿,包括添加新条目、查找条目、更新条目和删除条目等功能。我们可以使用C++的容器类来存储地址簿条目,比如vector或list。以下是一个简单的实现示例:
#include <iostream>
#include <vector>
std::vector<AddressBookEntry> addressBook; // 存储地址簿条目的全局变量
// 添加新条目
void addEntry() {
AddressBookEntry entry;
std::cout << "请输入姓名:";
std::getline(std::cin, entry.name);
std::cout << "请输入电话号码:";
std::getline(std::cin, entry.phoneNumber);
std::cout << "请输入地址:";
std::getline(std::cin, entry.address);
addressBook.push_back(entry);
std::cout << "新增条目成功!
";
}
// 查找条目
void findEntry() {
std::string name;
std::cout << "请输入要查找的姓名:";
std::getline(std::cin, name);
for (const auto& entry : addressBook) {
if (entry.name == name) {
std::cout << "姓名:" << entry.name << "
";
std::cout << "电话号码:" << entry.phoneNumber << "
";
std::cout << "地址:" << entry.address << "
";
return;
}
}
std::cout << "未找到匹配的条目。
";
}
// 更新条目
void updateEntry() {
std::string name;
std::cout << "请输入要更新的姓名:";
std::getline(std::cin, name);
for (auto& entry : addressBook) {
if (entry.name == name) {
std::cout << "请输入新的电话号码:";
std::getline(std::cin, entry.phoneNumber);
std::cout << "请输入新的地址:";
std::getline(std::cin, entry.address);
std::cout << "更新条目成功!
";
return;
}
}
std::cout << "未找到匹配的条目。
";
}
// 删除条目
void deleteEntry() {
std::string name;
std::cout << "请输入要删除的姓名:";
std::getline(std::cin, name);
for (auto it = addressBook.begin(); it != addressBook.end(); ++it) {
if (it->name == name) {
addressBook.erase(it);
std::cout << "删除条目成功!
";
return;
}
}
std::cout << "未找到匹配的条目。
";
}
// 显示地址簿
void displayAddressBook() {
if (addressBook.empty()) {
std::cout << "地址簿为空。
";
return;
}
for (const auto& entry : addressBook) {
std::cout << "姓名:" << entry.name << "
";
std::cout << "电话号码:" << entry.phoneNumber << "
";
std::cout << "地址:" << entry.address << "
";
}
}
// 主菜单
void mainMenu() {
std::cout << "1. 添加新条目
";
std::cout << "2. 查找条目
";
std::cout << "3. 更新条目
";
std::cout << "4. 删除条目
";
std::cout << "5. 显示地址簿
";
std::cout << "0. 退出程序
";
std::cout << "请选择操作:";
}
int main() {
int choice;
do {
mainMenu();
std::cin >> choice;
std::cin.ignore(); // 忽略输入缓冲区中的换行符
std::cout << "
";
switch (choice) {
case 1:
addEntry();
break;
case 2:
findEntry();
break;
case 3:
updateEntry();
break;
case 4:
deleteEntry();
break;
case 5:
displayAddressBook();
break;
case 0:
std::cout << "退出程序。
";
break;
default:
std::cout << "无效的选择。
";
break;
}
std::cout << "
";
} while (choice != 0);
return 0;
}
结论:
通过以上步骤,我们已经成功地用C++编写了一个简单的地址簿程序。这个程序可以添加新的地址簿条目,查找、更新和删除现有条目,并能以易读的方式显示整个地址簿。你可以根据需求进行进一步的扩展和改进。
希望本文能够帮助你入门C++编程,并成功开发一个实用的地址簿程序!