如何通過C++編寫一個簡單的地址簿程序?
引言:
在現(xiàn)代社會中,地址簿是一種常見的工具,用于存儲和管理個人聯(lián)系人的基本信息,如姓名、電話號碼和地址等。在本文中,我們將詳細介紹如何使用C++編寫一個簡單的地址簿程序。
正文:
步驟1:定義地址簿條目的結(jié)構(gòu)
首先,我們需要定義一個結(jié)構(gòu)來表示地址簿中的每個條目。這個結(jié)構(gòu)可以包含姓名、電話號碼和地址等字段。例如,我們可以使用以下代碼定義一個名為“AddressBookEntry”的結(jié)構(gòu):
struct AddressBookEntry {
std::string name;
std::string phoneNumber;
std::string address;
};
登錄后復制
步驟2:實現(xiàn)地址簿程序的基本功能
接下來,我們需要實現(xiàn)一些基本功能來操作地址簿,包括添加新條目、查找條目、更新條目和刪除條目等功能。我們可以使用C++的容器類來存儲地址簿條目,比如vector或list。以下是一個簡單的實現(xiàn)示例:
#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(); // 忽略輸入緩沖區(qū)中的換行符
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;
}
登錄后復制
結(jié)論:
通過以上步驟,我們已經(jīng)成功地用C++編寫了一個簡單的地址簿程序。這個程序可以添加新的地址簿條目,查找、更新和刪除現(xiàn)有條目,并能以易讀的方式顯示整個地址簿。你可以根據(jù)需求進行進一步的擴展和改進。
希望本文能夠幫助你入門C++編程,并成功開發(fā)一個實用的地址簿程序!






