Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Nullik
43 / 12 / 4
Регистрация: 13.03.2013
Сообщений: 302
Завершенные тесты: 2
#1

Тема для курсовой работы - C++

07.09.2013, 19:37. Просмотров 2424. Ответов 24
Метки нет (Все метки)

Добрый вечер.

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

Пришла в голову такая идея: у нас в классе компы связаны локальной сетью, можно ли написать консольный\WFApp вариант чата (клиент - сервер), без множества наворотов, тупо отправлять и получать текст и всё. (Локальный чат)

Если такое возможно, то подскажите что нужно для "локальной сети"?
Как представить "сервер"?
у кого и как будет храниться история сообщений?
Можно ли сделать вариант без хранения истории сообщений (упрощаем вариант задачи)? Как?

Ищу инфу в инете, путёвого пока что не встретила, ну всё же.


Или, подскажите идею для проекта, при учёте, что в работе будет участвовать 3-6 человек. WFApp не слишком желателен, но возможен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2013, 19:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Тема для курсовой работы (C++):

Тема для курсовой работы по ООП. Нужны идеи
Ребята,всем привет!Хочу у вас попросить идеи для написания курсовой по ООП для...

Тема для курсовой
Добрый день! Тема для курсовой должна быть из области "Компьютерной графики"....

Тема для курсовой
И снова здравствуйте :) в связи с началом учёбы, встал вопрос, что надо писать...

Нужна тема для курсовой
Доброго времени суток! Если не сложно , подкиньте пару тем для курсовой...

Тема для курсовой(DLL, C++)
Всем привет. Пожалуйста, помогите с заданием для курсовой. Идея заключается в...

Посоветуйте тему для курсовой работы
Мне нужен совет. На носу курсовая, я в программировании не сильна, а работа по...

24
dmitry94
562 / 192 / 69
Регистрация: 25.05.2012
Сообщений: 800
08.09.2013, 00:27 #2
Цитата Сообщение от Nullik Посмотреть сообщение
Добрый вечер.

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

Пришла в голову такая идея: у нас в классе компы связаны локальной сетью, можно ли написать консольный\WFApp вариант чата (клиент - сервер), без множества наворотов, тупо отправлять и получать текст и всё. (Локальный чат)
Можно.

Если такое возможно, то подскажите что нужно для "локальной сети"?
Как представить "сервер"?
у кого и как будет храниться история сообщений?
Да все уже встроено в ОС, нужно просто задействовать нужные библиотеки, написать клиентскую и серверную часть.

Можно ли сделать вариант без хранения истории сообщений (упрощаем вариант задачи)? Как?
Можно, для этого нужно не хранить историю сообщений.
1
ValeryS
Модератор
7133 / 5401 / 669
Регистрация: 14.02.2011
Сообщений: 18,224
08.09.2013, 00:36 #3
Nullik,
а язык то какой ?
например в Qt все практически встроено
для VS есть все в SDK
у C Bulder тоже много чего есть( но с ним не работаю, утверждать не могу)
для других компиляторов тоже есть куча библиотек, но их может придется поискать
1
Nullik
43 / 12 / 4
Регистрация: 13.03.2013
Сообщений: 302
Завершенные тесты: 2
08.09.2013, 11:58  [ТС] #4
dmitry94, спасибо за ответы! Если вам не сложно, вы можете мне написать все те "пункты", которые мне нужно будет изучить, чтобы написать локальный чат без хранения истории. Чат подразумевается на несколько человек, например 3-4 человека.
И ещё, вы говорили про вариант консольный или форма?
Можно ли написать программу на консоли и подключить её к форме?

ValeryS, писать проект будем на Visual Studio 2010, C++.
0
monolit
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
Завершенные тесты: 1
08.09.2013, 12:17 #5
WinSock учить, WinSock.... Это если на "чистом" С++, без Qt и прочих упрощений. Это интересно) Но для курсовой это, как по мне, маловато, я такой пару лет назад писал примерно за неделю как задание, или около того (даже исходники остались, если че=).
Кстати, я тоже писал его на Visual Studio 2010)
1
Nullik
43 / 12 / 4
Регистрация: 13.03.2013
Сообщений: 302
Завершенные тесты: 2
08.09.2013, 14:47  [ТС] #6
monolit, исходники, конечно же, интересны, но надо будет и самим понять что там было))

К тому же, если это "мало", а у нас как бы проект на работу классов (надеюсь в чате можно реализовать несколько классов и работу с ними), то задачу всегда можно усложнить, т.е., версии, версии))

monolit, вы лучше подскажите: с чего конкретно вы начинали работу? Как устроен клиент-сервер?
На примере вашей работы, даже так.
Я не особо представляю как, может ссылкой какой поделитесь или книга какая есть. Но, разумеется, эту часть (WinSock) изучу. Большое спасибо за ответ!
0
IIIa66uMEM6eP
08.09.2013, 16:40
  #7

