如何通過(guò)C++編寫一個(gè)簡(jiǎn)單的地址簿程序?
引言:
在現(xiàn)代社會(huì)中,地址簿是一種常見的工具,用于存儲(chǔ)和管理個(gè)人聯(lián)系人的基本信息,如姓名、電話號(hào)碼和地址等。在本文中,我們將詳細(xì)介紹如何使用C++編寫一個(gè)簡(jiǎn)單的地址簿程序。
正文:
步驟1:定義地址簿條目的結(jié)構(gòu)
首先,我們需要定義一個(gè)結(jié)構(gòu)來(lái)表示地址簿中的每個(gè)條目。這個(gè)結(jié)構(gòu)可以包含姓名、電話號(hào)碼和地址等字段。例如,我們可以使用以下代碼定義一個(gè)名為“AddressBookEntry”的結(jié)構(gòu):
struct AddressBookEntry { std::string name; std::string phoneNumber; std::string address; };
登錄后復(fù)制
步驟2:實(shí)現(xiàn)地址簿程序的基本功能
接下來(lái),我們需要實(shí)現(xiàn)一些基本功能來(lái)操作地址簿,包括添加新條目、查找條目、更新條目和刪除條目等功能。我們可以使用C++的容器類來(lái)存儲(chǔ)地址簿條目,比如vector或list。以下是一個(gè)簡(jiǎn)單的實(shí)現(xiàn)示例:
#include <iostream> #include <vector> std::vector<AddressBookEntry> addressBook; // 存儲(chǔ)地址簿條目的全局變量 // 添加新條目 void addEntry() { AddressBookEntry entry; std::cout << "請(qǐng)輸入姓名:"; std::getline(std::cin, entry.name); std::cout << "請(qǐng)輸入電話號(hào)碼:"; std::getline(std::cin, entry.phoneNumber); std::cout << "請(qǐng)輸入地址:"; std::getline(std::cin, entry.address); addressBook.push_back(entry); std::cout << "新增條目成功! "; } // 查找條目 void findEntry() { std::string name; std::cout << "請(qǐng)輸入要查找的姓名:"; std::getline(std::cin, name); for (const auto& entry : addressBook) { if (entry.name == name) { std::cout << "姓名:" << entry.name << " "; std::cout << "電話號(hào)碼:" << entry.phoneNumber << " "; std::cout << "地址:" << entry.address << " "; return; } } std::cout << "未找到匹配的條目。 "; } // 更新條目 void updateEntry() { std::string name; std::cout << "請(qǐng)輸入要更新的姓名:"; std::getline(std::cin, name); for (auto& entry : addressBook) { if (entry.name == name) { std::cout << "請(qǐng)輸入新的電話號(hào)碼:"; std::getline(std::cin, entry.phoneNumber); std::cout << "請(qǐng)輸入新的地址:"; std::getline(std::cin, entry.address); std::cout << "更新條目成功! "; return; } } std::cout << "未找到匹配的條目。 "; } // 刪除條目 void deleteEntry() { std::string name; std::cout << "請(qǐng)輸入要?jiǎng)h除的姓名:"; 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 << "電話號(hào)碼:" << 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 << "請(qǐng)選擇操作:"; } 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 << "無(wú)效的選擇。 "; break; } std::cout << " "; } while (choice != 0); return 0; }
登錄后復(fù)制
結(jié)論:
通過(guò)以上步驟,我們已經(jīng)成功地用C++編寫了一個(gè)簡(jiǎn)單的地址簿程序。這個(gè)程序可以添加新的地址簿條目,查找、更新和刪除現(xiàn)有條目,并能以易讀的方式顯示整個(gè)地址簿。你可以根據(jù)需求進(jìn)行進(jìn)一步的擴(kuò)展和改進(jìn)。
希望本文能夠幫助你入門C++編程,并成功開發(fā)一個(gè)實(shí)用的地址簿程序!