Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.64/109: Рейтинг темы: голосов - 109, средняя оценка - 4.64
30 / 28 / 4
Регистрация: 03.06.2010
Сообщений: 465
1

Начало программирования на C++

03.02.2012, 17:26. Просмотров 21504. Ответов 25
Метки нет (Все метки)

Решил заняться программированием на C++. Скачал учебник Харви Дейтел, Пол Дейтел "Как программировать на C++". Начало отличное. Всё обьясняет как, да что.
У меня Borland C++ 6. Программа вроде нормально запустилась на Win7. Дошёл до первой практики.
Как создать точно не знал. Стёр код который был уже написан и вписал свой. Компилятор ругался на TForm и ещё что то там. Понял что форма не описана. Создал новый Console Wizard. Глянул вроде форм нет. Снова снёс весь код и вписал в свой. И чёрт бы их побрал.
Первый код:
C++
1
2
3
4
5
6
7
8
//Первая программа на C++
#include <iostream.h>
 
main ()
{
        cout <<"Добро пожаловать в C++!\n" ;
        recount 0; // показывает что программа успешно закончена.
}
cout не работает, говорит что ошибка сдесь. recount 0; неопознанное значение. Зашибись! Посоветуйте нормальный учебник рассчитанный на новичков. На реальных новичков!
Пожалуйста обьясните что такое #include <vcl.h> и зачем нужно.
И ещё обьясните #pragma hdrstop и #pragma argsused. Для чего это нужно?
Ещё раз попрошу пожалуйста скажите какие учебники почитать? Какие мне подойдут?
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2012, 17:26
Ответы с готовыми решениями:

Начало программирования
Подскажите книжку для начала программирования на c++, а то я не уверен что Стивен Прата подходит...

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

Начало изучения программирования на C++
Расскажите, как вы учились писать на C++, какую литературу использовали, с какими трудностями...

Начало программирования на C++
Доброго времени. Я сейчас пишу программы на C#, но озадачился вопросом кросс-платформенности,...

25
98 / 98 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
03.02.2012, 17:34 2
Цитата Сообщение от No10 Посмотреть сообщение
Как создать точно не знал.
Создавайте пустой проект, а лучше всего консольный.


Цитата Сообщение от No10 Посмотреть сообщение
Первый код:
C++
1
2
3
4
5
6
7
8
//Первая программа на C++  - и похоже лучше ее компилить под Turbo C++ (уже не помню где еще этот компилятор есть)
#include <iostream.h> //Этого стандарта уже нет.
 
int /*и что же должна возвращать функция ?*/main ()
{
        /*std::*/cout <<"Добро пожаловать в C++!\n" ;
        /*recount 0;*/return 0; // показывает что программа успешно закончена.
}

Цитата Сообщение от No10 Посмотреть сообщение
Ещё раз попрошу пожалуйста скажите какие учебники почитать? Какие мне подойдут?
Начинайте с чего-то проще, как Страустрап и Ричи.
1
Эксперт С++
5037 / 3097 / 271
Регистрация: 11.11.2009
Сообщений: 7,047
03.02.2012, 17:38 3
Цитата Сообщение от ШКІПЕР Посмотреть сообщение
Страустрап
Ну точно!

Цитата Сообщение от ШКІПЕР Посмотреть сообщение
Ричи
А причём здесь С++?

Добавлено через 1 минуту
No10, Дейтелы отлично подойдут для новичков. Ваша проблема в среде разработки. Скачайте лучше кодблокс.
1
Эксперт С++
5811 / 3462 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
03.02.2012, 17:51 4
Цитата Сообщение от No10 Посмотреть сообщение
Ещё раз попрошу пожалуйста скажите какие учебники почитать? Какие мне подойдут?
Литература C++
0
1 / 1 / 2
Регистрация: 16.12.2011
Сообщений: 47
03.02.2012, 18:20 5
Очень хорошая и легко читаемая книга для начинающего -
Роберт Лафоре.Объектно-ориентировочное программирование вС++.
1
54 / 43 / 5
Регистрация: 16.07.2011
Сообщений: 73
03.02.2012, 19:40 6
Лучший ответ Сообщение было отмечено как решение

Решение

No10, 1)#include - это директива препроцессора которая подключает заголовочные файлы с расширением .h Для того чтобы мы могли использовать код написанный в других модулях мы должны сначала подключить этот модуль директивой #include а справа указать имя модуля который хотим подключить если мы напишем так #include <vcl.h> то мы сообщаем препроцессору что подключаемый файл нужно искать во всех папках отведенных для хранения файлов с расширением .h если же напишем так - #include "vcl.h" то препроцессор будет искать наш файл сначала в текущем каталоге, а затем если он не найдет файл будет выполнять все действия как если бы мы написали так #include <vcl.h>,Директива # include заменяется препроцессором на содержимое указанного в ней файла. Обычно это заголовочные файлы с расширением .h.
2)#pragma hdrstop - #pragma-это директива препроцессора в ней
использована опция hdrstop. Она связана с особенностью работы препроцессора, производительность которого существенно повышается, если учитывается, что некоторое количество заголовочных файлов общие для всех модулей. Директива #pragma hdrstop указывает компилятору конец списка таких общих файлов. Так что надо следить за тем, чтобы не добавлять перед этой директивой включение каких-то заголовочных файлов, не являющихся общими для других модулей.
3)#pragma argsused ,#pragma-это директива препроцессора в ней
Например, #pragma argsused говорит компилятору, что следует подавить выдачу предупреждающего сообщения о том, что параметры функции main () никак в ней не используются.
Вообще это дебри и тебе сейчас их знать ни к чему со временем все узнаешь!

Добавлено через 9 минут
No10, Советую почитать книгу С++ Базовый курс автор Герберт Шилдт
у него в книгах минимум ошибок и все объясняет как новичку хотя пишет книги для профессионалов!
Сам учусь по ней с удовольствием!
4
30 / 28 / 4
Регистрация: 03.06.2010
Сообщений: 465
03.02.2012, 20:10  [ТС] 7
ааа скачал Страустрап Б. Блин начинаю делать первый пример:
C++
1
2
3
4
5
#include
main()
{
        coun << "Hello, world!!!\n";
}
Чёрт говорит в #include ошибка! А Страустрап говорит что это скажет компилятору, что бы он включил стандартные возможности вводы/вывода. Блин что за чёрт не могу написать Hello,world! Скачал потом Роберт Лафоре.Объектно-ориентировочное программирование вС++.
Прочитал начало первый пример опять начинается с #include <iostream.h>. Блин и опять ничего не пашет! Потому что это устрело.

Добавлено через 2 минуты
начальный код в моём C++ Borlande выглядит так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
0
Эксперт С++
5037 / 3097 / 271
Регистрация: 11.11.2009
Сообщений: 7,047
03.02.2012, 20:10 8
No10, вот такой код удовлетворяет последнему стандарту:
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main()
{
    std::cout << "Hello, World!" << std::endl;
    
    return 0;
}
http://liveworkspace.org/code/... 07c13e6fb8
0
30 / 28 / 4
Регистрация: 03.06.2010
Сообщений: 465
03.02.2012, 20:10  [ТС] 9
пожалуйста скажите как научиться C++?
0
Эксперт С++
5037 / 3097 / 271
Регистрация: 11.11.2009
Сообщений: 7,047
03.02.2012, 20:11 10
Лучший ответ Сообщение было отмечено как решение

Решение

No10, вам нужно создавать консольное приложение, а не оконное. Я не работал в борланде, поэтому говорю на основе опыта работы с другими IDE. А вообще, я уже писал, начните с чего-нибудь попроще, например, с Code::Blocks.

Добавлено через 34 секунды
Цитата Сообщение от No10 Посмотреть сообщение
пожалуйста скажите как научиться C++?
Как завещал Ленин.
3
быдлокодер
1718 / 905 / 106
Регистрация: 04.06.2008
Сообщений: 5,613
03.02.2012, 21:57 11
Нужно собраться с мыслями. Не ты первый, не ты последний, кто на этом застревал

Будь готов к тому, что ты найдёшь распрекрасную книгу и распрекрасную среду и примеры из первой не будут компиляться во второй. Ничего не попишешь Поэтому чисто и честно ищешь менее прекрасную книгу или менее прекрасную среду, главное чтобы примеры компилились

Будь готов, что одной книгой не обойтись. Две-три для начала.

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

От себя советую Dev-Cpp. Маленькая русскоязычная. Недавно обновился компилятор- вот уж не ожидал. Начинай с просто примера.

Взялся было объяснять "Hello, word" на C++, но поймал себя на мысли что не могу. А объяснить на С запроса не было...
0
30 / 28 / 4
Регистрация: 03.06.2010
Сообщений: 465
04.02.2012, 08:16  [ТС] 12
тоесть если я буду работать в сторонней среде разработки C++(ну тоесть не Microsoft Visual C++ или борланд), то я не смогу работать с графикой ни векторной ни трехмерной, ни с библиотеками OpenGL, я не смогу создавать красивые приложения для виндовс, не смогу работать с формами? А буду писать обычные математические задачки в консоле? Типо как на паскале АБЦ.
0
Эксперт С++
5037 / 3097 / 271
Регистрация: 11.11.2009
Сообщений: 7,047
04.02.2012, 08:27 13
Цитата Сообщение от No10 Посмотреть сообщение
сторонней среде разработки C++
Сторонней по отношению к чему? С++ не привязан ни к какой среде разработки и изначально не содержит никаких возможностей для работы с графикой. Всё, что предоставляют среды разработки (средства визуальной разработки) - обёртка над WinAPI (ну или другим системным API, в зависимости от ОС). Вы можете с тем же успехом писать на WinAPI в текстовом редакторе "Блокнот" и компилировать код в консоли. Но среды разработки предоставляют средства автоматической генерации такого кода - визуальные редакторы форм.
1
30 / 28 / 4
Регистрация: 03.06.2010
Сообщений: 465
04.02.2012, 09:38  [ТС] 14
silent_1991, да это верно. Но я хочу именно научиться визуальному программирования в средах Борланда или Майкрасофт. Вот допустим в Вorland Delphi 7 открыл и написал за неделю прекрасную программу, и не нужно знать ни WinAPI потому что это очень длинно писать, только сам делфи. Так же и с различными библиотеками будь то GDI Или Direct3d, залил её, модуль присоединил и пошел работать. А как понять c++ я просто не представляю, это нужно или мозг иметь повернутый в другую сторону или учить его стоя на голове. Не знаю. Я писал все на делфи, но мне реально нужно уменьшать вес приложений, вот я и пришел к выводу учить c++. Но пока как пишут в самоучителях что у него очень обширные возможности, пока этого не увидел. Выучить его очень бы хотелось, но как учить если я вообще не пойму как он вообще работает. Саму систематику не пойму. Хотя прочитал книг 10 до первого примера, и этот пример ни где не работает. Я бы зубрил все эти функции днями и ночами,писал программы, но где они? Что учить? Что писать если ничего не работает и никто не может толком обьяснить как это все устроено. Например где находятся переменные? Как их обьявить? Какие есть модули и как их подключить? Как обьявлять константы? Ни в одном самоучителе я этого не увидел.
0
185 / 185 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
04.02.2012, 09:39 15
Вам надо читать 5ое издание Дейтелов( все там нормально объясняется и все работает) и писать код в совеременных компиляторах, таких как Microsoft Visual Studio 2008/2010, ggc.
0
Эксперт С++
5037 / 3097 / 271
Регистрация: 11.11.2009
Сообщений: 7,047
04.02.2012, 10:00 16
Цитата Сообщение от No10 Посмотреть сообщение
Ни в одном самоучителе я этого не увидел.
Конечно, раз вы дальше первого примера не доходили. Нигде не видел хеллоуворлд, в котором использовались бы функции, переменный и вообще что-то сложнее вывода на консоль. Ваша проблема, как я говорю уже в третий (!) раз - устаревшая среда разработки. Выше я выложил код, который компилируется любым более-менее современным компилятором. И советую вам учить язык не на борланде или вижуал студии, а на чём-нибудь полегче. На чём именно, я также говорил уже не раз в этой теме. Вы всё равно не сможете сразу начать шлёпать формочки, для этого надо выучить сам язык. А уж выучив язык, вы сможете подстроиться под конкретный фрэймвёрк (будь то борланд, майкрософт или кьют).
1
Эксперт С++
1060 / 839 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
04.02.2012, 11:45 17
Добавлю свои три копейки.
1. Язык С++
2. Компилятор - g++ в minGW
3. Qt+QtCreator - и будет тебе счастье с окошками.
0
54 / 43 / 5
Регистрация: 16.07.2011
Сообщений: 73
04.02.2012, 12:40 18
No10, Первое правило - никогда не торопись узнать все и сразу! эта ошибка многих начинающих программистов.
Второе правило-Повторяй полностью весь пример программы за автором книги по которой учишься,до тех пор пока не получишь результата о котором говорит автор.Если результата нет, а автор утверждает что он должен быть! скорее всего ты выбрал книгу с опечатками -срочно поменяй книгу.
Некоторые авторы считают не нужным говорить и описывать все моменты описания кода программы, что новичков приводит в тупик, так они не понимают куда что писать!Но спешу тебя обрадовать многие авторы книг описывают язык программирования как младенцу и что либо не понять просто не возможно.
Например ты начал читать книгу и понимаешь, что на самом деле ничего не понимаешь! ищи другую книгу, которую начав читать ты сразу начнешь вникать в смысл этой книги.Прочитав эту книгу ты с легкостью поймешь все другие книги которые не понимал до этого.
1
быдлокодер
1718 / 905 / 106
Регистрация: 04.06.2008
Сообщений: 5,613
04.02.2012, 12:49 19
Цитата Сообщение от No10 Посмотреть сообщение
тоесть если я буду работать в сторонней среде разработки C++(ну тоесть не Microsoft Visual C++ или борланд), то я не смогу работать с графикой ни векторной ни трехмерной, ни с библиотеками OpenGL, я не смогу создавать красивые приложения для виндовс, не смогу работать с формами? А буду писать обычные математические задачки в консоле? Типо как на паскале АБЦ.
С чего ты взял? Тем более странно писать такие сообщения после моих, ну может я что не так написал, не знаю. Но до OpenGL ещё надо дорасти. Твоё желание кропать графику понятно, но забудь о нём до поры до времени. Короче, всё верно тебе сказали. Всё, хватит вопросов. Кодить, кодить и ещё раз кодить. При возникновении ошибок писать сюда только в КРАЙНЕМ случае. Любое диагностическое сообщение компилятора набирать в гугле! Коды набирать ОТ РУКИ!
1
Shiningemerald
383 / 116 / 22
Регистрация: 05.01.2012
Сообщений: 880
24.06.2012, 16:55 20
Цитата Сообщение от No10 Посмотреть сообщение
пожалуйста скажите как научиться C++?
напишите курсовую работу=)
я более менее в С++ разбираться стала после написания курсовой, днями и ночами! во всем главное усердие: сидеть и долбить)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2012, 16:55

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

Начало программирования
Здравствуйте с успехом владею ООП и SQL. НО, в данный момент устраиваюсь на работу в 1С, дали...

Начало программирования
Здравствуйте, уважаемые программисты. Мне 16 лет и учусь я в 11 класе, а дальше учится надо. Только...

Начало программирования 1С
Всем здрасти!!! Дело в том, что я хотел бы стать программистом 1С. Но у меня нет никакого опыта. В...

Начало программирования МК PIC16F877 на ASM
Всем привет, недавно только начал программирование на Ассемблере (матушка Универ заставила), хотел...

Начало изучения программирования ios
Здравствуйте, недавно заинтересовался разработкой приложений на Ios. Знаю, что нужно иметь mac os....

Начало программирования под Android
Решил начать программировать под Андроид. Есть знания С++, но начальные (можно сказать знаю основы...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.