5 / 5 / 3
Регистрация: 29.12.2010
Сообщений: 146
|
|
1 | |
Начинающий си/си++ программист29.12.2010, 21:30. Показов 20109. Ответов 110
Метки нет (Все метки)
Я вот собираюсь начать учить язык си а впоследствии си++. У меня есть книга Б.Керниган, Д.Ритчи "Язык программирования си". Мне нравится как там написано, да и отзывы об этом учебнике неплохие. У меня проблема с компиляторами, я не могу понять какой лучше закачал наконец DEV-C++ вроде отличный интерфейс, русский. Дошло до написания первой программы, написал как в учебнике написано, первый пример. Должна была получится программа, которая писала бы - Здравствуй мир, но компилятор почему то комментарий Здравствуй мир выделил красным цветом, я этому значения не придал, скомпилировал программу, и нажал на запуск. При запуске появляется окно на долю секунды и исчезает. В учебнике написано, что у них примеры для UNIX системы, для других систем - надо консультироваться со специалистами. Подскажите пожалуйста как писать на виндовсе. Буду также рад любой информации по языку си, так как я только начинающий. Заранее спасибо
0
|
29.12.2010, 21:30 | |
Ответы с готовыми решениями:
110
Начинающий программист Начинающий программист Начинающий программист С++ хочет учиться Что должен знать начинающий программист? |
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
||||||
14.01.2011, 02:27 | 81 | |||||
Очень, очень интересно. У меня текстовый файл такого примерно вида:
А самое главное- самое главное- необходимо корректно брать потом адреса элементов этого массива. Я это всё решил уже. А адреса не брал, а обращался к элементам через индексы, что наверное, пограмотнее. Но с адресами тоже хотелось бы поработать. Но если напишите- буду благодарен, потом изучу.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
14.01.2011, 02:30 | 82 |
kravam, Парсинг мне сейчас впадлу делать. Завтра экзамен. Разделители 0XD это что значит?
Все строки из этого файла считать в одну? Я правильно понял? Или же построчно?
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
||||||
14.01.2011, 02:42 | 83 | |||||
Ну может я поставил условие подразумевая, что по-другому не решить его. Может задача проще решается, не знаю.
А ВООБЩЕ надо сформировать vector<string>, каждый элемент которого суть одна из строк
1)НИ ОДИН РАЗ не надо ни под что выделять память вручную 2) После этого хотелось бы увидеть их адреса вот так: &v[0] 0XD это символ котрым эти строки разбиены в файле, между ними 0XD (возврат каретки) и 0XA (перевод на другую строку) То есть любой из этих симвлов может быть разделителем, лучше 0XD, поскольку они идут в такой последовательности: 0XD 0XA Ну впадлу так впадлу. А вообще это могло бы меня убедить. Ну может я сам дойду до этих всех параметров потом. Добавлено через 5 минут строки конечно разными всякими могут быть, важно что в них могут быть пробелы.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
14.01.2011, 02:48 | 84 | |||||
Хах. Даже так. Тут даже парсинг не нужен.
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
14.01.2011, 03:03 | 85 |
Да вроде работает, спасибо. Получается, я зря корпел писал свой класс для считывания в строку, а это можно было реализовать с помощью getline. Знай я это, может тоже придумал бы такое красивое решение. Обидно. Ну я потом конечно подробнее изучу.
Так как ж всё таки быть с синтаксисом getline? Брать отсюда? http://www.cplusplus.com/reference/string/getline/ И в печку мой учебник?
0
|
silent_1991
|
14.01.2011, 03:04
#86
|
Не по теме: kravam, видимо не зря все отговаривают читать Павловскую...
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
14.01.2011, 03:04 | 87 |
kravam, Учебники Павловской вообще не советуют... Но вцелом может быть getline в этой ипостасии будет описана при описании класса string. А тот ресурс на который вы привели ссылку очень хорош. Как справочник - лучше вряд ли найдется.
2
|
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
|
|
14.01.2011, 03:07 | 88 |
Есть такое понятие в ООП, одно из основных, инкапсуляция называется. Почитайте на досуге и не лазайте больше потными указателями в поля данных объекта. Черт его знает, как оно там реализовано.
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
14.01.2011, 03:14 | 89 |
А мне просто подсказать некому, там два варианта getline (а их может и больше, кто его знает), вот второй
http://www.cplusplus.com/refer... m/getline/ Так что тут Павловская не ошиблась, я просто не доглядел. Всем спасибо. Добавлено через 6 минут хе, так если надо адрес взять. Чё делать-то? Ну я уже говорил, я бы посмотрел адрес, а потом если он бы вывелся удостоврился в OllyDbg, что там именно то, что я и предполагаю, я такие вещи проверяю. Хорошо, если знаешь итераторы. А если не знаешь? Вот пример живой: вот я знаю getline, а их , оказывается две. А итераторов не понять сколько. Вот я щас читаю аммераалля, там и входные и выходные и всякие. Оно и хорошо и плохо- теряешься. А взятие адреса в стиле С всегда однозначно &...
0
|
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
|
|
14.01.2011, 03:21 | 90 |
Для дебага берите, сколько влезет. Если не секрет, зачем вы проверяете, что по адресу переменной лежит её значение? В каких случаях это может быть не так?
Вообще, в плюсах есть такая шикарная вещь, как ссылка, что сильно упрощает передачу параметров сложного типа. Креститься пяткой, теперь не нужно постоянно явно использовать указатели.
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
14.01.2011, 03:30 | 91 |
Я не могу объяснить, это каждый отдельный случай надо брать. В 99 % смотрятся адреса элементов динамических массивов, конечно, а не отдельных переменных
Кстати, именно так я познакомился с прописыванием памяти. Эту ошибку ИНАЧЕ не обнаружить (разве что найти её в исходнике, но моей головы не хватило). А хватило бы- так я бы вообще без ошибок кодил.
0
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 8
|
|
14.01.2011, 10:40 | 92 |
Ну в общем, поменял решение ). Буду изучать Си ++. Какой учебник лучше взять для новичка? Страуструп подойдет?
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
14.01.2011, 11:11 | 93 |
Flynn84, ни в коем случае! По крайней мере не "учебник" под названием "Язык программирования Си++". Говорят, его последняя книга (Программирование. Принципы и практика использования Си++) хороша, но в электронном виде я её пока не видел. От себя могу порекомендовать Дейтелов - Как программировать на Си++ (пятое или шестое издания).
1
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 8
|
|
14.01.2011, 12:13 | 94 |
А что так? Книга не очень или не для новичков?
Видел вчера несколько тем про учебники по плюсам, надо их изучить внимательней.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
14.01.2011, 12:36 | 95 |
Flynn84, и стиль ужасный (это, разумеется, моё личное мнение), и совсем не для новичков, да и систематики в подаче материала никакой.
Добавлено через 3 минуты Не по теме: А вообще, я привередливый, вы меня меньше слушайте))) Например, в тех темах направо и налево советуют Либерти - "Освой самостоятельно Си++ за 21 день", абсолютное большинство от неё в восторге, а мне она, например, абсолютно не понравилась. Слишком уж там искусственные примеры даются для понимания принципов ООП. Вернее, они сами, может, и живые, но практической пользы в написании реальных программ не дают никакой. Опять же, строгое ИМХО.
2
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
14.01.2011, 12:40 | 96 |
0
|
2 / 2 / 0
Регистрация: 16.01.2011
Сообщений: 23
|
|
16.01.2011, 14:03 | 97 |
1
|
13 / 12 / 2
Регистрация: 22.12.2010
Сообщений: 67
|
|
16.01.2011, 19:10 | 98 |
Страуструп сложный,согласен.Я тоже новичок,мне понравился Шильдт
0
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 8
|
|
17.01.2011, 17:22 | 99 |
0
|
Kastaneda
|
17.01.2011, 18:33
Начинающий си/си++ программист
#100
|
Не по теме: Flynn84, Шилдт вообще парень плодовитый) У него много книг, и не только по С/С++.
0
|
17.01.2011, 18:33 | |
Начинающий программист: с какой программы начать? Начинающий программист Начинающий программист С++ Начинающий программист Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |