Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> использование using namespace std; и не только, вопросы начинающего программиста 
:(
    Опции темы
chelser
Дата 10.10.2007, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 9.10.2007

Репутация: нет
Всего: нет



всем здрасте.

предыстория

Решил самостоятельно С НУЛЯ изучить с++ по самоучителю "С++ без страха" Б. Оверленд 2005г.

Код пишу в "Borland C++ v 4.5" 

Microsoft Visual C++ или Borland C++ Builder планирую начать использовать позже, когда появятся навык написания кода в простой среде разработки. чтоб ошибки программирования не путались с ошибками использования среды разработки. )) за это прошу не критиковать.



это была предыстория вопроса ;)



вот код программы


Код

#include <iostream.h>
//using namespace std;



int main() {
  cout << "tra-lya-lya!" << endl;
  cout << "tra-lya-lya!" << endl;
return 0;
}



вопрос 1.

using namespace std

в книгах настоятельно рекомендуют вставлять в программу эту строку. Пишут что using позволяет обращаться к обьектам например std::cout напрямую. 

у меня в коде эта строка закомментирована потому что с ней не проходит компиляция. Пишет ошибка: "Declaration syntax error".

если закомментировать, то все работет нормально. при этом я же не прописываю вывод на экран std::cout хотя по книжке я именно так должен был сделать т.к. не прописал using?

в чем проблемма?



вопрос 2.

код тот же. У меня написано "iostream.h". А в книге говорят что надо писать без "*.h ", а без такого окончания опять не проходит компиляция. пишет что не может открыть файл iostream

в чем проблемма?



вопрос 3.

Еще проблемма с выводом русских букв на экран. Типа "cout << "tra-lya-lya!"". Русские ПРОПИСНЫЕ буквы отображает нормально, а строчные отображает, но не все, те которые не отбражает оставляет вместо них пробел. Еще в самом "Borland C++ v 4.5" русский текст печатается кракозябрами.

как это можно исправить?



з.ы.

извиняюсь за длинный текст. ответы по возможности излагать на языке приближенном к "русскому" с терминологией еще проблеммы.

спасибо за понимание. заранее благодарен. smile

PM MAIL   Вверх
Daevaorn
Дата 10.10.2007, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Цитата(chelser @  10.10.2007,  13:59 Найти цитируемый пост)
у меня в коде эта строка закомментирована потому что с ней не проходит компиляция. Пишет ошибка: "Declaration syntax error".

если закомментировать, то все работет нормально. при этом я же не прописываю вывод на экран std::cout хотя по книжке я именно так должен был сделать т.к. не прописал using?

в чем проблемма?

придется критиковать компилятор, т.к. он не соотвествует стандарту, на который опирается твоя книга.
Цитата(chelser @  10.10.2007,  13:59 Найти цитируемый пост)
Код пишу в "Borland C++ v 4.5" 

Microsoft Visual C++ или Borland C++ Builder планирую начать использовать позже, когда появятся навык написания кода в простой среде разработки. чтоб ошибки программирования не путались с ошибками использования среды разработки. )) за это прошу не критиковать.

не правильная позиция. ошибки использования среды не зависят от её новизны, а вот качетво компилятора зависит. сказчай VS 2005 express.
Цитата(chelser @  10.10.2007,  13:59 Найти цитируемый пост)
в книгах настоятельно рекомендуют вставлять в программу эту строку. Пишут что using позволяет обращаться к обьектам например std::cout напрямую. 

плохие книги. лучше такую конструкцию не использовать. всегда явно указывать пространство имен - хороший стиль.
Цитата(chelser @  10.10.2007,  13:59 Найти цитируемый пост)
код тот же. У меня написано "iostream.h". А в книге говорят что надо писать без "*.h ", а без такого окончания опять не проходит компиляция. пишет что не может открыть файл iostream

в чем проблемма?

компилятор


Цитата(chelser @  10.10.2007,  13:59 Найти цитируемый пост)
Еще проблемма с выводом русских букв на экран. Типа "cout << "tra-lya-lya!"". Русские ПРОПИСНЫЕ буквы отображает нормально, а строчные отображает, но не все, те которые не отбражает оставляет вместо них пробел. Еще в самом "Borland C++ v 4.5" русский текст печатается кракозябрами.

как это можно исправить?

взять другой компилятор


PM MAIL WWW   Вверх
mrbrooks
Дата 10.10.2007, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 2
Всего: 306



Комрад а если писать так:
Код

#include <iostream>
using namespace std;



int main() {
cout << "tra-lya-lya!" << endl;
cout << "tra-lya-lya!" << endl;
return 0;
}


а что бы русский шрифт в консоли работал номано юзай chelser функцию CharToOem  smile 

Это сообщение отредактировал(а) mrbrooks - 10.10.2007, 13:43
PM MAIL   Вверх
akizelokro
Дата 10.10.2007, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Цитата

Код пишу в "Borland C++ v 4.5" 

Borland C++ был выпущен в 1994 году. STL была включена в стандарт С++ весной 1994 года.  Трудно требовать от компилятора полной поддержки стандарта, если компилятор писался во время или сразу после "по горячим следам" изменений стандарта. Но если ты собираешься изучать стандарт, то как начинающий начинающему посоветую поменять компилятор на более свежий.
(Кстати, не в самых новых учебниках прописывались такие ситуации (<iostream.h>).




--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
Daevaorn
Дата 10.10.2007, 15:24 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Цитата(akizelokro @  10.10.2007,  16:18 Найти цитируемый пост)
STL была включена в стандарт С++ весной 1994 года.

официальный стандарт С++ появился в 1998 году.
PM MAIL WWW   Вверх
mrbrooks
Дата 10.10.2007, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 2
Всего: 306



А ну тогда все что я написал к коту под лохматый хвост   smile 
PM MAIL   Вверх
Alek86
Дата 10.10.2007, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



Daevaorn, ты и сам ВСЕГДА пишешь std:: перед стандартными функциями?

тут же речь о мелких прогах идет, тут еще можно.
главное, не зацикливаться, ибо в больших проектах, согласен, std:: писать надо.


--------------------
user posted image    user posted image
PM MAIL   Вверх
Daevaorn
Дата 10.10.2007, 18:48 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Цитата(Alek86 @  10.10.2007,  19:44 Найти цитируемый пост)
ты и сам ВСЕГДА пишешь std:: перед стандартными функциями?

да
Цитата(Alek86 @  10.10.2007,  19:44 Найти цитируемый пост)
тут же речь о мелких прогах идет, тут еще можно.

привычку надо отрабатывать всегда.
PM MAIL WWW   Вверх
SergeCpp
Дата 10.10.2007, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 15
Всего: 124



Удивительно (и очень часто встречаю) — неужели является секретом имя автора C++?

Почему изучение начинается с книг весьма и весьма экстравагантных?..

Почему бы не приобрести оригинал?..

Слухи о трудности книги Страуструпа (если они повлияли на выбор) — весьма преувеличены smile

Кстати, вот работа Страуструпа Learning Standard C++ as a New Language

PM MAIL WWW ICQ   Вверх
Greeen
Дата 10.10.2007, 19:55 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 7
Всего: 18



SergeCpp, поддерживаю. Иногда диву даешься сколько всякий "С++ без проблем", "С++ бархатный путь" и еще всяких извращений на полках книжных магазинов. А реально стоящих книг раз-два и все.


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
chelser
Дата 10.10.2007, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 9.10.2007

Репутация: нет
Всего: нет



Цитата

SergeCpp, поддерживаю. Иногда диву даешься сколько всякий "С++ без проблем", "С++ бархатный путь" и еще всяких извращений на полках книжных магазинов. А реально стоящих книг раз-два и все. 

Не совсем с вами согласен. Книги на которые вы ссылаетесь не спрю лучше, но информация в них преподносится так будто ее читающий минимум чемпион мира по программированию. Чайнику в данном вопросе очень трудно понять изложенную информацию. Выбор данной книги обусловлен исключительно вышеизложенным. Конечно после того как войду в курс дела воспользуюсь более серьезной литературой.

Добавлено через 3 минуты и 21 секунду
т.е. насколько я понял, то все мои вопросы сходятся к тому что я использую устаревший компилятор?

Добавлено через 6 минут и 45 секунд
Цитата

то как начинающий начинающему посоветую поменять компилятор на более свежий.

плз подскажите где можно скачать новый компилятор
и как заменить его
PM MAIL   Вверх
SergeCpp
Дата 10.10.2007, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 15
Всего: 124



Цитата(chelser @  11.10.2007,  00:41 Найти цитируемый пост)
Чайнику в данном вопросе очень трудно понять изложенную информацию

Я был чайником в данном вопросе (C++)

Взял и прочитал дома, тихо, спокойно, 1-е издание (самое старое) — полностью всё

Потом купил 2-е издание (в двух томах), таким же образом прочёл его — полностью всё

Сложностей при чтении особых не встретил

Интернетов с форумами не было да и незачем это (думать самому нужно)

PM MAIL WWW ICQ   Вверх
Daevaorn
Дата 10.10.2007, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Цитата(chelser @  10.10.2007,  23:41 Найти цитируемый пост)
т.е. насколько я понял, то все мои вопросы сходятся к тому что я использую устаревший компилятор?

абсолютно точно
Цитата(chelser @  10.10.2007,  23:41 Найти цитируемый пост)
плз подскажите где можно скачать новый компилятор

Если канал широкий
http://msdn2.microsoft.com/en-us/evalcenter/bb655864.aspx
если нет, то
http://msdn2.microsoft.com/ru-ru/express/aa975050.aspx
хорошие, современные компиляторы с одними из лучших в индустрии IDE
Цитата(chelser @  10.10.2007,  23:41 Найти цитируемый пост)
и как заменить его 

просто установи. и не забудь удалить старый, от греха подальшеsmile
PM MAIL WWW   Вверх
chelser
Дата 10.10.2007, 23:47 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 9.10.2007

Репутация: нет
Всего: нет



SergeCpp
извините что задел ваше драгоценное самолюбие
PM MAIL   Вверх
archimed7592
Дата 12.10.2007, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(Alek86 @  10.10.2007,  18:44 Найти цитируемый пост)
ты и сам ВСЕГДА пишешь std:: перед стандартными функциями?

Я вот всегда пишу - у меня это уже рефлекс... Даже в форумах, 2-3 строчные примеры пишу с std.

Цитата(SergeCpp @  10.10.2007,  19:16 Найти цитируемый пост)
Слухи о трудности книги Страуструпа (если они повлияли на выбор) — весьма преувеличены smile

Я, имея огромный опыт работы на С++, испытывал огромные трудности при попытке объяснить другу некоторые примитивные понятия по Страуструпу. Сначала я читал и полчаса втыкал что же там написано, потом, ещё дольше пытался объяснить другу, что там написана чушь и только потом, за 10 минут объяснял ему что к чему. Естественно, чушью являлся не изложеный в Страустпупе материал, а пришедшее к другу понимание вопроса после прочтение страниц из Страуструпа, а это очень хорошо говорит о "таланте" Страуструпа писать книги.
OTOH, "D&E" - очень хорошая книга и, надо сказать, читать её было интересно, но даже такой интересный материал Страус умудрился изложить так, что порой приходилось пролистывать страницы(ибо скукотища).
ИМХО, если Страуса и нужно читать(я про "The C++ PL"), то, только после получения очень хороших навыков "мышления на С++", с той целью, чтобы уточнить нужные тонкости языка и то, только в том случае, если не хватает технического английского, чтобы читать Стандарт.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0669 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.