С++, консольный толковый словарь, поиск слова и его значения по букве

У меня есть текстовый файл со словами и их определениями, так же в файле присутствует точка с запятой, разделяющяя слово и значение и разное количество пробелов между ними. Каждое слово с определением в новой строке. Это выглядит так:

apple; edible fruit produced by an apple tree

dog;common animal with four legs, especially kept by people as a pet or to hunt or guard

light; the natural agent that stimulates sight and makes things visible

Мне нужно задать тип, как я хочу искать слово: по первой букве, по любой букве из слова или по последней букве. Затем поместите это слово на экран с его определением в формате типа «слово - определение» (если есть другие слова, начинающиеся с той же буквы, поместить таковые все) У меня есть код, но я не знаю как правильно читать из файла, а затем искать по буквам. Спасибо за вашу помощь.

#include <iostream>
#include <string>
#include <fstream> 

using namespace std;

int main(){
    ifstream input;
    input.open("dictionary.txt"); 

    if(!input.is_open()){
        cout << "Error" << endl;
    } 

    else{
        char ch;
        string str; 

        for (int i = 0; i < 3; i++){
                cout << "Reading file";
                cout << " " << i << endl;
                sleep(0);
                system("cls");
        } 

        cout << "File was open" << endl;
        sleep(0);
        cout.flush();
        system("cls"); 

        int choise;
        
        menu:
        cout << "1. Starting\n2. Containing\n3. Ending\n4. Stop\nInput your choise: ";
        cin >> choise;
        system("cls"); 

        switch(choise){
            case 1:{   // searching by 1 letter
                cout << "Input letter: ";
                goto menu;
            } 

            case 2:{  // searching by any letter in word
                goto menu;
            } 

            case 3:{  // searching by last letter 
                 goto menu;
            } 

            case 4:{
                system("cls");
                cout << "Closing file" << endl;
                sleep(2);
                break;
            } 

            default:{
                cout << "Input 1-4!" << endl;
                goto menu;
            }
        }
    } 

    input.close();
}


Ответы (0 шт):