Форум программистов, компьютерный форум CyberForum.ru

Программа помогающая в изучении иностранных языков в С++ - C++

Восстановить пароль Регистрация
 
Искандер
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 35
30.03.2013, 13:47     Программа помогающая в изучении иностранных языков в С++ #1
Кто шарит в С++ помогите пожалуйста. Сам его только начал изучать самостоятельно, а уже дали такую задачу:

Написать программу , помогающую в изучении иностранных языков. Последовательность работы программы следующая:

1) Открывает файл, созданный1 пользователем.(Файл должен содержать два столбца слов, разделенных пробелами. В левом столбце иностранные слова, в правом-русские. Количество строк-произвольное.) 2) в произвольном порядке выводит на экран слова на русском языке, а пользователь вводит с клавиатуры соответствующие им слова на иностранном . В случае правильного ответа программа исключает слово из списка. В случае неправильного ответа- на экран выводится правильное написание слова. 3) Программа прекращает работу в том случае, когда все слова будут исключены из списка.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gazlan
2855 / 1803 / 271
Регистрация: 27.08.2010
Сообщений: 4,883
Записей в блоге: 1
30.03.2013, 18:26     Программа помогающая в изучении иностранных языков в С++ #2
Количество строк - произвольное
Будем считать его не слишком большим - так, чтобы все помещалось в памяти.

1. Считываете файл в массив структур map(eng,rus).
2. Перемешиваете массив (shuffle)
3. Последовательно просматривая массив с начала до конца, показываете правое (rus) слово из пары ... далее по тексту

Вопрос об исключении "отвеченных" слов сформулирован невнятно. Можно добавить флаг EXCLUDE, можно физически удалять элемент, но без повторного перемешивания по достижению конца списка, нужного эффекта не достичь.

Заметьте, что использование rand() для случайного выбора элемента (что неявно подразумевается в условии) неэффективно - слова будут предъявляться с неодинаковой частотой (если не отвечены правильно сразу), нужно именно перемешивание (как при тасовании колоды карт) - это гарантирует однородность.

P.S.

Списки лучше не использовать - перемешивать и перемещаться сложно, а исключение элементов ничего не даст, по сравнению с итерацией массива.

P.P.S.

Если файл так велик, что в память не помещается, в map(.,.) вместо строк храним их индексы.

[OT]
IMHO, для изучения языка, подобная программа совершенно бесполезна. Слова должны изучаться в контексте.
[/OT]
IrineK
Заблокирован
31.03.2013, 20:30     Программа помогающая в изучении иностранных языков в С++ #3
Функция для shuffle

C++
1
2
3
4
5
6
7
8
9
10
11
int *FisherYates(int n, int *num)
{   int i = n-1, j , temp;
    while(i)
    {   j = rand()%(i+1);
        temp = num[i];
        num[i] = num[j];
        num[j] = temp;
        i--;
    }
    return num;
}
В готовом виде - как-то так:
Миниатюры
Программа помогающая в изучении иностранных языков в С++  
Искандер
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 35
02.04.2013, 07:13  [ТС]     Программа помогающая в изучении иностранных языков в С++ #4
IrineK, спасибо! а у вас эта программа работает?
IrineK
Заблокирован
02.04.2013, 11:17     Программа помогающая в изучении иностранных языков в С++ #5
Вряд ли бы картинки рисовались просто так. Это - иллюстрация к готовой программе. Уже много лет приходится учить также и английскому будущих "спецов"), поэтому прога показалась милым подспорьем в наборе инструментов. Также заинтересовал shuffle в Википедии и было 2 часа свободного времени )
gazlan
2855 / 1803 / 271
Регистрация: 27.08.2010
Сообщений: 4,883
Записей в блоге: 1
02.04.2013, 16:28     Программа помогающая в изучении иностранных языков в С++ #6
Вот здесь еще, нечто сходное обсуждается: Игра: Загрузка иностранного языка в мозг
serj1985
Сообщений: n/a
14.05.2014, 22:08     Программа помогающая в изучении иностранных языков в С++ #7
доброе время суток всем.кто может помочь создать програму для изучения иностраных языков для детей-за оплату труда)
gazlan
2855 / 1803 / 271
Регистрация: 27.08.2010
Сообщений: 4,883
Записей в блоге: 1
15.05.2014, 00:57     Программа помогающая в изучении иностранных языков в С++ #8
Цитата Сообщение от serj1985 Посмотреть сообщение
програму для изучения иностраных языков
И что вы под этим понимаете?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2014, 01:50     Программа помогающая в изучении иностранных языков в С++
Еще ссылки по теме:

Помощь в изучении C++
C++ Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно
C++ Сложности в изучении С++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
IrineK
15.05.2014, 01:50     Программа помогающая в изучении иностранных языков в С++
  #9

Не по теме:

Цитата Сообщение от gazlan Посмотреть сообщение
И что вы под этим понимаете?
Непосредственную загрузку в моск

Yandex
Объявления
15.05.2014, 01:50     Программа помогающая в изучении иностранных языков в С++
Ответ Создать тему
Опции темы

Текущее время: 17:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru