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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Питоша
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 8
#1

Вопросы начинающего - C++

17.11.2010, 16:26. Просмотров 1576. Ответов 23
Метки нет (Все метки)

Здравствуйте.
Самостоятельно приступила к изучению Visual C++, т.к. наставников в шаговой доступности нет, а вопросы есть, решила обратиться сюда.
Изучаю по книге Пахомова.

В самом начале книги есть текст программы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include "conio.h"
#include "stdio.h"
#define eof -1
 
int _tmain(int argc, _TCHAR* argv[])
{
int c;
printf("Make input>\n");
c=getchar();
while (c !=eof)
{
putchar(c);
c=getchar();
}
_getch();
    
}

вопрос:
getchar() - как я поняла, в буфер пишет символ, проверяет выполнение while и потом putchar(c) выводит на экран.
Условие окончания выполнения - ввод символа Ctrl+Z.
При выполнении программы этого не происходит.

Например ввожу строчку
123с4^Z(Ctrl+z) //нажимаю <Enter>
123с4 стрелочка //программа продолжает выполняться, хотя по условию while, должна была завершиться.
Объясните, пожалуйста функцию getchar(). По одному ли символу она берет на проверку условия, или сразу всей строчкой и почему не выполняется CTRL+Z?

спасибо ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2010, 16:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопросы начинающего (C++):

Вопросы начинающего - C++
Здравствуйте в С++ я еще новичок, поэтому, если позволите то я задам несколько вопросов -class A: public B По-смыслу это значит что...

Вопрос начинающего - C++
Здравствуйте. Мне сейчас 16 лет и в сентябре я пойду в 11 класс (я школота). В будущем я хочу стать программистом. Сейчас я уже учу...

C++ для начинающего! - C++
Добрый день! Вопрос местным знатокам и гуру. Есть желание начать программировать на C++. Проблема в том, что не знаю, с чего начать. Книг...

Подскажите для начинающего! - C++
Подскажите с чего лучше начать изучать программирование для начинающего? Какие книги нужны?С какого языка начать? Программированием...

Указатели для начинающего - C++
Доброго времени суток Всем. Перерыл много литературы, но так и не понял как можно реализовать одну задачку: суть ее такова, что нужно...

вопрос от начинающего програмиста :) - C++
есть определенная форама, с набросаными на нее лейбами баттонами радиобаттонами имейджами и еще несколькими элементами.. вопрос, как...

23
Питоша
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 8
25.11.2010, 15:12  [ТС] #16
всем доброго дня.
Появился вопрос.
КОД:
C++
1
2
3
4
5
6
7
8
9
10
11
12
// I love CPP.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()
{
    cout <<"I Love C++ \n";
    return 0;
}
Без using namespace std; выдает ошибку.


Если вводить #include <iostream.h> то также выдает ошибку.
Почему?

Всегда ли нужно, если пишем #include <iostream> писать ниже using namespace std;. может просто нужно что-то подписать в iostream?
0
ForEveR
В астрале
Эксперт С++
7986 / 4745 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
25.11.2010, 15:19 #17
Питоша, iostream трогать не стоит. Это хедер и можно там такого переправить, что ничего не станет работать.

А про std - почитайте ка вы про пространства имен.
std - пространство имен. Стандартное как заметно по названию.

Можно явно указывать.

C++
1
std::cout<<;
Можно писать.

C++
1
2
using std::cout;
cout<<;
Можно писать.

C++
1
2
using namespace std;
cout<<;
Кто как. Но я предпочитаю первый вариант. А про пространство имен все-таки почитайте. Хорошая штука.
1
silent_1991
Эксперт С++
4993 / 3051 / 149
Регистрация: 11.11.2009
Сообщений: 7,038
Завершенные тесты: 1
25.11.2010, 15:24 #18
ForEveR, я тоже вариант с явным указание пространства предпочитаю.
1
Питоша
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 8
25.11.2010, 15:41  [ТС] #19
ForEveR, пока я до пространства имен не дошла, в книге просто написано.. впишите и будет работать, подробнее расскажем потом

А в явном виде получается нужно каждый раз перед cout писать std, а я как поняла написав единожды using namespase std; далее уже определять, что cout находится в std не нужно? (пишу так, как поняла я значение пространства имен, не изучая его пока, если не права-поправьте)
0
ForEveR
В астрале
Эксперт С++
7986 / 4745 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
25.11.2010, 16:00 #20
Питоша, Приблизительно верно. Но не надо вестись на простоту) Я бы посоветовал писать std:: (туда естественно включен не только cout). Или хотя бы писать using namespace std в локальной области видимости
0
kravam
быдлокодер
1704 / 891 / 45
Регистрация: 04.06.2008
Сообщений: 5,496
25.11.2010, 17:08 #21
Питоша, книга для изучения должна быть не одна. Это раз.
Второе. Если меня интересует какой-то конкретный вопрос, я спрашиваю у гугла примерно так:
"что такое using namespace std"
Наконец, вроде очень неплохо и понятно про пространство имён распиано у

Добавлено через 4 минуты
Стивена Прата "Язык программирования С++"
...Не факт, что в этой книге все вопросы и темы освещены также подробно. Но этот отсвещён нормально. ГЛава 9, "Модели памяти и пространства имён"

На вопрос "где взять эту книгу", смотри http://www.cyberforum.ru/about-forum/announcement8.html
пункт "Вопросы, которые не стоит задавать"
1
silent_1991
Эксперт С++
4993 / 3051 / 149
Регистрация: 11.11.2009
Сообщений: 7,038
Завершенные тесты: 1
25.11.2010, 21:12 #22
kravam, очень полезная ссылка, спасибо! Никогда раньше не натыкался на это руководство. Особенно мне понравилось про отсеивание неудачников - как раз то, что приходится ежедневно делать. Только вот жаль, что это не будут читать эти самые неудачники и никогда не поймут, почему на их вопрос "НАПЕШЫТИ ФАКТАРЕАЛ!!!!!!!" никогда никто не ответит...
0
Питоша
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 8
26.11.2010, 10:57  [ТС] #23
Цитата Сообщение от kravam Посмотреть сообщение
Питоша, книга для изучения должна быть не одна. Это раз.
Второе. Если меня интересует какой-то конкретный вопрос, я спрашиваю у гугла примерно так:
"что такое using namespace std"
Наконец, вроде очень неплохо и понятно про пространство имён распиано у

Добавлено через 4 минуты
Стивена Прата "Язык программирования С++"
...Не факт, что в этой книге все вопросы и темы освещены также подробно. Но этот отсвещён нормально. ГЛава 9, "Модели памяти и пространства имён"

На вопрос "где взять эту книгу", смотри http://www.cyberforum.ru/about-forum/announcement8.html
пункт "Вопросы, которые не стоит задавать"
Спасибо за совет ещё 1 книги, тоже почитаю. Остальные слова, ок, тоже спасибо, совет всё-таки, штука полезная))
0
Mr.X
Эксперт С++
3053 / 1698 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
26.11.2010, 12:59 #24
Цитата Сообщение от easybudda Посмотреть сообщение
С++ - язык программирования, на который имеется соответствующий стандарт, и компилятор, прилагаемый к MS Visual C++ этому стандарту можно сказать соответствует.
Ну, STL для разработчиков компиляторов довольно крепкий орешек, и вряд ли кому-то из них удалось избежать здесь косяков. По крайней мере в VS 2008, не говоря уже о более ранних версиях, они есть.
0
26.11.2010, 12:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2010, 12:59
Привет! Вот еще темы с ответами:

Книга для начинающего по С++ - C++
Скажите, какая книга доступно мне покажет программирование на С++??? вопрос от новичка, даже не могу ничего посоветовать... Может вы...

Книга для начинающего - C++
Подскажите, какая книга будет мне лучше, если учесть что немного знаю С#: Самоучитель по С++(читал что требуется знание языка Си) или С++...

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

Opengl и С++ для начинающего - C++
Приветствую всех! Можете пожалуйста подсказать хорошую книгу или видео урок по opengl и c++ для начинающего. Спасибо за ответы! ;)


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

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

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