Вже кілька годин не можу доробити задачу. Підкажіть, будь ласка, де помилка. Тільки не треба казати мені, що це завдання можна зробити інакше і писати новий код, підкажіть де помилка в моєму кривому коді.
Завдання:
Кожний рядок файлу містить два слова: перше слово – англійською мовою, друге – переклад першого слова українською мовою. Написати програму для перекладу слова з англійської мови із використанням такого файлу.
Код:
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstdio>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
char s[256], s1, s2, buf[256]={0};
int i;
char *src;
ifstream f;
printf("Input world in English: "); scanf("%s", &s1);
f.open("fruit.txt");
while (!f.eof())
{
f.getline(s, 256);
i=0;
s2=*"";
if (s[i]!=' ')
{
s2=s2+s[i];
i++;
}
src=s;
if (s1==s2)
{
memcpy(buf, &src[i], strlen(&src[i]));
printf("Translating: %s\n", buf);
}
}
f.close();
system("PAUSE");
return EXIT_SUCCESS;
}
вміст файлу fruit.txt:
apple yabluko
pear grusha
orange apelsyn
banana banan
pineapple ananas
coco kokos
plum slyva
cherry vyshnya
strawberry polunytsya
merry chereshnya
результат виконання програми: