Maison > développement back-end > C++ > Comment écrire un programme de dictionnaire électronique simple en utilisant C++ ?

Comment écrire un programme de dictionnaire électronique simple en utilisant C++ ?

王林
Libérer: 2023-11-02 13:37:43
original
1509 Les gens l'ont consulté

Comment écrire un programme de dictionnaire électronique simple en utilisant C++ ?

Comment écrire un programme de dictionnaire électronique simple en utilisant C++ ?

Avec le développement de la technologie, les dictionnaires électroniques sont devenus un outil courant dans nos vies. Dans cet article, je vais vous présenter comment utiliser C++ pour écrire un programme de dictionnaire électronique simple qui vous permet de rechercher rapidement la signification des mots. Ce programme utilisera une structure de données de table de hachage pour stocker la correspondance entre les mots et leurs significations, et fournira une interface interactive conviviale.

Tout d’abord, comprenons la table de hachage. Une table de hachage est une structure de données qui stocke des paires clé-valeur dans un tableau, où les clés sont mappées à des positions spécifiques dans le tableau via une fonction de hachage. Dans ce programme de dictionnaire électronique, nous utiliserons une table de hachage pour stocker chaque mot et sa définition correspondante.

Ensuite, nous devons préparer un tableau pour stocker la table de hachage. Nous pouvons choisir un tableau de longueur fixe ou utiliser le vecteur en C++ STL pour implémenter un tableau dynamique. Définissez une structure pour stocker chaque mot et sa signification correspondante, par exemple :

struct Word {
    string word;
    string definition;
};
Copier après la connexion

Ensuite, nous pouvons utiliser une fonction de hachage pour mapper chaque mot à une position dans le tableau. Une simple fonction de hachage peut consister à ajouter le code ASCII du mot et à prendre l'opération modulo, par exemple :

int hashFunc(string word, int arraySize) {
    int sum = 0;
    for (char c : word) {
        sum += (int)c;
    }
    return sum % arraySize;
}
Copier après la connexion

Maintenant, nous pouvons implémenter une fonction d'insertion simple pour insérer le mot et la définition dans la table de hachage, comme indiqué ci-dessous :

void insertWord(Word* dictionary, int arraySize, string word, string definition) {
    int index = hashFunc(word, arraySize);
    dictionary[index].word = word;
    dictionary[index].definition = definition;
}
Copier après la connexion

Ensuite, nous devons implémenter une fonction de requête qui permet aux utilisateurs d'obtenir la définition d'un mot. Tout d’abord, nous utiliserons une fonction de hachage pour trouver la position du mot dans la table de hachage, puis renverrons la définition de cette position. Si la position est vide, cela signifie que le mot n'existe pas dans la table de hachage.

string searchWord(Word* dictionary, int arraySize, string word) {
    int index = hashFunc(word, arraySize);
    if (dictionary[index].word == word) {
        return dictionary[index].definition;
    } else {
        return "该单词不存在于词典中";
    }
}
Copier après la connexion

Enfin, nous avons besoin d'une interface d'interaction utilisateur afin que les utilisateurs puissent saisir le mot qu'ils souhaitent interroger et obtenir sa définition. Nous pouvons utiliser une simple boucle infinie pour permettre à l'utilisateur d'interroger continuellement des mots jusqu'à ce qu'il entre « exit » pour quitter le programme, comme indiqué ci-dessous :

int main() {
    int arraySize = 100; // 数组大小
    Word* dictionary = new Word[arraySize]; // 创建哈希表

    string word;
    while (true) {
        cout << "请输入要查询的单词(输入"exit"退出程序):";
        cin >> word;

        if (word == "exit") {
            break;
        }
        
        string definition = searchWord(dictionary, arraySize, word);
        cout << word << "的定义是:" << definition << endl;
    }
    delete[] dictionary;
    
    return 0;
}
Copier après la connexion

Grâce aux étapes ci-dessus, nous avons réussi à écrire un simple programme de dictionnaire électronique. Les utilisateurs peuvent saisir le mot qu’ils souhaitent interroger et obtenir sa définition. Ce programme peut être utilisé comme version de base et vous pouvez ajouter plus de fonctionnalités selon vos besoins, comme la possibilité d'éditer des dictionnaires, d'ajouter de nouveaux mots, etc.

Dans l’ensemble, écrire un simple programme de dictionnaire électronique en C++ est un projet intéressant et stimulant. Dans cet article, nous introduisons l'utilisation de structures de données de tables de hachage pour stocker la correspondance entre les mots et leurs définitions, et fournissons une interface interactive conviviale. J'espère que cet article vous sera utile pour apprendre la programmation C++ et implémenter des programmes de dictionnaire électronique !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal