C++ で簡単なアドレス帳プログラムを作成するにはどうすればよいですか?

PHPz
リリース: 2023-11-02 17:05:06
オリジナル
1304 人が閲覧しました

C++ で簡単なアドレス帳プログラムを作成するにはどうすればよいですか?

C で簡単なアドレス帳プログラムを作成するにはどうすればよいですか?

はじめに:

現代社会では、アドレス帳は、名前、電話番号、住所などの個人の連絡先の基本情報を保存および管理するために使用される一般的なツールです。この記事では、C を使用した簡単なアドレス帳プログラムの作成方法を詳しく説明します。

テキスト:

ステップ 1: アドレス帳エントリの構造を定義する

まず、アドレス帳の各エントリを表す構造を定義する必要があります。この構造には、名前、電話番号、住所などのフィールドを含めることができます。たとえば、次のコードを使用して、「AddressBookEntry」という構造を定義できます。

struct AddressBookEntry {
    std::string name;
    std::string phoneNumber;
    std::string address;
};
ログイン後にコピー

ステップ 2: アドレス帳プログラムの基本機能を実装する

次に、いくつかの機能を実装する必要があります。新しいエントリの追加、エントリの検索、エントリの更新、エントリの削除など、アドレス帳を操作する基本機能。 C コンテナ クラスを使用して、ベクトルやリストなどのアドレス帳エントリを保存できます。以下は簡単な実装例です:

#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 プログラミングを開始し、実用的なアドレス帳プログラムの開発に成功するのに役立つことを願っています。

以上がC++ で簡単なアドレス帳プログラムを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!