Ввести слово, найти перевод или выдать сообщение «нет в словаре» - C (СИ)
Формулировка задачи:
Подсобите)
Сформировать запись «английское слово-перевод». Вводя слово (английское или русское), найти перевод или выдать сообщение «нет в словаре». По возможности предусмотреть пополнение словаря.
С использованием комбинированного типа - «структура».
Решение задачи: «Ввести слово, найти перевод или выдать сообщение «нет в словаре»»
textual
Листинг программы
struct {
char eng[255];
char rus[255];
} dict[100];
int i;
char s[255];
for(i=0;i<100;i++) {
printf("Русское - Английское через пробел");
scanf("%s %s",&dict[i].rus,&dict[i].eng);
}
printf("Как переводится с английского? ");scanf("%s",&s);
for(i=0;i<100;i++) if(strcmp(&dict[i].eng[0],&s[0])==0) printf(dict[i].rus);
printf("Как переводится с русского? ");scanf("%s",&s);
for(i=0;i<100;i++) if(strcmp(&dict[i].rus[0],&s[0])==0) printf(dict[i].eng);
getchar();
Объяснение кода листинга программы
- Объявлена структура
dictс полямиengиrusтипаcharразмером 255 символов каждое. - Объявлена переменная
iтипаintдля подсчёта количества элементов в словаре. - Объявлена переменная
sтипаcharдля хранения слова, введенного пользователем. - В цикле
forзаполняется словарь переводами слов с английского на русский. В каждой итерации программы пользователю предлагается ввести два слова, и они сохраняются в соответствующие поля структурыdict. - После заполнения словаря программа предлагает пользователю ввести слово с английского языка для перевода на русский.
- В цикле
forпроисходит сравнение введенного слова с русским языком со словами из словаря. Если слова совпадают, то выводится перевод слова. - Затем программа предлагает пользователю ввести слово с русского языка для перевода на английский.
- В цикле
forпроисходит сравнение введенного слова с английским языком со словами из словаря. Если слова совпадают, то выводится перевод слова. - В конце программы вызывается функция
getchar(), чтобы программа не закрылась сразу после выполнения последней команды.