Замечания по Dictionary
Opened this issue · 4 comments
alexey-malov commented
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2143: syntax error: missing ';' before '-'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2059: syntax error: '-'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2059: syntax error: 'public'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2143: syntax error: missing ';' before '{'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2447: '{': missing function header (old-style formal list?)
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2182: 'should_add_new_pair_to_non': illegal use of type 'void'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2086: 'int FillDictionaryFromInputStream_function::should_add_new_pair_to_non': redefinition
2> c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): note: see declaration of 'FillDictionaryFromInputStream_function::should_add_new_pair_to_non'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C3927: '->': trailing return type is not allowed after a non-function declarator
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C3484: syntax error: expected '->' before the return type
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C3613: missing return type after '->' ('int' assumed)
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2373: 'boost::unit_test::`anonymous-namespace'::unit_test_log': redefinition; different type modifiers
2> c:\sdk\boost_1_60_0\boost\test\unit_test_log.hpp(130): note: see declaration of 'boost::unit_test::`anonymous-namespace'::unit_test_log'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2888: 'boost::unit_test::unit_test_log_t &boost::unit_test::`anonymous-namespace'::unit_test_log': symbol cannot be defined within namespace 'FillDictionaryFromInputStream_function'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2146: syntax error: missing ';' before identifier 'set_checkpoint'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2146: syntax error: missing ';' before identifier 'test_method'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2512: 'boost::unit_test::ut_detail::auto_test_unit_registrar': no appropriate default constructor available
2> c:\sdk\boost_1_60_0\boost\test\tree\auto_registration.hpp(38): note: see declaration of 'boost::unit_test::ut_detail::auto_test_unit_registrar'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2371: 'should_add_new_pair_to_non': redefinition; different basic types
2> c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): note: see declaration of 'should_add_new_pair_to_non'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(126): error C2653: 'empty_dictionary': is not a class or namespace name
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(127): error C2143: syntax error: missing ';' before '{'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(127): error C2447: '{': missing function header (old-style formal list?)
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(138): error C2059: syntax error: '}'
2>c:\teaching\2016\new\stepanenko\oop\2\minidictionarytests\minidictionarytests.cpp(138): error C2143: syntax error: missing ';' before '}'
- программа не компилируется
oMystique commented
- Не стоит использовать глобальные переменные
bool wasChangedDictionary = false;
Ну а если вдруг, резко, в них имеется надобность, то добавляйте префикс g_
- Неудачное имя для переменной
tCurrent
for (auto tCurrent : translations)
- Следует избавиться от
if
if (answer == "Y" || answer == "y")
{
return true;
}
return false;
string ToLower(const string &line)
{
string result;
for (auto symbol : line)
{
if (symbol >= 'А' && symbol <= 'Я')
result += symbol + 32;
else
result += tolower(symbol);
}
return result;
}
- Лучше использовать конструкцию с
const auto &
- копия объекта нам тут не нужна
for (auto tCurrent : dictionary)
oMystique commented
- Переменные, модификация которых не планируется в дальнейшем, лучше объявлять константными
string lWord = ToLower(word);
oMystique commented
- Используем
lowerCamelCase
multimap<string, string> EmptyDictionary;
multimap<string, string> Dictionary =
alexey-malov commented
Введите слово для перевода, ":" для ввода нового(варианта) перевода
или "..." для завершения работы со словарем
>ёлка
Перевод не найден.
Введите cлово или пустую строку для отмены
слово: ёлка
перевод: yolka
Новая пара в словаре обязательно должна содержать одно русское
и одно английское слово, которые состоят только из букв своего алфавита
>ёлка
Перевод не найден.
Введите cлово или пустую строку для отмены
слово: ёлка
перевод:
>yolka
Перевод не найден.
Введите cлово или пустую строку для отмены
слово: yolka
перевод: ёлка
Новая пара в словаре обязательно должна содержать одно русское
и одно английское слово, которые состоят только из букв своего алфавита
- программа не работает. пока баллов не ставлю