Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 5699-й день

 С++ для новичков, вопросы, ответы, книги, с чего начать

pokemon4eg
Mar 1 2009, 11:37
  
Пост #1



Репутация:   1  
Дух


Группа: Пользователи
Сообщений: 13
С нами с: 16-August 08


Open in new window - Он придумал С++ hi.gif

Попробуем сделать что-то хорошее для С++ и начинающих программистов smile.gif

В описании раздела программирования есть много языков. В том числе и С++. Правда поиском по форуму по слову "С++" ничего не нашел. Вот и решил сделать тему в которой будем отвечать на вопросы и помогать друг-другу в этом не легком, а порой и очень нервном wink.gif деле smile.gif

С чего начать?
C++ wiki: http://ru.wikipedia.org/wiki/C%2B%2B

Вам понадобится 3 вещи:
1) Google
2) IDE (интегрированная среда разработки)
3) Книга: С++ для чайников: http://forum.0day.kiev.ua/index.php?showtopic=103405

IDE:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Первая программа. Hello C++:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Бесплатные технологи для С++ :
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


По возможности буду выкладывать примеры вот сюда:
http://github.com/k0ndr0ng1thub/0dayForumC...er/CppExamples/ software.gif

Книги:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Сообщение отредактировал pokemon4eg - Dec 3 2009, 17:23
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
2 Страницы  < 1 2  
Reply to this topicStart new topic
Ответов(20 - 31)
Logo
Apr 26 2009, 13:52
  
Пост #21


Незарегистрированный







// как сделать такой примитив
// с защито й от дурака
// чтобы CIN хавал только числа
// иначе запрашивал снова

Грубо говоря - Нужно в функцию вычисления z
передать два int аргумента x,y:
и вычислить их сумму.


» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Сообщение отредактировал Logo - Apr 29 2009, 14:04
Go to the top of the page
+Quote Post
ROST
Apr 26 2009, 14:44
  
Пост #22



Репутация:   45  
serrwrtet


Группа: Пользователи
Сообщений: 121
С нами с: 23-November 07


Можна зробити так:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Logo
Apr 26 2009, 15:20
  
Пост #23


Незарегистрированный







Отлично в Visual Studio 2008 , Но в Borland С++ Builder 6 -

[C++ Warning] Unit1.cpp(19): W8012 Comparing signed and unsigned values

на этот кусок -
for(int i=1; i<s.size(); i++)


Почему Я не могу юзать VS:

1. в институте , зав кафедры ,
хочет только сырцы
а компилить она будет в
Borland С++ Builder 6


2. далее нужно будет прикрутить графику-
и вызывать вот ИТО -

initgraph (&gd, &gm, "d:\\bc\\bgi");



Знайте все ИТО злое место с Борландом - "ІЗІТ при НАУ" )))
Go to the top of the page
+Quote Post
Charge
Apr 26 2009, 17:24
  
Пост #24



Репутация:   4  
Дух


Группа: Пользователи
Сообщений: 34
С нами с: 18-March 09


Warning - не error wink.gif
Определи i как беззнаковое целое и будет тебе счастье. А вообще, существует миллион+1 честный способ проверки ввода на корректность. Не стесняйся фантазировать и придумать свой smile.gif
Первое, что пришло в голову:
int i;
if ((cin >> i).good() && cin.get() == 10)
{
корректный ввод
}
else
{
некорректный
}
Дальше думай сам. Не забывай сбрасывать флаги состояния потока после неправильного ввода, если будешь обращаться к нему снова: cin.clear()
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
The_David
May 10 2009, 22:36
  
Пост #25



Репутация:   3  
Дух


Группа: Пользователи
Сообщений: 14
С нами с: 14-November 07


Можна например так:

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Monti_berns
Sep 30 2009, 19:07
  
Пост #26


Незарегистрированный







Ребят, я понимаю что вопрос тупой. Сори. Но я хотел бы знать, можно ли добиться чего либо в программировании если заниматься им как хобби. Тоесть, пришел с работы пописал что-то, выучил что-то... smile.gif
Go to the top of the page
+Quote Post
kerovnik
Oct 17 2009, 11:26
  
Пост #27


Незарегистрированный







(Monti_berns @ Sep 30 2009, 20:07) Перейти к цитате

Ребят, я понимаю что вопрос тупой. Сори. Но я хотел бы знать, можно ли добиться чего либо в программировании если заниматься им как хобби. Тоесть, пришел с работы пописал что-то, выучил что-то... smile.gif



Для того, щоб досягнути певного рівня у програмуванні, потрібно систематично ним займатися. Найкращі результати досягаються при щоденному написанні коду. Хобі - це справа, яка робиться для власного задоволення. Якщо вона уже приносить прибуток - то це, напевно, робота.
У будь-якому випадку, головне - це бажання самовдосконалюватися
Go to the top of the page
+Quote Post
pokemon4eg
Nov 19 2009, 1:10
  
Пост #28



Репутация:   1  
Дух


Группа: Пользователи
Сообщений: 13
С нами с: 16-August 08


(Tamplier @ Mar 20 2009, 20:18) Перейти к цитате

Наиболее часто задаваемые вопросы по С++. Реализация распространенных алгоритмов, решения типовых задач.
...



Спасибо за замечательнве примеры smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
pokemon4eg
Nov 19 2009, 1:48
  
Пост #29



Репутация:   1  
Дух


Группа: Пользователи
Сообщений: 13
С нами с: 16-August 08


(reiten @ Mar 20 2009, 20:30) Перейти к цитате

В обоих исходниках сортировки вставками пропущено <class T> после template.
И вообще, зачем копипастить реализации неэффективных алгоритмов сортировки на форум? Особенно с учетом того, что есть std::sort().


я считаю, что ты прав. не стоит изобретать велосипед... надо стараться использовать готовые решения по мере возможностей.

но и он тоже прав. сейчас попробую обьяснить на примере почему.

как не крути, а в чистом С++ работа со строками прихрамывает если я не ошибаюсь:

http://www.cplusplus.com/reference/clibrary/cstring/ наблюдаем "колосальный" набор функций для работы со строками.
и еще чуть : http://www.edcc.edu/faculty/paul.bladek/c_...g_functions.htm

ну и если поднапрячься, то можно найти еще парочку. но дейсвительно ли их просто использовать? все ли есть в С++ для работы со строками? - нет.

ну и сравнить это все с клаасом QString замечательной бибилиотеки Qt:

http://qt.nokia.com/doc/4.5/qstring.html

Просто ли использовать QString и все ли тут есть? В сочетании в регулярными выражениями - практически все. 2 класса QString и QRegExp делают практически любую работу со строками... То чего нет, можно легко и просто дописать чего не скажешь про С++.

К чему я это все? Возвращаясь к std::sort()... Была реальная жизненная ситуация. Делали адрессную книгу которая хранилась в базе. Для того чтоб добавить запись про сотрудника в базу надо было сгенерировать строку с особым форматом из его имени и фамилии. Все что было - это исходник функции на руби который никто не осилил) я посомтрел на формат и решил накодить вручную так, как другого выхода не было. Qt + QRegexp и за пол часа функция готова)

std::sort() - это хорошо, но зная примеры которые предоставил Tamplier можно написать свою сортировку, возможно какаую-то спецефическую. а если люди будут пользоваться только std::sort(), то вполне возможно что свою сортировку или чет другое, посложнее std::sort() у них написать не выйдет.

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

Конечно было бы классно проверить код на работоспособность и предоставить информацию о том, что такое шаблоны в С++...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
pokemon4eg
Nov 19 2009, 3:15
  
Пост #30



Репутация:   1  
Дух


Группа: Пользователи
Сообщений: 13
С нами с: 16-August 08


(Logo @ Apr 26 2009, 12:17) Перейти к цитате

при вводе символа вместо цыфры программа сама пролетает в конец без второго запроса на ввод.

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «



вылетает потому что лонг - это не строка. кучу вариантов написали... добавлю еще свой. ну или так smile.gif :

C++:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Пример можно усовершенствовать smile.gif А вообще всегда есть много способов решения проблемы...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
pokemon4eg
Nov 19 2009, 15:16
  
Пост #31



Репутация:   1  
Дух


Группа: Пользователи
Сообщений: 13
С нами с: 16-August 08


(Logo @ Apr 26 2009, 12:17) Перейти к цитате

Друг спрашивает по С++:

Подскажите как в С++ считывать цыфры чтобы программа считывала их нормально - потому что при использовании данного кода при вводе символа вместо цыфры программа сама пролетает в конец без второго запроса на ввод.

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «



Чтоб не пролетало читай в строку, а потом конвертируй ее в число.
void main()
{
    std::string a;
    cin >> a;
    cout << "a: " << a;
}


Сообщение отредактировал pokemon4eg - Nov 20 2009, 17:11
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
gryzovick
Oct 6 2021, 14:24
  
Пост #32



Репутация:   175  
Постоялец
***

Группа: Пользователи
Сообщений: 1 750
С нами с: 18-March 09


Ап тему, в поиске информации для изучения с 0я
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

2 Страницы  < 1 2
Reply to this topicStart new topic

 



- Упрощённая версия
Сейчас: 22nd October 2021 - 2:22
Сайт не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами и мы удалим её. Файлы для обмена предоставлены пользователями сайта.