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; };
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; }
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; }
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 "该单词不存在于词典中"; } }
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; }
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!