Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 413
от 21.05.2006, 12:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 330, Экспертов: 46
В номере:Вопросов: 3, Ответов: 7


Вопрос № 43150: Здравствуйте уважаемые эксперты..... подскажите пожалуйста простейший пример реализации клент-сервера с использованием сокета ..... если к примеру необходимо чтобы к серверу подключалось несколько человек, т.е. чтобы он их мог различать и отсылать ин...
Вопрос № 43184: Здравствуйте, Уважаемые Эксперты. Сразу к делу: MS Visual 6, язык Си(не Си++). В приложении простой калькулятор. Необходимо доработать программу таким образом, что бы было возможно считать 3,4 и более чисел. Т.е. нужен калькулято...
Вопрос № 43196: Здравствуйте уважаемые эксперты! необходимо сделать приложение с возможностью экспорта данных в Word. Подскажите какие существуют способы это реализовать? Или где почитать . Заранее благодарен. P.S. Приложение собираюсь писать на Builder-е....

Вопрос № 43.150
Здравствуйте уважаемые эксперты..... подскажите пожалуйста простейший пример реализации клент-сервера с использованием сокета ..... если к примеру необходимо чтобы к серверу подключалось несколько человек, т.е. чтобы он их мог различать и отсылать информацию в текстовом виде определенному клиенту .... номер порта и ipадресов должны вводиться с Эдитов...
Отправлен: 15.05.2006, 22:35
Вопрос задал: Dipp (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Morgion
Здравствуйте, Dipp!
Лови линк!

Приложение:

Ответ отправил: Morgion (статус: Студент)
Ответ отправлен: 16.05.2006, 01:06

Отвечает: koshi
Здравствуйте, Dipp!
Лично я делел многопоточный сервер. ПРосто для каждого соединения на серваке создается свой конкретный сокет для обмена инфо. Т.е. изначально на серваке имеется единственный сокет, который слушает входящие запросы, как только кто-то там начал ломиться, создается еще один сокет и конкретное соединение с постучавшимся идет по новому сокету и еще и в новом потоке. (вообщем плохо объянсни, давно я с этим работал, не помню тонкостей)

Для примера высылаю здесь почти полный код сервера из свой курсач за прошлый год: сервак многопоточный. Если нужно, могу выслать и все проектом на MS VS 2005 (и клиент и сервер и кое какая библиотечка с функционалом), вощем ес. нужно пиши мыло.
P.S. Не удалось вставить в приложение, слишком большой (около 500 строк), так что давай мыло.

---------
Don't worry by groovy
Ответ отправил: koshi (статус: 4-ый класс)
Ответ отправлен: 17.05.2006, 10:31


Вопрос № 43.184
Здравствуйте, Уважаемые Эксперты.

Сразу к делу: MS Visual 6, язык Си(не Си++).
В приложении простой калькулятор. Необходимо доработать программу
таким образом, что бы было возможно считать 3,4 и более чисел.
Т.е. нужен калькулятор простой инфиксной нотации.
Сам алгоритм я понимаю: организовывается цикл до тех пор, пока "Ввод" не
нажат; сканирование данных можно выполнить так
( число) ( + число) ( - число) ( * число) ...end; промежуточный результат сохранять
в стэке. Два дня уже бьюсь и всё никак. Может Вы поможете?

Заранее благодарю.


Приложение:

Отправлен: 16.05.2006, 09:58
Вопрос задал: Евсеев В. Н. (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Евсеев Вячеслав Николаевич!
Нуу... подвижек к изготовлению кода, который будет читать длинный ввод, я не вижу.
Надо сделать так, чтобы в первый раз читалось 3 переменных: число, символ операции и число.
А потом при всех последующих чтениях, брать только 2 параметра: символ операции и число.
И цивильней сделать не while(1), а какое-то нормальное завершение программы.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: 4-ый класс)
Ответ отправлен: 16.05.2006, 10:51
Оценка за ответ: 4
Комментарий оценки:
До цивильности мне ещё далекооооооооооооооо.
Подвижки лежат на диске, а хотел-то я всего ничего:
узнать, каким образом можно обработать этот салат, а не готовый код.
Но за совет, проставляюсь.

Отвечает: Zitz
Здравствуйте, Евсеев Вячеслав Николаевич!

1.
Вот такое предложение - введеные данные перевести в префиксную натацию и будет счастье, пример:
1+2*3 + 4 = 11
Переводим в польскую запись (отдельнаяя песня):
-1+*2 3 4
Ее кидаем в стек, алгоритм следующий - идем по стеку:
4 3 2 - нет знака
4 3 2 * - умножение, делаем умножение, запихиваем обратно, получается:
4 6, дальше...
4 6 + - сложение, складвыаем, запихиваем обратн, получается:
10, дальше...
10 1 - - вычитение, вычитает, запихиваем обратно, получается:
11, дальше... конец стека, извлекаем результат.
Это самый красивый алгорытм и не громозкий, гуглить "польская запись".

2. Решение в лоб (когда-то сам так делал)
Можно нагородить следющий огород:
Записываем подряд в массив все числа
Во второй все знаки
Сначала делаем умножение и деление, т.е. бежим по массиву знаков и делаем действия
Допустим в массиве днаков у нас masZnaki[2] = '*', тогда с массивом чиселкиф выполняем следующее masChisla[2] = masChisla[2] * masChaisla[3], естественно из массива вырезаем masChisla[3], т.е. оставшуюся часть массива сдвигаем... Ну и все это действо происходит пока знаки не кончастся, и тогда на первом месте окажется ответ.
Вместо массивов можно использовать два стека.
---------
Успех неизбежен
Ответ отправил: Zitz (статус: 10-ый класс)
Ответ отправлен: 16.05.2006, 13:47
Оценка за ответ: 5
Комментарий оценки:
К первому предложению: Google от меня уже устал, а вообще-то за постфиксной нотацией и ходить никуда не надо. Керниган и Ричи приводят этот пример в книге, цитирую "Такой калькулятор легче будет написать, если ориентироваться на польскую, а не инфиксную запись выражений".
А мы не ищем лёгких путей! - наш ответ Чемберлену.

Так что буду городить огород.
За советы спасибо.

Отвечает: Sergijj
Здравствуйте, Евсеев Вячеслав Николаевич!

Всё дело в sprinf(). Он - хитрый. Нужно не забывать в нужном месте пробелы расставлять...;)
Хотя в разных реализациях стандартных библиотек, может быть по разному (особенно любит выпендриваться в этом отношении как раз MS)...:(

Короче, подправил я Вам код (см. приложение). На BC3.1 идёт на ура.

Приложение:

---------
Стучитесь! И Вас откопают...

Ответ отправил: Sergijj (статус: 3-ий класс)
Ответ отправлен: 16.05.2006, 14:04
Оценка за ответ: 5
Комментарий оценки:
В MS тоже на ура, только хотелось-то мне кое-что другое.
А так, молодцом. Отлично.


Вопрос № 43.196
Здравствуйте уважаемые эксперты! необходимо сделать приложение с возможностью экспорта данных в Word. Подскажите какие существуют способы это реализовать? Или где почитать . Заранее благодарен.
P.S. Приложение собираюсь писать на Builder-е.
Отправлен: 16.05.2006, 11:21
Вопрос задал: Goretsky Anton (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Santana
Здравствуйте, Goretsky Anton!
технология назвается OLE. Читать советую Архангельского "Программирование в C++Bilder". И вообще в 6 буилдере богатейшая оффисная палитра
Ответ отправил: Santana (статус: 2-ой класс)
Ответ отправлен: 16.05.2006, 12:03

Отвечает: Zitz
Здравствуйте, Goretsky Anton!

Вот Вам ссылка на информацию ;)
http://www.google.ru/search?q=automation+C+Builder+Word&hl=ru
Нажеюсь понятен мой тонкий намек? Ключевое слово automation... Информации море...
Я лично пользовался вот этим, но это для ВижлСи
http://rsdn.ru/article/vcpp/import.xml
Вообще хороший партал, там много инфы лежит...

З.Ы. если пишете в Билдере, то можно гуглить еще и со словом Delphi, особой разницы нет, разве что базовые основы паскаля нужно знать... А компоненты то одинаковые.
---------
Успех неизбежен
Ответ отправил: Zitz (статус: 10-ый класс)
Ответ отправлен: 16.05.2006, 12:48


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.32 от 03.05.2006
Яндекс Rambler's Top100

В избранное