Не по теме:

Делал клиент-серверное приложение на ассемблере, было весьма занимательно

1
Nullik
08.09.2013, 17:19  [ТС]
  #8

Не по теме:

а если бы ещё в этом "клиент-сервер" настроить передачу сообщений, где мог быть тег для отображения С++ кода (а ещё прикреплять файлы), так вообще круть крутая))))

0
Voivoid
708 / 280 / 15
Регистрация: 31.03.2013
Сообщений: 1,339
08.09.2013, 22:01 #9
Не совсем понятно прошла ты уже курс по компьютерным сетям или еще нет. Если нет - сначала прочитай ( или хотя бы полистай ) одноименную книгу Тананбаума. Реализацию чата имеет смысл писать с использованием высокоуровневых библиотек, winsock без лишней на то необходимости трогать смысла нет ибо слишком низкоуровнево. Сам я бы взял boost asio. Благо там даже есть примеры реализации клиента и сервера чата ( http://www.boost.org/doc/libs/1_54_0..._examples.html )
1
Nullik
43 / 12 / 4
Регистрация: 13.03.2013
Сообщений: 302
Завершенные тесты: 2
08.09.2013, 22:10  [ТС] #10
Voivoid, может быть вы чего посоветуете:

у нас со второго полусеместра (т.е., примерно где-то начало ноября) будет курсовая работа на (!) 6-7 человек.
Хотелось бы что-то такое, чтобы это было и полезно и, в тоже рвемя, использовало тему семестра.

Тема семестра: ООП, конкретно - работаем с классами, начинаем их ощупывать.

Какие знания? Ну вот представьте:
-- сама (можно сказать, для себя) разбираюсь в Windows Form C++ (Visual Studio 2010)
-- в универе кодим только для exe
-- только-только началось ООП, ну, с классами пока что у меня нет проблем, работаю с ними
-- были только алгоритмы (ну там, сортировка, поиск, авл-дерево, сделать стек и реализовать обратную польскую запись).

Всё. ничего больше не было.

Но нам надо какой-то курсач.

Есть варианты игр, например, крестики-нолики, шашки, угокли, линии.

*у меня уже есть готовая игра в морской бой, её только переписать, чтобы код выглядел прилично. Сделать там классы.

Кто-то делал графический редактор.

Есть ещё у препода скучные "практические темы", но они скучные.


Вот, может быть вы что предложите, почему бы нет?


Я подумала о локальном чате:

в классе есть компов 8-10, там есть локальная сеть.
нам бы сделать такой клиент-сервер, чтобы историю не хранил, пользовательские записи (учётки) не создавал. Вообще, минимализировать.
Хорошо бы использовать Forms, но "жизнь меня к такому не готовила", выходит, желательно использовать ехе (т.е., консоль).
А вот если бы подключить ехе к forms, почему бы нет?
И если бы можно было бы с forms работать, то хотелось бы там сделать, как здесь "тэг для С++", чтобы текст красиво отображался -- практическая задача, можно сказать.))


Воооот, пока что такие мысли.

Спасибо большое Вам!
0
Hugra
48 / 48 / 9
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
08.09.2013, 22:54 #11
Цитата Сообщение от Nullik Посмотреть сообщение
может быть вы чего посоветуете: курсовая работа на (!) 6-7 человек.
Посоветую вам всем (6-7) человек, скинуться по косарю и заказать "простенькую", как вы просите, программку с исходниками. Потом вместе сядете, полистаете код, разберетесь, глядишь и свою "фишечки" добавите.
p/s. Я хз сколько будет стоит такая программа, но судя по всему у вас знаний не достаточно, что бы написать такой проект в кротчайшие сроки. Но 1к рублей даже для самого бедного студента за 2 месяца не составит труда раздобыть.
0
Nullik
43 / 12 / 4
Регистрация: 13.03.2013
Сообщений: 302
Завершенные тесты: 2
08.09.2013, 23:03  [ТС] #12
Hugra, деньгами не нужно, нужно самим писать. Это во-первых.
Во-вторых, а как же учиться?

Ну и, в-третьих, можно сменить тему проекта. Главное, чтобы там можно было использовать классы и это был "хороший проект", как сказал препод. Под словом хороший проект предполагается рабочий\полезный проект-программа.
0
monolit
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
Завершенные тесты: 1
09.09.2013, 00:05 #13
игрушку пишите)
WinSock конечно не самая простая вещь, но что там, для чата, нужно? send, recv, по сути и все...
Вроде неплохо рассказывает "Самоучитель игры на WINSOCK", я не по нему начинал, методичка была, но там тоже подчерпнул много интересного. Если желания вникать глубоко нет, то, конечно, лучше взять какую-нибудь обертку (никогда не пользовался, и тут посоветовать ничего не могу).

Кликните здесь для просмотра всего текста
Но все-таки не могу понять, почему вы решили делать чат, когда задание у вас связано с классами?) Разбор арифметических выражений, к примеру напишите. Тоже не слишком сложное и масштабное, но WinSock учить не надо.
1
Nullik
43 / 12 / 4
Регистрация: 13.03.2013
Сообщений: 302
Завершенные тесты: 2
09.09.2013, 06:58  [ТС] #14
Monolit, а разбор арифметических -- например?

А игру какую бы посоветовали? Мы пока что рассматриваем множество вариантов, почему бы нет?)))
0
dmitry94
562 / 192 / 69
Регистрация: 25.05.2012
Сообщений: 800
09.09.2013, 07:46 #15
Цитата Сообщение от Nullik Посмотреть сообщение
dmitry94, спасибо за ответы! Если вам не сложно, вы можете мне написать все те "пункты", которые мне нужно будет изучить, чтобы написать локальный чат без хранения истории. Чат подразумевается на несколько человек, например 3-4 человека.
Изучить следующие функции:

WSAStartup
socket
bind
listen
accept
connect
send
recv
closesocket
WSACleanup

На
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Там есть достаточное количество примеров.

И ещё, вы говорили про вариант консольный или форма?
Это не важно, функции для реализации функциональности используются одни и те же.

Можно ли написать программу на консоли и подключить её к форме?
Не вижу в этом смысла.
1
Voivoid
708 / 280 / 15
Регистрация: 31.03.2013
Сообщений: 1,339
09.09.2013, 10:58 #16
Цитата Сообщение от Nullik
у нас со второго полусеместра (т.е., примерно где-то начало ноября) будет курсовая работа на (!) 6-7 человек.
Хотелось бы что-то такое, чтобы это было и полезно и, в тоже рвемя, использовало тему семестра.
Думаю, что до прохождения курса по компьютерным сетям за чат браться пока не стоит. Хоть и в реализации простого чата в целом ничего такого уж особенного, но без понимания фундаментальное теории наверняка возникнут некоторые сложности, плюс, что самое важное, будет пробел в понимании того, почему все сделано так, а не иначе.

Цитата Сообщение от Nullik
Тема семестра: ООП, конкретно - работаем с классами, начинаем их ощупывать.
Раз тема ООП, то вероятно имеет смысл заострить внимание именно на этом аспекте. Например могу предложить реализовать какую-нибудь простую игру ( те же крестики-нолики или морской бой ) с применением архитектурного паттерна проектирования MVC ( см. http://ru.wikipedia.org/wiki/Model-View-Controller ). Но это только в случае, если будешь использовать windows forms, при выводе на консоль этот паттерн подходит в меньшей степени.


Цитата Сообщение от Nullik
Я подумала о локальном чате
Тоже в принципе хороший вариант, но только если чувствуешь себя более-менее уверенно с компьютерными сетями.
1
Sue405090
5 / 5 / 5
Регистрация: 15.08.2013
Сообщений: 90
09.09.2013, 11:13 #17
почитай про это:
System.Net.Sockets.TcpClient clientSocket
NetworkStream serverStream
Thread ctThread

этого будет достаточно для создания чата, а для сохранения истории воспользуйся xml сериализацию
с простеньким классом сообщение - автор
C++
1
2
3
4
5
public class History // класс для сериализации 
        {
            public string author;
            public string messeg;         
        }
1
Nekto
342 / 287 / 37
Регистрация: 23.03.2012
Сообщений: 838
09.09.2013, 11:21 #18
Цитата Сообщение от Sue405090 Посмотреть сообщение
почитай про это:
System.Net.Sockets.TcpClient clientSocket
NetworkStream serverStream
Thread ctThread

этого будет достаточно для создания чата, а для сохранения истории воспользуйся xml сериализацию
с простеньким классом сообщение - автор
C++
1
2
3
4
5
public class History // класс для сериализации 
        {
            public string author;
            public string messeg;         
        }
Не тот язык.
0
monolit
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
Завершенные тесты: 1
09.09.2013, 13:55 #19
Цитата Сообщение от Nullik Посмотреть сообщение
а разбор арифметических -- например?
К примеру: (2+5*(6-ln(2.7))) = ...
Но проблем с деревьями быть не должно, да...

P.S. там и производные тогда считать можно аналитически)
0
Raali
09.09.2013, 14:56     Тема для курсовой работы
  #20

Не по теме:

Цитата Сообщение от Nullik Посмотреть сообщение
делать его будем со второго полусеместра, но я задумываюсь над ним заранее.
Девушки...

0
09.09.2013, 14:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2013, 14:56
Привет! Вот еще темы с ответами:

Блок-схема для курсовой работы
Привет, помогите мне, пишу курсовую, все отлично, но нужна блок-схема, а у меня...

Тема для дипломной работы
Посоветуйте тему для дипломной работы. Есть желание написать программу,...

Программа для курсовой работы (проект управления холодильником)
нужна программа для курсовой работы: проэкт управления холодильником (с...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru