Форум программистов, компьютерный форум CyberForum.ru

Самостоятельное изучение C++ - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 176, средняя оценка - 4.86
GTS
 Аватар для GTS
25 / 26 / 3
Регистрация: 02.04.2012
Сообщений: 293
15.05.2012, 00:43     Самостоятельное изучение C++ #1
Здравствуйте! Есть потребность изучить C++ но знаний к сожалению 0.

Ситуация следующая, ни каких языков программирования я не знаю, когда то сталкивался с Delphi (в институте), но дальше небольшой программки с одной кнопкой "Закрыть" и то не без помощи более эрудированного соседа по парте. Сейчас и это скорее всего не получится сделать, разве что повезет и я в нужную строчку впишу "Close;".

Подскажите следующие:
Во первых я не могу ни где найти саму программу, с Delphi все было проще, Delphi 7 скачивай покупай, изучай и программируй.
Тут же я не могу понять что за программа и где ее взять вообще (что мне нужно Borland C++ или Microsoft Visual C++ или что то другое?), я не собираюсь делать какие то видео игры, скорее ПО типа Word, базы данных и т.д..

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

Чему учили в школе \ институте на информатики не помню, Pascal и тому подобное тоже не знаю, объектно ориентированное программирование то же не знаю.

И еще, вопрос может показаться глупым, все же, что лучше изучать C++ или Delphi? когда я учился в институте и нам объявили, что программировать будем на Delphi, некоторые более компетентные сокурсники подметили, зачем этот Delphi, на нем ни кто не программирует, хотя он для меня более интуитивно понятен (если конечно взять в учет то, что я C++ не видел даже), конечно на Delphi программируют но значительно меньше, соответственно литературы по Delphi меньше, полезной информации и людей способных помочь будет меньше.

Да кстати, параллельно мне еще надо изучать PHP, надо программировать некоторые модули для WordPress.

Добавлено через 5 часов 19 минут
неужели ни кто подсказать не может
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2012, 00:43     Самостоятельное изучение C++
Посмотрите здесь:

C++ Изучение С++!
изучение с++ C++
C++ Изучение С++
C++ Изучение C++
Изучение С++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Endiff
 Аватар для Endiff
30 / 30 / 1
Регистрация: 19.05.2012
Сообщений: 67
19.05.2012, 15:34     Самостоятельное изучение C++ #41
Цитата Сообщение от GTS Посмотреть сообщение
По поводу обучения в ВУЗах, а лучше сказать ВТУЗах, я как раз закончил университет приборостроения и информатики по специальности Робототехнические системы, и то, что знаний дают 0, это абсолютно верно. Была у нас информатика, курсовик по ней у нас был - перепечатать пару страниц из книги в ворд и записать на дискету, причем пару страниц давалось сразу на 3 человека, но мы и того не сделали, взяли у кого то другого откопировали, как один потом сказал, у меня сердце прихватило когда преподаватель спросил: "Если я сейчас вставлю дискету в компьютер.. смогу ли я работать с картинками в тексте?", в итоге по информатики у меня 5. На следующем курсе у нас началось ООП, там уже естественно вел другой преподаватель, и когда ему сказали что мы не разбираемся в программирование, он взял у кого то зачетку и спросил, как же это так, у 5 за информатику. Были такие, которые уже знали язык программирования, Делфи в частности, в школе их этому не учили, т.е. выучили сами.
Это было лирическое отступление.


Подведу черту еще раз, я не знаю чем отличается Borland C++ от Visual C++ так же я не знаю что такое IDE, SDK, компилятор, #include, void, и тому подобное, т.е. знаний полный 0.
Вот какой пробел знаний мне нужно заполнить, подскажите пожалуйста книгу, только не "Прочитай все", я понимаю, если прочитать все то шансов куда больше разобраться, все ограничивается временем.


И хотелось бы все же остановиться на том, на чем больше всего программируют.
Я сам начинал с "C++ How to program" - Deitel, очень помогла в свое время, и тебе советую.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KristopherRobin
 Аватар для KristopherRobin
137 / 133 / 6
Регистрация: 11.09.2011
Сообщений: 407
19.05.2012, 17:48     Самостоятельное изучение C++ #42
Ничего не мешает, именно поэтому такая фича присутствует в MSVS (как для шарпа, так и для плюсов), в несколько меньшей степени в NetBeans, в Qt Creator, а также есть специальные дорогостоящие инструменты для статического анализа кода, например, PVS-Studio.
а ясно. платных не видел ниразу
а в MSVS не видел такое (подчеркивание ошибок во время набора кода для native C++), хотя я ток ставил MSVS 2008.
metagalaxy
7 / 7 / 2
Регистрация: 18.02.2012
Сообщений: 61
19.05.2012, 20:50     Самостоятельное изучение C++ #43
Цитата Сообщение от Endiff Посмотреть сообщение
Я сам начинал с "C++ How to program" - Deitel, очень помогла в свое время
на английском читал?)

Добавлено через 2 часа 42 минуты
GTS, вообщем тебе нужна книга "Как программировать на С++" Дейтела, там ты, думаю, разберешься)
GTS
 Аватар для GTS
25 / 26 / 3
Регистрация: 02.04.2012
Сообщений: 293
27.05.2012, 00:14  [ТС]     Самостоятельное изучение C++ #44
ну, начались первые проблемы, как всегда в самом начале, на самом первом коде.

1. изучаю по книге - Харви М. Дейтел, Пол Дж. Дейтел - Как программировать на C++ - 2008 г.
2. использую ПО - Microsoft Visual C++ 2010 Express (версия русифицирована)

первая программа в книге (если ее вообще таковой можно назвать), должно писать "Привет мир" у меня в частности должно писать : Hello world

Код

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main()
 
{
 
std::cout<<"Hello world\n";
 
return 0;
 
}
Все написано как в книге (если я конечно не ослеп)

Далее захожу в Microsoft Visual C++ 2010 Express, создать новый проект, Консольное приложение Win32, задаю ему имя, потом ставлю галочку "Пустой проект" (если ее не ставить, то создается куча непонятных для меня и соответственно пока не нужных мне файлов), вообще все выглядит так:

1. http://s019.***********/i633/1205/0b/da8661493cd7.jpg
2. http://s019.***********/i621/1205/b8/cd6e21e5e3a4.jpg
3. http://s017.***********/i424/1205/10/9575e662e546.jpg

Потом я запускаю это чудо, жму F5 и появляется командная строка буквально на 1 сек и тут же пропадает, почему так? как быть? оно ведь не должно исчезать.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
27.05.2012, 00:25     Самостоятельное изучение C++ #45
GTS, жмите Ctrl+F5.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
27.05.2012, 00:36     Самостоятельное изучение C++ #46
Цитата Сообщение от silent_1991 Посмотреть сообщение
GTS, жмите Ctrl+F5.
не знаю насколько это поможет, лень ребутать. 2GTS, стандартный вариант для всех начинающих - добавить вызов cin.get()
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
int main() {
 
    std::cout<<"Hello world\n";
    std::sin.get();
 
    return 0; 
}
Добавлено через 54 секунды
GTS, еще с кириллицей будут проблемы, решение смотри в ветке c++ для начинающих в прилепленной теме.

Добавлено через 2 минуты
Цитата Сообщение от GTS Посмотреть сообщение
2. использую ПО - Microsoft Visual C++ 2010 Express (версия русифицирована)
все таки не советовал бы с нее начинать. Потом столкнешься с проблемой что привык писать не по стандарту, т.к. она подсовывает (рекомендует во всяких предупреждениях) реализации вызовов от microsoft, не являющиеся ISO reference.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
27.05.2012, 01:18     Самостоятельное изучение C++ #47
alkagolik, это поможет именно в Visual Studio. Фактически же мой совет всегда один и тот же: пишешь консольку - запускай из консольки.
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
27.05.2012, 02:47     Самостоятельное изучение C++ #48
на счет ВУЗов, действительно лучше самообучаться. к примеру в прошлую пятницу был поток по C++ 1 курс. препод спрашивает:
кто знает чем отличается
C++
1
char *s = "hello";
и
C++
1
char s[] = "hello";
я ему говорю что мол в случае *s - hello - константа и ее изменять нельзя и еще много правильных вещей в чем был уверен на 100%, на что он мне радостно ответил что я сказал с точностью да наоборот. Решил с ним поспорить на 10 автоматом(у меня 9 автомат, 10 никому еще не хочет ставить) : он говорит мол не надо с ним спорить ибо у него уже опыт много лет и который год он именно таким образом учит студентов. вообщем я его довел, и мне принесли ноут с компилятором minGW-c++ (windows 7 32bit) . Итак вот результат:
C++
1
2
3
char *s = "hello";
s[1] = 'o';
std::cout << s;
программа скомпилировалась, но при запуске выдала крэш.
если закомментить или убрать строку s[1] = 'o', сей криминал пропал, что вызвало у него большое удивление и смех в зале. К концу пары мы с ним пошли в лабораторию, по пути к которой он мне все твердит в TurboC++ все работает. да, действительно в турбоси работало. Он твердил что это стандарт С и так все должо быть. я уже не говорю про void main () ....
----------------
Вообщем вывод таков мой, лучше чем самообразование и пинок под зад совет,направление от опытных прогаммистов не будет.
P.S могу прикрепить аудиозапись, удачно получилось записать
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
27.05.2012, 03:20     Самостоятельное изучение C++ #49
У меня в ВУЗе все кончилось тем, что препод сказал: Раз такой умный - будешь читать лекции по С++ сам. Итог: 5 автоматом, учитывая что он никому такого подарка не делал, я прочел несколько лекций - всем понравилось. Давал на том уровне, на котором была группа.
Но спорить с преподом во-первых, опасно. Во-вторых, это должна быть дискуссия, а не базар. В-третьих, подрывать авторитет препода умышленно - некрасиво. Лучше указывать на ошибки после пары наедине. В-четвертых, ответ должен быть аргументирован, а не я знаю, я читал. Должны быть ссылки, примеры. В-пятых, если видите, что человек не терпит критику - не лезьте на рожон, вам ему экзамен сдавать, а не ему вам. Завалят и будете локти кусать, раз такой инициативный.
С нынешним преподом у меня была другая ситуация. Он допустил ошибку в блок-схеме. Я подошел после пары, пытался ему показать. Его ответ: "Я не ошибаюсь никогда". Вот с такими людьми даже смысла нет разговаривать. А на след. пару он сообщил: "Я нашел ошибку."
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
27.05.2012, 03:26     Самостоятельное изучение C++ #50
MrGluck, Вы асболютно правы. Дело в том что с моей стороны это не было как цель подорвать его авторитет или базар. Все было на довольно ровном тоне. Ссылку привел на 2 источника C++ Страустрап и Павловская - Программирование на языке высокого уровня C\C++. Критика была 90% ко мне. я не критиковал, а просто попросил после пары пойти в лабораторию и все проверить.
Думаю все правильно сделал. С преподом почти на "ты". )

Цитата Сообщение от MrGluck Посмотреть сообщение
Я не ошибаюсь никогда
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
27.05.2012, 07:07     Самостоятельное изучение C++ #51
Сообщение было отмечено автором темы, экспертом или модератором как ответ
У нас тоже по учебе начался С++, вот как раз к сессии готовлюсь, пишу КР. Там методичка по Borland C++ (тот самый), примеры кода не то что в современном компиляторе компилироваться не будут, а даже в Borland C++. Описание С++ содержит ошибки и неточности. В общем все как надо
Помнится 2 семестра назад мы проходили основы Си, задания каждый должен был выбрать любое из предложенных. Я не стал писать писать Hello World, принес свой класс vectror, который у меня уже давно был написан. Там я, как обычно, использовал список инициализирующих значений конструктора. Меня просто убил вопрос препода: "А зачем вы члены через двоеточие инициализируете, ведь наследования нет?" Пришлось открыть ему тайну, что так делается не только в случае наличия наследования
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
27.05.2012, 11:24     Самостоятельное изучение C++ #52
Цитата Сообщение от instagib Посмотреть сообщение
могу прикрепить аудиозапись
Сделайте одолжение, хочется послушать))
daslex
27.05.2012, 13:42
  #53

Не по теме:


char *S="hello";
S[1]='o';

в Turbo, в Borland, в Visual компилирует, а вот в mingw крэш, да?
нет у меня mingw, поэтому не знаю чего там и как у вас было.

Скажем так, я вообще ничего не знаю, поэтому ни в чем убеждать никого не буду. Читал пост на форуме по стадиям развития программиста, так вот независимо от того препод неправ или instagib неправ - instagib напоминает мне ту стадию звезданутости, когда программист всем и вся доказывает что он прав (не поймите неправильно). Это нейтральный взгляд и исключительно личное мнение.

silent_1991
27.05.2012, 13:51
  #54

Не по теме:

daslex, проблема в том, что когда преподаватель говорит полутора сотням начинающих программистов заведомо неправильные вещи - это очень хреново. Потому что переучиваться после того, как сразу научился неправильно, очень сложно.

alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
27.05.2012, 14:06     Самостоятельное изучение C++ #55
хорошо когда вообще не учат, а дают работу на выполнение к концу сессии и в течение семестра и парочку источников для черпания информации. Ну а ты сам уже со своими сорцами ходишь и долбишь: "правильно так или так и почему"? Программированию наверное вообще невозможно "научить", а вот остальные навыки во ВТУЗе очень даже доставляют. И вариант такой же, к концу семестра предоставить чертеж и расчетную часть устройства, в течение семестра выполнить ряд работ. Где и как ты работаешь не должно интересовать препода. Его задача тебя нагрузить работой и спросить результат. Конечно если он глуп это осложняет ситуацию, но начальник всегда прав.
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
27.05.2012, 14:06     Самостоятельное изучение C++ #56

Не по теме:

silent_1991 , согласен. но это вопрос поведения. не нужно выставлять преподавателя идиотом и выставлять его насмех., чтобы всем доказать свою правоту в тем более если прав. Если хочешь быть правым, старайся быть правым во всем. С этим и сам instagib согласен. А правильно сделать так, чтоб препод извинился перед аудиторией и сказал свою ошибку. То о чем сказал ув. Mr.Gluck

вообщем я его довел, и мне принесли ноут с компилятором minGW-c++
что вызвало у него большое удивление и смех в зале
только из-за этих вещей и напоминает



Если же говорить по теме, то мне непонятна эта ситуация. Да, я изучаю сам, но ни разу не попадалось в глаза этого момента и не попадется многих других. А я бы сказал это реально огромный минус самостоятельного изучения и плюс такого где предмет преподают.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
27.05.2012, 14:22     Самостоятельное изучение C++ #57
Цитата Сообщение от daslex Посмотреть сообщение
А я бы сказал это реально огромный минус самостоятельного изучения и плюс такого где предмет преподают.
Дело в том, что программирование почти нигде правильно не преподают. За все время лично у меня исходник смотрели только во 2 семестре, и то аспирант. Это впрочем лучше, чем когда попадаются преподы самодуры. К сожалению, действительно гениальных я не встречал. То ли дело по матану

Ну согласись, неправильно, когда какой-то зеленый студент, прочитавший полкниги Дейтелов уже разбирается в программировании лучше чем человек, который по идее должен учить будущих программистов. Конечно да, главным является толкнуть в нужном направлении и дать литературу. Но проверять то тоже надо, и не ехе-шник, а смотреть на стиль, указывать на ошибки. А так у нас 75% группы еще не знает, что размер массива должен быть константой, половина, что память надо освобождать, а четверть, что индексация массива начинается с 0. А при виде их исходников волосы шевелятся на всех местах. Но оно ведь работает, и не важно, что при вводе некоторых значений происходит жесткий краш. Лабы принимают, и они остаются в полной уверенности, что умеют "кодить".
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
27.05.2012, 14:39     Самостоятельное изучение C++ #58
Цитата Сообщение от daslex Посмотреть сообщение
char *S="hello";
S[1]='o';
в Turbo, в Borland, в Visual компилирует, а вот в mingw крэш, да?
нет у меня mingw, поэтому не знаю чего там и как у вас было.
Скомпилируется-то оно в любом случае. Но при запуске программа должна сломаться.
Видимо, вы настолько начинающий, что не знаете, что константы изменять нельзя(а здесь происходит именно это).

Цитата Сообщение от daslex Посмотреть сообщение
instagib напоминает мне ту стадию звезданутости, когда программист всем и вся доказывает что он прав (не поймите неправильно)
А что в этом плохого? Из спора с интересным собеседником можно почерпнуть очень многое. Главное - не переходить на личности и уметь признавать свои ошибки.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
27.05.2012, 15:15     Самостоятельное изучение C++ #59
Цитата Сообщение от silent_1991 Посмотреть сообщение
alkagolik, это поможет именно в Visual Studio. Фактически же мой совет всегда один и тот же: пишешь консольку - запускай из консольки.
есть такая консолька Console2. Кинул ее в корень -> c:\Console2>
Интересн вопрос как написать батник. В нем прописать путь к компилятору и в качестве аргументов передать путь к исходнику и путь к выходному .exe? чтобы получить примерно такое
Код
c:\console2>make.bat "c:\\projects\\poject\\*.cpp" "c:\\projects\\project\\debug"
Насколько вообще в виндовс развит скриптовый язык?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2012, 15:53     Самостоятельное изучение C++
Еще ссылки по теме:

изучение с++ C++
C++ Изучение С++
Изучение с++ C++

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

Или воспользуйтесь поиском по форуму:
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
27.05.2012, 15:53     Самостоятельное изучение C++ #60
Да. начинающий.
Знаю что константы менять нельзя.
Я ж сразу написал ничего не знаю. Я не врал.

Я это не чтобы доказывать что-то писал. Просто сам по себе момент представляет из себя всего лишь одну такую ситуацию из множества других всевозможных. Из этой ситуации можно немного взвесить за и против. (это каждому по своему). Мне повезло, да. Я попал на тему когда она актуальна, обсуждается. Увидел, прочел, закрепил. А другие самоучки? Это уже фактор везения повезет зацепит или нет. Разбирая простые примеры мне и в голову не приходило задать подобный вопрос ни себе ни кому-то другому.

По поводу спора. Вопрос не в самом споре, а в том как его поставить. Публичный спор-одно, личный спор это другое.

Цитата Сообщение от MrGluck Посмотреть сообщение
Ну согласись

Не по теме:

Уча других, мы учимся сами. Л.А.Сенека


Есть такая ситуация, что человек вынужден учится у человека который разбирается хуже. Это наверное все видели в каком-либо предмете. О чем может думать такой студент? Да я бы с радостью и не ходил сюда, но меня изначально поставили в такое положение где я впустую потрачу все свое время. (как один из вариантов мыслей)

Добавлено через 36 минут
silent_1991
я вернусь к вашим словам про заведомо неправильные вещи.
Тут вопрос еще в том, о чем вообще говорит преподаватель.
Ведь в borland c++3.1 и turbo C всё это работает, а значит там это не константное выражение. (Да это старые компиляторы, там нет стандартов и миллион веских причин еще. Я понимаю. Надо взять новые, убить тех кто использует старые и т.д и т.п.).
В новых не работает и как мне пояснил ув. diagon при запуске сломается.

И получается, что каждый о своем и каждый по своему прав.

Вот и зачем это: Ты идиот, а я умный?
Yandex
Объявления
27.05.2012, 15:53     Самостоятельное изучение C++
Закрытая тема Создать тему
Опции темы

Текущее время: 03:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru