C программа для создания словаря языка - PullRequest
0 голосов
/ 02 ноября 2019

Задача: прочитать текст из файла (слово за словом) и вывести на консоль переведенный текст.

Я пытаюсь создать своего рода языковой словарь на CДля неизвестных слов, которых нет в моем словаре, мне нужно вывести " *** ".

Мне нужно использовать около 100 слов для перевода, но я сделал прототип для 3 слов, чтобы увидеть, как он работает. Пока у меня есть частично работающая программа, но она выводит " *** " на каждой итерации. Я знаю, что, вероятно, допустил ошибку при сравнении buf (наших слов) со словарем символов, но не могу его найти.

Если есть более простой способ сделать этот словарь, пожалуйста, дайте мне знать. Или, может быть, кто-нибудь может дать мне сценарий подобного примера?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int getsize(char *a) {
    int k=0;
    while (a[k]) k++;
    return k;
}
int compare(char *buf, char *dictionary)
{
    int sz1 = getsize(buf);
    int sz2 = getsize(dictionary);
    if (sz1 != sz2) return 0;
    for (int i=0; i<sz1; i++) {
        if (buf[i] != dictionary[i]) return 0;
    }
    return 1;
}
int main()
{
    int i;
    char ch;
    char dictionary[20][2][20]={
         "baum","tree",
        "schule","school",
        "essen","to eat"
    };
     FILE * fPtr;
    fPtr = fopen("dex.txt", "r");


    if(fPtr == NULL)
    {
        printf("Unable to open file.\n");
        exit(EXIT_FAILURE);
    }
    printf("File opened successfully.\n\n");

   char buf[10];
   while(fscanf(fPtr, "%s", buf) != EOF)
   {
       for(i=0;i<;i++){
       if(compare(buf,dictionary[i])){
            printf("%s\n", dictionary[i][1]);
        }
       else
        printf("***\n");
       }
   }

return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...