Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/160: Рейтинг темы: голосов - 160, средняя оценка - 4.57
 Аватар для GTS
25 / 26 / 3
Регистрация: 02.04.2012
Сообщений: 293

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

15.05.2012, 00:43. Показов 32380. Ответов 79
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Есть потребность изучить 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 минут
неужели ни кто подсказать не может
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.05.2012, 00:43
Ответы с готовыми решениями:

Понятен материал учебника, но не получается самостоятельное решение задач
Здравствуйте. Читаю книжку Дейтелов, переписываю код, который дан в учебнике, потом читаю пояснения к строкам и в общем-то всё понимаю,...

Изучение С++
Доброго времени суток! Решил изучать ЯП С++. Посоветуйте уроки, статьи для изучение этого языка. Желательно без книг, т.е. по книгам...

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

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


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


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

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

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.
2.
3.

Потом я запускаю это чудо, жму F5 и появляется командная строка буквально на 1 сек и тут же пропадает, почему так? как быть? оно ведь не должно исчезать.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
27.05.2012, 00:25
GTS, жмите Ctrl+F5.
1
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
27.05.2012, 00:36
Цитата Сообщение от 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.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
27.05.2012, 01:18
alkagolik, это поможет именно в Visual Studio. Фактически же мой совет всегда один и тот же: пишешь консольку - запускай из консольки.
0
122 / 85 / 16
Регистрация: 14.02.2011
Сообщений: 340
27.05.2012, 02:47
на счет ВУЗов, действительно лучше самообучаться. к примеру в прошлую пятницу был поток по 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 могу прикрепить аудиозапись, удачно получилось записать
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
27.05.2012, 03:20
У меня в ВУЗе все кончилось тем, что препод сказал: Раз такой умный - будешь читать лекции по С++ сам. Итог: 5 автоматом, учитывая что он никому такого подарка не делал, я прочел несколько лекций - всем понравилось. Давал на том уровне, на котором была группа.
Но спорить с преподом во-первых, опасно. Во-вторых, это должна быть дискуссия, а не базар. В-третьих, подрывать авторитет препода умышленно - некрасиво. Лучше указывать на ошибки после пары наедине. В-четвертых, ответ должен быть аргументирован, а не я знаю, я читал. Должны быть ссылки, примеры. В-пятых, если видите, что человек не терпит критику - не лезьте на рожон, вам ему экзамен сдавать, а не ему вам. Завалят и будете локти кусать, раз такой инициативный.
С нынешним преподом у меня была другая ситуация. Он допустил ошибку в блок-схеме. Я подошел после пары, пытался ему показать. Его ответ: "Я не ошибаюсь никогда". Вот с такими людьми даже смысла нет разговаривать. А на след. пару он сообщил: "Я нашел ошибку."
1
122 / 85 / 16
Регистрация: 14.02.2011
Сообщений: 340
27.05.2012, 03:26
MrGluck, Вы асболютно правы. Дело в том что с моей стороны это не было как цель подорвать его авторитет или базар. Все было на довольно ровном тоне. Ссылку привел на 2 источника C++ Страустрап и Павловская - Программирование на языке высокого уровня C\C++. Критика была 90% ко мне. я не критиковал, а просто попросил после пары пойти в лабораторию и все проверить.
Думаю все правильно сделал. С преподом почти на "ты". )

Цитата Сообщение от MrGluck Посмотреть сообщение
Я не ошибаюсь никогда
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
27.05.2012, 07:07
Лучший ответ Сообщение было отмечено как решение

Решение

У нас тоже по учебе начался С++, вот как раз к сессии готовлюсь, пишу КР. Там методичка по Borland C++ (тот самый), примеры кода не то что в современном компиляторе компилироваться не будут, а даже в Borland C++. Описание С++ содержит ошибки и неточности. В общем все как надо
Помнится 2 семестра назад мы проходили основы Си, задания каждый должен был выбрать любое из предложенных. Я не стал писать писать Hello World, принес свой класс vectror, который у меня уже давно был написан. Там я, как обычно, использовал список инициализирующих значений конструктора. Меня просто убил вопрос препода: "А зачем вы члены через двоеточие инициализируете, ведь наследования нет?" Пришлось открыть ему тайну, что так делается не только в случае наличия наследования
4
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
27.05.2012, 11:24
Цитата Сообщение от instagib Посмотреть сообщение
могу прикрепить аудиозапись
Сделайте одолжение, хочется послушать))
0
27.05.2012, 13:42

Не по теме:


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

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

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

0
27.05.2012, 13:51

Не по теме:

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

0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
27.05.2012, 14:06
хорошо когда вообще не учат, а дают работу на выполнение к концу сессии и в течение семестра и парочку источников для черпания информации. Ну а ты сам уже со своими сорцами ходишь и долбишь: "правильно так или так и почему"? Программированию наверное вообще невозможно "научить", а вот остальные навыки во ВТУЗе очень даже доставляют. И вариант такой же, к концу семестра предоставить чертеж и расчетную часть устройства, в течение семестра выполнить ряд работ. Где и как ты работаешь не должно интересовать препода. Его задача тебя нагрузить работой и спросить результат. Конечно если он глуп это осложняет ситуацию, но начальник всегда прав.
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
27.05.2012, 14:06

Не по теме:

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

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



Если же говорить по теме, то мне непонятна эта ситуация. Да, я изучаю сам, но ни разу не попадалось в глаза этого момента и не попадется многих других. А я бы сказал это реально огромный минус самостоятельного изучения и плюс такого где предмет преподают.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
27.05.2012, 14:22
Цитата Сообщение от daslex Посмотреть сообщение
А я бы сказал это реально огромный минус самостоятельного изучения и плюс такого где предмет преподают.
Дело в том, что программирование почти нигде правильно не преподают. За все время лично у меня исходник смотрели только во 2 семестре, и то аспирант. Это впрочем лучше, чем когда попадаются преподы самодуры. К сожалению, действительно гениальных я не встречал. То ли дело по матану

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

Цитата Сообщение от daslex Посмотреть сообщение
instagib напоминает мне ту стадию звезданутости, когда программист всем и вся доказывает что он прав (не поймите неправильно)
А что в этом плохого? Из спора с интересным собеседником можно почерпнуть очень многое. Главное - не переходить на личности и уметь признавать свои ошибки.
2
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
27.05.2012, 15:15
Цитата Сообщение от silent_1991 Посмотреть сообщение
alkagolik, это поможет именно в Visual Studio. Фактически же мой совет всегда один и тот же: пишешь консольку - запускай из консольки.
есть такая консолька Console2. Кинул ее в корень -> c:\Console2>
Интересн вопрос как написать батник. В нем прописать путь к компилятору и в качестве аргументов передать путь к исходнику и путь к выходному .exe? чтобы получить примерно такое
Code
1
c:\console2>make.bat "c:\\projects\\poject\\*.cpp" "c:\\projects\\project\\debug"
Насколько вообще в виндовс развит скриптовый язык?
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
27.05.2012, 15:53
Да. начинающий.
Знаю что константы менять нельзя.
Я ж сразу написал ничего не знаю. Я не врал.

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

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

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

Не по теме:

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


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

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

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

Вот и зачем это: Ты идиот, а я умный?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2012, 15:53
Помогаю со студенческими работами здесь

Изучение С++
Дайте, пожалуйста, ссылку на сайт, где очень подробно описаны строки, функции для них и операции с ними!

Изучение
Всем привет. Я изучаю программирование чуть меньше года (сразу начал с Си++), подскажите плз, как лучше поступать. Учить определённую тему...

изучение C до C++
объязательно изучить C до изучения C++ ?

Изучение с++
Знаю основной синтаксис + ООП. Что посоветуете почитать актуального на сегодняшний день?

Изучение
Сейчас я учу с++ и delphi, правильно ли будет учить эти язык так : например одинаковые темы (классы и т.д) и одновременно их учить? И какой...


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

Или воспользуйтесь поиском по форуму:
60
Закрытая тема Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru