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

Какую книгу из приведенного списка стоит прочесть? - C++

Восстановить пароль Регистрация
Другие темы раздела
SFML Sfml, как вставить картинку? http://www.cyberforum.ru/cpp-beginners/thread1236397.html
2д игра, как заместь закрешеных блоков поместить туда тайл, ну то есть картинку в rectangle.setFillColor(Color::Black); void Map::loadmap(String TileMap,float offsetX, float offsetY) { RectangleShape rectangle( Vector2f(64, 64)); for (int i=0; i<H; i++) for (int j=0; j<W ; j++)
C++ Сократить количество символов кода #include <fstream> using namespace std; int main(){ifstream f("input.txt"); ofstream c("output.txt"); int a,m,q,r=0; f>>a; for(int i=0;i<a;i++) {f>>m; }f>>q; while(q) http://www.cyberforum.ru/cpp-beginners/thread1236372.html
C++ Как по-настоящему обучиться c++ без привязок(винапи,.) то есть чистому языку но и не консоли
Пожалуйста гугл не предлагайте и прочую хрень))) просто вопрос не типа как в Windows Form вызвать 2ю форму а конкретно
C++ Простой консольный конвертер валют - проверить корректность реализации
Всем привет! Я новичок на вашем форуме, как и в C++. Изучаю его третий день. Вот решил подкрепить свои знания и написать простенький конвертер валют. Думаю, что я его еще буду усовершенствовать, а пока гляньте на мой код. (Наверно, я совсем быдлокодер:-#include <iostream> using namespace std; void usd_rub(); void usd_eur(); void rub_usd(); void rub_eur(); void eur_usd(); void eur_rub();
C++ Почему выводит неверный результат при вычислении произведения? http://www.cyberforum.ru/cpp-beginners/thread1236300.html
Еще 1 вопрос из разряда нубских: #include<iostream> #include<cmath> using namespace std; int main() { setlocale(0, ""); int n,N; double s=1; cout<<"Ââåäèòå ãðàíèöó ïðîèçâåäåíèÿ N= ";
C++ Изменение каждого бита WAV-файла - файл "портится" Нагуглил здесь https://ccrma.stanford.edu/courses/422/projects/WaveFormat/ что данные в формате wav начинаются с 44 байта. Из файла я получаю байтовый массив. Изменяю младший бит, например, в первом байте данных, то есть в 44-ом, сохраняю файл, но он уже не воспроизводится. Не могу разобраться с этой структурой. Может кто шарит в этом? Мне нужно в каждом байте данных изменить младший бит так,... подробнее

Показать сообщение отдельно
gru74ik
Модератор
 Аватар для gru74ik
3121 / 1347 / 167
Регистрация: 20.02.2013
Сообщений: 3,852
Записей в блоге: 17
31.07.2014, 10:16     Какую книгу из приведенного списка стоит прочесть?
Цитата Сообщение от uglyPinokkio Посмотреть сообщение
Прата, Язык программирования C++. Лекции и упражнения
http://www.ozon.ru/context/detail/id/7979735/
Или Дейтел и Дейтел.
Поддерживаю.

Добавлено через 13 минут
Не успел отредактировать. Продолжу тут.

Но уже со страницы 61 он начнёт подбуксовывать:
Кликните здесь для просмотра всего текста

Функция извлечения квадратного корня является типичным примером
«хорошего стиля» для процедурной парадигмы. Получив аргумент в виде числа с
плавающей точкой двойной точности, она вырабатывает искомый результат. Для этого она
выполняет хорошо известные математические вычисления:
C++
1
2
3
4
5
6
7
8
9
double sqrt (double arg) 
{ 
// код для вычисления квадратного корня 
}
 
void f() 
{ 
double root2 = sqrt(2); 
}
Фигурные скобки, {}, в языке C++ предназначены для группировки. Здесь они
указывают начало и конец тела функции. Двойная наклонная черта, //, означает
начало комментария, который занимает всю оставшуюся часть строки. Ключевое
слово void указывает здесь на отсутствие у функции возвращаемого значения
(возврата).
С точки зрения организации программ, функции используются для наведения
порядка в хаосе алгоритмов. Сами алгоритмы записываются с помощью
функциональных вызовов и других средств языка. В следующих подразделах бегло
рассматриваются простейшие средства языка C++, предназначенные для организации
вычислений.

2.3.1. Переменные и простейшая арифметика
Каждое имя в программе и каждое выражение имеют определенный тип,
задающий набор допустимых для них операций. К примеру, следующее объявление
int inch;
устанавливает, что inch относится к типу int, то есть inch является целочисленной переменной.
Объявление является оператором (statement), вводящим имя в программу. Оно
связывает имя с типом. Тип определяет, что должно (допустимо) делать с именем
или выражением.
Язык C++ имеет ряд встроенных типов, имеющих непосредственное отношение
к устройству электронных узлов (процессор и оперативная память) компьютера.
Например:
bool // логический, возможные значения - true и false
char // символьный, например, 'а', 'z', и '9'
int // целый, например, 1, 42, и 1216
double // вещественные числа с двойной точностью, например, 3.14 и 299793.0
Для заданного компьютера переменная типа char имеет естественный размер,
используемый для хранения символа (как правило, один байт), а переменная типа
int — естественный размер, используемый для вычислений с целыми числами
(обычно называемый словом).
С любой комбинацией этих типов можно выполнять следующие
арифметические операции:
C++
1
2
3
4
5
6
+   // плюс, унарный и бинарный
-   // минус, унарный и бинарный
*   // умножение
/   // деление
%   // остаток от деления (второй операнд не может иметь тип
    // с плавающей запятой)
А также операции сравнения:
C++
1
2
3
4
5
6
==  // равно 
!=  // не равно
<   // меньше чем 
>   // больше чем 
<=  // меньше или равно 
>=  // больше или равно
Для арифметических операций и операций присваивания C++ выполняет
имеющие очевидный смысл преобразования типов, так что их можно использовать
смешанным образом:
C++
1
2
3
4
5
6
7
void some_function () // функция, не возвращающая значение 
{ 
double d = 2.2; //инициализировать число с плавающей запятой 
int i = 7; // инициализировать целое число 
d = d+i; // присвоить сумму переменной d 
i = d*i; //присвоить произведение переменной i 
}
Как и в языке С, знак = используется для операции присваивания, а знак ==
используется для операции сравнения на равенство.

2.3.2. Операторы ветвления и циклы
Язык C++ обеспечивает общепринятый набор операторов ветвления и цикла.
Для примера рассмотрим функцию, выводящую приглашение к вводу и
возвращающую булевское (логическое) значение, зависящее от ввода пользователя:
C++
1
2
3
4
5
6
7
8
bool accept () 
{ 
cout << "Do you want to proceed {y or n) ? \n"; // вывести вопрос 
char answer = 0; 
cin >> answer; //считать ответ 
if (answer == 'y' ) return true; 
return false; 
}
Операция << («вставить в поток») используется как операция вывода, a cout
представляет собой стандартный поток вывода. Операция >> («извлечь из потока»)
используется как операция ввода, a cin представляет собой стандартный поток
ввода. Правый операнд операции >> принимает введенное значение, причем само это
значение зависит от типа операнда. Символ \n в конце выводимой строки означает
переход на новую строку.

И так далее в таком же духе. После такого у новичка, скорее всего, глаза на лоб полезут. А если он ещё из тех, кто подзабыл школьный курс математики и не очень хорошо знает английский, то с высокой долей вероятности он просто забросит С++, вынеся для себя вердикт "Это слишком сложно. С++ - это не для меня" - что вовсе не обязательно будет правдой. Всего-то, надо было начать с Дейтелов или Праты.

Добавлено через 9 минут
В общем, дальше прочтения 2-й главы ("Обзор языка С++"), я думаю, дело у новичка не пойдёт.
 
Текущее время: 01:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru