![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
Задача:
Определить класс "набор слов" с закрытыми компонентами: число слов и динамический массив с элементами типа string, каждый из которых представляет отдельное слово. (Слово - последовательность русских или английских букв - никаких других символов в слове не должно быть.) Ввести все методы, присущие классу ресурсоемких объектов. Предусмотреть конструктор для формирования объекта класса на основе строки (string), содержащей некоторый текст. Предусмотреть в классе перегрузку операций для ввода-вывода (<<, >>) и ,если потребуется, любые средства, необходимые для решения основной задачи. В основной программе читать по строкам текстовый файл (имя файла ввести с клавиатуры). Для каждой прочитанной строки формировать объект класса "набор слов". Анализируя создаваемые объекты, вывести объект (набор слов) с максимальным количеством слов и последний из объектов, количество слов в котором равно заданному с клавиатуры числу. |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Что-то на подобие этого ?
|
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
Ты не мог бы камменты разместить. Спасибо ))
5 ошибок: C:\Documents and Settings\Mcicool\Ðàáî÷èé ñòîë\Cpp\prog2.cpp(22) : error C2248: 'line' : cannot access private member declared in class 'Word' C:\Documents and Settings\Mcicool\Ðàáî÷èé ñòîë\Cpp\prog2.cpp(10) : see declaration of 'line' C:\Documents and Settings\Mcicool\Ðàáî÷èé ñòîë\Cpp\prog2.cpp(26) : error C2248: 'line' : cannot access private member declared in class 'Word' C:\Documents and Settings\Mcicool\Ðàáî÷èé ñòîë\Cpp\prog2.cpp(10) : see declaration of 'line' C:\Documents and Settings\Mcicool\Ðàáî÷èé ñòîë\Cpp\prog2.cpp(26) : error C2248: 'line' : cannot access private member declared in class 'Word' C:\Documents and Settings\Mcicool\Ðàáî÷èé ñòîë\Cpp\prog2.cpp(10) : see declaration of 'line' C:\Documents and Settings\Mcicool\Ðàáî÷èé ñòîë\Cpp\prog2.cpp(37) : error C2593: 'operator >>' is ambiguous C:\Documents and Settings\Mcicool\Ðàáî÷èé ñòîë\Cpp\prog2.cpp(37) : fatal error C1903: unable to recover from previous error(s); stopping compilation Error executing cl.exe. |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
А компилятор какой у вас ?
Я проверял на WS2003 и Borland C++ Builder6, Dev-C++ у меня без ошибок...
|
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
У меня Visual C++. Пишет те же ошибки.
Кстати, я вот честно не понимаю, чем компиляторы отличаются? Добавлено @ 23:21 Кстати. А зачем используется итератор? Я читал, но никак не могу понять, что это по-русски значит. |
|||
|
||||
Oleg_Ci |
|
||||||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Насочинял ещё чего-то
|
||||||
|
|||||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
Обалдеть, буду теперь сидеть разбираться. Спасибо!
|
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
Я так и не смог проверить работоспособность прораммы (
Как это все в один файл засунуть? |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Mcicool, смотри внимательней, могут-быть ошибки
![]()
|
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
14 ошибок )))
error C2143: syntax error : missing ';' before '/' c:\documents and settings\mcicool\ðàáî÷èé ñòîë\cpp\prog8\main.cpp(1) : error C2018: unknown character '0xd4' c:\documents and settings\mcicool\ðàáî÷èé ñòîë\cpp\prog8\main.cpp(1) : error C2018: unknown character '0xe0' c:\documents and settings\mcicool\ðàáî÷èé ñòîë\cpp\prog8\main.cpp(1) : error C2018: unknown character '0xe9' c:\documents and settings\mcicool\ðàáî÷èé ñòîë\cpp\prog8\main.cpp(1) : error C2018: unknown character '0xeb' c:\program files\microsoft visual studio\vc98\include\errno.h(29) : error C2143: syntax error : missing ';' before '{' c:\program files\microsoft visual studio\vc98\include\errno.h(29) : error C2447: missing function header (old-style formal list?) c:\documents and settings\mcicool\ðàáî÷èé ñòîë\cpp\prog8\main.cpp(189) : error C2374: 'i' : redefinition; multiple initialization c:\documents and settings\mcicool\ðàáî÷èé ñòîë\cpp\prog8\main.cpp(187) : see declaration of 'i' c:\documents and settings\mcicool\ðàáî÷èé ñòîë\cpp\prog8\main.cpp(203) : error C2593: 'operator <<' is ambiguous c:\documents and settings\mcicool\ðàáî÷èé ñòîë\cpp\prog8\main.cpp(205) : error C2593: 'operator >>' is ambiguous c:\documents and settings\mcicool\ðàáî÷èé ñòîë\cpp\prog8\main.cpp(207) : error C2593: 'operator <<' is ambiguous c:\documents and settings\mcicool\ðàáî÷èé ñòîë\cpp\prog8\main.cpp(209) : error C2593: 'operator <<' is ambiguous c:\documents and settings\mcicool\ðàáî÷èé ñòîë\cpp\prog8\main.cpp(224) : error C2593: 'operator >>' is ambiguous c:\documents and settings\mcicool\ðàáî÷èé ñòîë\cpp\prog8\main.cpp(226) : error C2593: 'operator <<' is ambiguous Error executing cl.exe. main.obj - 14 error(s), 0 warning(s) |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Ну тогда я тебе не помогу...
Может только подключаемые файлы изменить попробывать
|
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
А ты сам проверял? У тебя работает?
Че она вообще делает ? ![]() |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Ну конечно всё работает
![]() Вот урезал много чего, чтобы попроще было... Только теперь память для динамического массива выделяется не эффективно, при добавлении нового слова, программа снова выделяет память и копирует туда строки, и так при каждом добавлении слова, снова выделяет и копирует, и т.д... ну ведь прокоментировал немного, вроде должно понятно быть. Есть класс который содержит массив слов. Умеет добавлять слова из строк char*, string, и из себе подобных массивов. Умеет читать слова с консоли и из файла, и тудаже записывать. Удалять слова тоже умеет. Кстати работает только в DOS кодировке... т.е. с русскими буквами написанными в windows проблемы будут. ![]()
|
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
error C2593: 'operator <<' is ambiguous
error C2593: 'operator >>' is ambiguous Все 6 ошибок одинаковые, только в разных строчках, и позоду все в функции main() . Это сообщение отредактировал(а) Mcicool - 9.11.2006, 17:55 |
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
Еще вопрос такой: Зачем Вы используете виртуальный деструктор??
Что такое вообще virtual ?? |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
слово virtual убрать можно, оно для случая если наследование от этого класса будет, подробности в книге лучше почитать, я хорошо не объясню.
Кстати только-что доделал класс для себя, можеш его взять, ещё она у меня с русскими буквами теперь работает. И уменя ошибок невыдаёт MVS2003. Прога версия№ 4 :
|
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
Что такое locale loc(".866"); ??
Вообщк что нам дает библиотека <locale> ?? |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
||||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
Dev-C++ выдает такую ошибку:
prog8.cpp:2: locale: No such file or directory |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Ну токда "убери локаль", подключи библиотеку <ctype.h> или <cctype>
Только теперь с русскими буквами не будет работать. ![]() |
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
Я так сделал, только теперь 5 ошибок ))
161: implicit declaration of function `int getchar(...)' 160: implicit declaration of function `int fflush(...)' 160: for each function it appears in.) 160: (Each undeclared identifier is reported only once 160: `stdin' undeclared (first use this function) In function `int main()': |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Эту программу попробуй на своём компиляторе.
|
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
Урааа, скомпилилась! Спасибо!
Только вот что непонятно: Я ее включаю, а там на экране: ad ads gdgdgd Потом ввожу любое слово, он его копирует, и все. Что она делать вообще должна? |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
так ты вводи не одно слово а несколько сразу, скажем "asd adsd sf s d d d d".
или код из функции main из других программ возьми, там где с файлами... да я вроде объяснял чего класс умеет делать, скажем из файла читать слова, складыват Word со строками, удаляет строки(кстати последнюю версию функции удаления я не проверил... извиняй если что...) |
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
Word w("ad ads");
w += w + "gdgdgd"; А что нам дают эти наборы букв. Ведь надо, чтобы пользователя сам вводил название файла. И еще, не мог бы ты прокомментировать, что делает каждый конструктор, деструктор. оператор. блин, мне даже стыдно каждый раз все новые вопросы задавать, но ничего не поделаешь (( |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Ну так нормально ?
здесь ещё исправил ошибки которые нашёл ![]()
|
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
А зачем нам нужен этот участок кода? Зачем мы прибавляем какие то буквы, потом стираем? И когда, я имя файла вбиваю, программа просто выходит... Че то я вообщене пойму, как она работает... Извините конечно... Добавлено @ 13:02 аа, просто какое бы имя файла я не ввел, все равно программа выходит. |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Это просто тестирование класса, доказательсто его работоспособности, можеш этот код выкинуть.
Файл у тебя в тойже папке что и исходники программы? Вообще-то у меня нормально открывает файлы, и читает слова от туда. И вводишь имена файлов с расширением ? Например есть текстовый файл, в папке с тектом программы, называется "text.txt" , запускаем программу, после запроса "Enter filename > " вводим название файла "text.txt" ( без ковычек ). Ну вот ты всё также делаешь ? |
|||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
У меня так :
Enter filename> Пишу: text.txt //Файл находится в той же директории. И в итоге ничего не делается... странно. Кстати, а вы мне не посоветуйете нормальный компилятор, а тоя думаю, в этом тоже проблема. |
|||
|
||||
Oleg_Ci |
|
||||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Попробуй исправить
Кстати эти штуки удалить лучше, они неправильно ![]()
Кстати компилятор у меня Microsoft visual studio 2003 ( mvs2003 ). какие хорошие незнаю, да мне и ненадо, я учись ещё. Это сообщение отредактировал(а) Олег4 - 12.11.2006, 17:03 |
||||
|
|||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
Эхх, все равно такая же фигня
![]() А вы можете сделать так же, только без проверок всяких? |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
||||
|
||||
Mcicool |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 9.10.2005 Репутация: нет Всего: нет |
Да все равно, теперь просто вылетает, когда я ввожу имя файла. Блин, чеж такое то ((((
|
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Попробуй так открывать:
Попробуй отдельную тему создать про открытие файлов... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |