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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
#1

Как быть дальше? - C++

27.03.2010, 17:02. Просмотров 1153. Ответов 22
Метки нет (Все метки)

День добрый.
Собственно сложилась такая ситуация -
Имеется огромное желание изучать дальше языки программирование, и все то, что с ними связано.
Возможно около месяца назад, стал изучать С++. Изучил на начальном уровне - функции/циклы/массивы.
Так же затрагивал темы классов, но понял, мне это еще рано.
Собственно к чему я все это пишу.
Какие темы мне стоит затронуть далее, возможно примеры задач, или еще что-то.
Какой вы учебник посоветуете для меня, из своего личного опыта? Знаю, учебников куча, но не все они подойдут.

Заранее благодарен, буду ждать ответа.

PS. Тапками не закидывайте
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2010, 17:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как быть дальше? (C++):

Куда и как двигаться дальше? - C++
Здравствуйте! Я совсем недавно начал изучение программирование и все мои знания в этой области были получены из книги Ритчи и Кернигана...

Как перебросить исключение дальше в обработчике исключения? - C++
Допустим, я работаю с сетью и пытаюсь обратиться к некторому хосту и если он не отвечает, то бросается исключение-объект наследник...

Как дальше доделать? Посмотрите. Почему она не работает? - C++
Определить, есть ли в данном массиве строка, состоящая только из отрицательных элементов. #include <iostream> #include <stdlib.h> ...

Как заставить программу не выгружаться из памяти и работать дальше? - C++
Возьмем банальный пример клавиатурный шпион или чтонить в этом роде... Проект Win32 application я разместил в конце ВинМайн цикл...

Разместить флажки на прямой как можно дальше друг от друга - C++
На прямой отмечены N точек, имеющих координаты X0, X1, ..., XN - 1. В этих точках нужно расставить M флажков, причём флажки нужно...

Чем дальше в лес, тем больше дров. Не соображу, как собрать в кучу - C++
К окончанию курсов по С++ нам приурочили мини-дипломную работу. Сначала я посчитала, что ничего сложного в этом нет. Но по мере моих...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Voron8
13 / 13 / 1
Регистрация: 28.04.2009
Сообщений: 62
27.03.2010, 19:40 #16
меня немножко напрягает, что intro объявляется как символ, а записывается массив.
Может так:
C++
1
2
3
4
5
cout << "Igraem? (Y/N)";
char intro;
cin >> intro;
if (intro=='Y')
..............
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
28.03.2010, 01:23  [ТС] #17
Nameless One, Огромное спасибо, сильно благодарен.
За комментарии, отдельное спасибо.
Не понятно кое-что ^^
1)
C++
1
2
3
4
char intro[4];
        cin >> intro;
                //Сравнение строк производится специальной функцией
        if (strcmp(intro, "Yes")==0)
Подробнее объясните этот момент пожалуйста.

2)
C++
1
if(!attempts)//Чтобы сообщение о начале выводилось только один раз
Почему в скобках именно так?

Спасибо.


ПС - Voron8, у меня так и было сделано первоначально, не работало.
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
28.03.2010, 07:16 #18
  1. Функция int strcmp(const char* s1, const char* s2) возвращает отрицательное число, если строка s1<s2, нуль, если строки идентичны, положительное число, если s1>s2
  2. Оператор "!" инвертирует логическое выражение. Если expr==false, то !expr==true. В языке С первоначально не было встроенного булевого типа, и его функции выполнял тип int. Нулевое значение интерпретировалось как false, ненулевое - как true. При первой итерации цикла while значение attempts==0, т.е. false, a !attempts==true, и сообщение выводится. В дальнейшем attempts принимает ненулевые значения, и логическое выражение !attempts становится ложным. Таким образом, сообщение выводится только один раз. Условие if(!attempts) аналогично условию if(attempts==0)
1
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
28.03.2010, 11:18  [ТС] #19
Теперь я это понял, спасибо.
Последнее, еще -
C++
1
char intro[4];
Почему мы не обошлись просто
C++
1
chat intro;
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
28.03.2010, 15:39 #20
char intro - это единичный символ, char intro[4] - это массив символов (строка). Мы проверяем, равна ли введенная строка (!) строке "Yes", и выделяем для хранения ответа пользователя массив не из 3, а из 4 символов потому, что в строку неявно вставляется нуль-терминатор '\0' - символ, который обозначает конец строки. Таким образом, строка "Yes" состоит из символов 'Y', 'e', 's', '\0'.
1
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
29.03.2010, 21:04  [ТС] #21
Ребят, а в чем смыл этого -
C++
1
2
3
4
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
Этот код входит в стандарт любой программы в Visual C++ .. поэтому и хотел узнать.
0
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
30.03.2010, 10:10 #22
neske, это главная функция консольного приложения. При запуске приложения ОС передает управление именно ей. При этом аргументы с которыми была запущена программа (если они указывались при запуске), записываются в массив argv, а их количество в argc.
Главная функция потока при выходе должна возвращать целочисленный код, свидетельствующий о успешности ее выполнения. Обычно 0 свидетельствует о том, что программа завершилась без ошибок.
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
30.03.2010, 10:47 #23
И еще, _TCHAR - это макрос, который, в зависимости от того, определены ли макросы _UNICODE, _MBCS, SBCS, "раскрывается" либо в тип char, либо в тип wchar_t
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2010, 10:47
Привет! Вот еще темы с ответами:

я учусь на высшке на программиста.. какие могут быть задачи на экзамене 1й курс .2й семестр!!.. должны быть классы!! - C++
я учусь на высшке на программиста.. какие могут быть задачи на экзамене 1й курс .2й семестр!!.. должны быть классы!!.. например какие...

Раздельная компиляция: как быть, если код не компилируется, так как два файла подключают друг друга? - C++
Доброго времени суток. У меня есть какой-нибудь x.h: #include &quot;y.h&quot; class A { vector&lt;B*&gt; v; } и y.h:

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

Подскажите как сделать, например "для продолжения нажмите клавишу х" и дальше выводится результат с шагом заданым пользователем - C++
Подскажите как сделать, например &quot;для продолжения нажмите клавишу х&quot; и дальше выводится результат с шагом заданым пользователем


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.03.2010, 10:47
Ответ Создать тему
Опции темы

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