Maison  >  Article  >  développement back-end  >  Comment écrire un programme simple de carnet d’adresses en C++ ?

Comment écrire un programme simple de carnet d’adresses en C++ ?

PHPz
PHPzoriginal
2023-11-02 17:05:061291parcourir

Comment écrire un programme simple de carnet d’adresses en C++ ?

Comment écrire un programme de carnet d'adresses simple via C++ ?

Introduction :

Dans la société moderne, le carnet d'adresses est un outil couramment utilisé pour stocker et gérer les informations de base des contacts personnels, telles que les noms, les numéros de téléphone, les adresses, etc. Dans cet article, nous détaillerons comment écrire un programme de carnet d'adresses simple en utilisant C++.

Texte :

Étape 1 : Définir la structure des entrées du carnet d'adresses

Tout d'abord, nous devons définir une structure pour représenter chaque entrée du carnet d'adresses. Cette structure peut contenir des champs tels que le nom, le numéro de téléphone et l'adresse. Par exemple, nous pouvons définir une structure appelée "AddressBookEntry" en utilisant le code suivant :

struct AddressBookEntry {
    std::string name;
    std::string phoneNumber;
    std::string address;
};

Étape 2 : Implémenter les fonctions de base du programme de carnet d'adresses

Ensuite, nous devons implémenter certaines fonctions de base pour faire fonctionner le carnet d'adresses, notamment ajouter de nouvelles entrées, rechercher des entrées, mettre à jour des entrées et supprimer des entrées et d'autres fonctions. Nous pouvons utiliser des classes de conteneurs C++ pour stocker les entrées du carnet d'adresses, telles que des vecteurs ou des listes. Ce qui suit est un exemple d'implémentation simple :

#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;
}

Conclusion :

Grâce aux étapes ci-dessus, nous avons réussi à écrire un programme de carnet d'adresses simple en C++. Ce programme peut ajouter de nouvelles entrées au carnet d'adresses, rechercher, mettre à jour et supprimer les entrées existantes et afficher l'intégralité du carnet d'adresses dans un format facile à lire. Vous pouvez l’étendre et l’améliorer davantage en fonction de vos besoins.

J'espère que cet article pourra vous aider à démarrer avec la programmation C++ et à développer avec succès un programme de carnet d'adresses pratique !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn