Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2014, 09:47   #1
Katyamaks
Новичок
Джуниор
 
Регистрация: 15.07.2014
Сообщений: 5
Вопрос Строковый тип и классы с++

Здравствуйте! Пишу обычно на Fortran, решила изучить си, столкнулась с заданием, программа никак нехочет работать
1) Пользуясь описанием строкового типа BSTR, напишите вариант двух системных функций SysAllocString и SysFreeString для динамического создания и последующего уничтожения строк данного типа, функция, создающая строку, должна в качестве параметра принимать указатель на буфер, содержащий Anti-строку, заканчивающуюся символом '/0', указание для преобразования ANTI-строки в строку UNICODE восподьзуйтесь функуией mbstowcs ( multi bytes string to wide characters string )
Функция будет работать со строками, состоящими только из латинских букв

2) В разрабатываемой системе имеется следующий набор классов для представления различных животных зоопарка :
cElephant ( слон )
cRabbit ( кролик )
cHyena ( гиена )
cZebra ( зебра )
cKangaroo ( кенгуру )
cFox ( лиса )
И класс - контейнер cZoo ( зоопарк ) , хранящий данные в виде однонапоавленного списка, интерфейсы класса cZoo включает в себя методы : AddAnimal ( добавляет в зоопарк обьект любого из приведенных выше классов животных ), RemoveAnimal ( удаляет из зоопарка животное с заданным порядковым номером ), AnimalsCount ( возвращает общее число животных в зоопарке ) , AnimersteAnimals ( выводит на экран тип всех имеющихся в зоопарке животных ) , напишите реализацию данной программы

Если можно, пожалуйста, с комментариями , хочется вникнуть
Katyamaks вне форума Ответить с цитированием
Старый 15.07.2014, 10:23   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Цитата:
Anti-строку
что такое антистрока?
Цитата:
программа никак нехочет работать
свой код прикрепите.
rrrFer вне форума Ответить с цитированием
Старый 15.07.2014, 11:19   #3
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
что такое антистрока?
Автор очепятался - AnsiString наверное, а может ASCII, если уж в юникод преобразовать требуется.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 15.07.2014 в 11:24.
Smitt&Wesson вне форума Ответить с цитированием
Старый 15.07.2014, 11:37   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
что такое антистрока?
Это строка из антиматерии
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.07.2014, 12:31   #5
Katyamaks
Новичок
Джуниор
 
Регистрация: 15.07.2014
Сообщений: 5
По умолчанию

Спасибо за ответы
1) здесь описывается формат строки, описывается прямо как в памяти должна эта строка храниться, задание заключается в том чтобы написать две функции : одна создаёт строку выделяет память и с использованием функции mbstowcs получает строку в нужном формате, потом записывает в правильное место длину строки и возвращает указатель на начало стоки , другая функция должна уметь эту память чистить
Антистрока в кавычках, я тоже этот термин не совсем поняла
Пишу под линукс через теоминал вот что получилось

1) Unit SysStringLen
Код:
( 
BSTR bstr 
); 
void main ( ) 
{ 
BSTR bstr = SysAllocString ( L " new string " ) ; 
court << SysString ( bstr ) << endl; 
SysFreeString ( bstr ) ; 
 
Into SysReAllocString 
( 
BSTR FAR * pbstr, 
const OLECHAR FAR * psz 
); 
void main ( ) 
{ 
BSTR bstr = SysallocString ( l " new string " ) ; 
SysReAlloString ( &bstr , L " Hello " ) ; 
court < , SysStringLen ( bstr ) << endl ; 
SysFreeString ( bstr ) ; 
}
2) обьектно ориентированное программирование

Последний раз редактировалось Stilet; 15.07.2014 в 12:50.
Katyamaks вне форума Ответить с цитированием
Старый 15.07.2014, 18:16   #6
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

По первой вы не писали, а явно копипастили из какого-нибудь pdf-файла.
Цитата:
Пишу под линукс
под линукс оно не взлетит уже из за void main (должно быть int main), но и все остальное что вы пишите вроде как вроде как только под win работать может.

Я не думаю что кто-то поможет вам даром. Тем более, вы так неприкрыто врете. Если вы не поняли что за "антистрока", то какой код вы вообще могли писать?

Сначала разбираетесь с заданием, а потом уже выполняете, а не наоборот.

Антистрок я не видел, возможно при встрече антистроки со строкой образуется пространственный вакуум. Речь об ANSI или ASCII.

Даже за большие деньги вам задачи никто не решит пока вы их не уточните у препода.
rrrFer вне форума Ответить с цитированием
Старый 16.07.2014, 08:03   #7
Katyamaks
Новичок
Джуниор
 
Регистрация: 15.07.2014
Сообщений: 5
По умолчанию

В чем заключается моё вранье? Не хотите не помогайте, ваше дело, и ненужно обвинять меня во вранье, с си только разбираюсь, естественно будут ошибки, написала на форум а тут такой негатив неприкрытый, пишу в текстовом редакторе и запускаю через консоль. В университете отучилась, эту задачу нашла сама при самостоятельном изучении языка

Писала сама, а так думайте что хотите

Последний раз редактировалось Stilet; 02.08.2014 в 09:01.
Katyamaks вне форума Ответить с цитированием
Старый 16.07.2014, 11:13   #8
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Цитата:
В университете отучилась, эту задачу нашла сама при самостоятельном изучении языка
Найдите нормальные, понятные задачи.

Цитата:
Писала сама, а так думайте что хотите
Вы грите, что пишите под линуксом, но зачем-то в вашем коде элементы из всяких хедеров типа wintypes.h (написал имя хедера примерно, под win не пишу, точно не знаю). В любом случае, слова типа OLECHAR вы могли только в msdn найти, а если под линукс пишите, то там man есть.
rrrFer вне форума Ответить с цитированием
Старый 16.07.2014, 12:39   #9
Katyamaks
Новичок
Джуниор
 
Регистрация: 15.07.2014
Сообщений: 5
По умолчанию

Ошибки!учту

Ошибки у меня ! Видите я незнала что под линуксом вот так надо

Последний раз редактировалось Stilet; 16.07.2014 в 14:39.
Katyamaks вне форума Ответить с цитированием
Старый 16.07.2014, 13:29   #10
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Я кнешно не уверен, но думаю, что L - это макрос, который опять же только в windows работает. Вот в этом фрагменте и нескольких других:
Код:
L " Hello "
Не понятно зачем пытаться решить задачи, в тексте которых опечатки и неясности.
МБ Вам задач нормальных придумать?
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строковый тип idzaya2311 Паскаль, Turbo Pascal, PascalABC.NET 4 30.11.2013 13:02
Строковый тип Ilya_Vydysh Паскаль, Turbo Pascal, PascalABC.NET 0 25.12.2011 14:37
Строковый тип Ilya_Vydysh Паскаль, Turbo Pascal, PascalABC.NET 1 25.12.2011 00:22
Строковый тип McJordan Паскаль, Turbo Pascal, PascalABC.NET 1 26.08.2010 17:22
Строковый тип Koshmarick Помощь студентам 8 05.11.2009 12:37