Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Какую консольную программу написать?


Автор: mastermedia 26.2.2012, 03:42
В данный момент я изучаю c# по Шилдту. Все задания для практического закрепления прочитанной теории я искал в интернете. Брал задания с лабораторных, методичек, различной литературы. Сейчас под хожу к таким темам, по которым мало что можно найти. Я думаю, выход в такой ситуации начать писать свою программу, учебный проект. После чтения определенной главы в Шилдте, пробовать реализовать прочитанную теорию в своей программе. Только я не могу придумать, что написать. На данный момент, я знаком с циклами, массивами, классами, наследованием, интерфейсами, абстрактными классами, индексаторы и свойства, исключительными ситуациями, консольный ввод-вывод в c#. Подбросьте, пожалуйста, пару вариантов какую программу можно начать писать и затем постепенно реализовывать в программе теорию из Шилдта по мере ее прочтения. Программа должна быть консольная.

Автор: LOPUH 26.2.2012, 09:42
Вспомнил  свой курсовой в университете, правда писал на С++ , но не в этом суть. Назывался он  примерно так: "Квадрат Вижинера. Дешифрация, шифрация, синтаксический анализ и поиск неизвестного ключа."  На мой взгляд, очень неплохая тема для практики программирования, в частности досконально изучите работу со строками и файлами.  Можно запускать ее из командной строки с какими- то ключами и будет чистая консоль. Я в свое время нарисовал  простенький графический  интерфейс для работы с мышью и клавиатурой. Шифрация и дешифрация выполняются достаточно легко, а вот поиск неизвестного ключа и синтаксический анализ-для этого придется попотеть. но его можно и не делать. По  шифру можно почитать http://infobos.ru/str/181.html. Еще советую найти книжку Уэзерелл Ч. "Этюды для программистов", там подробно рассматривается синтаксический анализ шифра Вижинера.


Автор: Competitor 27.2.2012, 11:18
если C#, то это должно быть что-то интерфейсное. Попробуй написать прогу с поддержкой плагинов. При старте прога обходит свою папку в поиске "своих" плагинов. Если находит, то загружает ее, дергает определенный метод интерфейса. Плагины, скажем, могу делать разные вещи с консолью: очищать, раскрашивать, цвет менять...

Автор: HoTMetaL 1.3.2012, 12:48
Напиши консольные "Пятнашки". Или "Тетрис", или ещё какую игру. Можно написать чат, сразу научишься работать с сетью и не только.

Автор: erm0l0v 2.3.2012, 16:15
Раз ты пишешь на C# то нужно привыкать к ООП.
Я не думаю что проекция математических алгоритмов на код в полной мере даст понимание ООП.

Вон пример задачи: расчет заработной платы.
Можно начать с простого например у такого то сотрудника оклад в 50000, пусть он пропустил в месяце 2 дня и пусть программа рассчитает сколько он получит.

Потом можно постепенно усложнять задачу например среди сотрудников появляются те у кого почасовая оплата. И появляются менеджеры которые получают процент от продаж.

Чем правильнее будет твой код с точки зрения ООП тем легче будет вносить подобные изменения.

Автор: techPro 16.3.2012, 15:37
Можно попробовать сортировки массивов или обработку текста. Информации об этом полно в интернете

Автор: VSB 19.3.2012, 00:58
mastermedia,  Напиши компилятор.

Почитай книгу дракона, и напиши компилятор простого C-подобного языка для .NET
Если сразу всё сложно, напиши половину - лексический и синтаксические анализаторы, а семантический анализатор и кодогенератор оставь на потом.

Примерный срок проекта: полгода+
Затрагиваемые технологии: всё что ты перечислил, а так же Generics, Regular Expressions, делегаты, LINQ, и Reflection
Дополнительно: не забудь продокументировать код и собрать документацию (например, с помощью SandCastle), а также составьте всю полагающуюся бумажную документацию: ТЗ, план разработки, план тестирования, руководства.

Литература: Троелсен (C# 2010), Фридл (Регулярные выражения), "Книга дракона", и что еще найдешь по этим двум курсам: ТРПО; ТЯПиМТ

Добавлено через 57 секунд
 smile При основательном подходе это не страшно, и довольно интересно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)