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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Новая книга, старый компилятор, ошибки. 
:(
    Опции темы
Rodstvennik
  Дата 18.4.2005, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем привет.

Купил книгу для изучения языка программирования С++. Автор книги Бъерн Страуструп (специальное издание) 2005г. издания на 1100 стр.
Книга без програмного обеспечения т.е без диска.

Установил на комп все компиляторы которые я нашёл в городе по С++,
и С++ 3.1 под DOS, и BorlandC++5.02, и TurboC++ но все они ругаются на некоторые новые операторы описанные в этой книге.

Вот что написано в книге, цитирую!!!

" В книге используется "ЧИСТЫЙ С++", описанный в стандарте С++[C++1997],[C++2003]. Поэтому примеры должны выполняться в любой реализации С++.

Объясните пожалуйста, что мне делать с компилятором (с компиляторами). Какой компилятор установить на комп.

Заранее большое спасибо.
PM MAIL   Вверх
Artiom
Дата 18.4.2005, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

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



Показывай что не компилится


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
Rodstvennik
Дата 19.4.2005, 06:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот к примеру первая маленькая программа описанная в книге.
(файл прилогается)

При компиляции в Borland C++ компилятор ругается на неизвестный оператор COUT- в книге написанно что: cout - поток стандартного вывода.

В дальнейших примерах из книги ещё больше ошибок.

Заранее большое спасибо.

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  proekt1.1.cpp
PM MAIL   Вверх
Alastis
Дата 19.4.2005, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 15.11.2004
Где: Казахстан, Астана

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



неудивительно, что не компилируются... эти компиляторы гораздо старше нового чистого С++smile
найди VS NET, все будет работать без проблем...
а в твоем случае - такая директива присутствует:
Код

#include <iostream.h>
?


--------------------
Прости, что я говорю, когда ты меня перебиваешь.
PM MAIL WWW ICQ   Вверх
Rodstvennik
Дата 19.4.2005, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вечером попробую поковыряться .

Извините за вопрос новичка, а что такое VS NET?
Гдето я встречал такое выражение.

Спасибо ещё раз.




PM MAIL   Вверх
Alastis
Дата 19.4.2005, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 15.11.2004
Где: Казахстан, Астана

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



Visual Studio NET, в него входит и Visual C++


--------------------
Прости, что я говорю, когда ты меня перебиваешь.
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 19.4.2005, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

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



слушай.... мил чел. если это - то что ты присобачил - и есть вся программа, то читал ты не очень хорошо книгу Страуструпа.

1. любая _программа_ на любом языке 2-го уровня и выше должна иметь точку начала.
в C++, C и других многих языках - это функция "main". с неё программа начинает бежать.
т.е. если ты хочешь не только компилять но и запускать, ты обязан реализовать main.
main может быть одного из видов:
Код

void main(){}
int main(){}
int main(int argc, char** argv){ return 0; }
int main(int argc,char** argv, char** envv){return 0;}


т.е. программа должна иметь не только твою функцию но и функцию main.смотри ниже.

2. то что ты присобачил - компиляется на ура. нужно только добавить заголовок iostream, и указать использование именного пространства std. т.е. в начале файла добавь:
Код

#include <iostream>
using namespace std;
// tut dalee tvoja funkcija.

вторая строка нужна потому, что "cout" имеется не только в std. если не хочешь писать 2-ю строку, пиши полное имя функции:
Код

std::cout << "bla" ;

но это некрасиво smile
( я пробовал на g++ - ГНУ-Си++ компиляторе - скачать отсюда: http://gcc.gnu.org/ )


3. если ты хочешь СТАНДАРТНЫЙ компилятор, то не важно в какой среде ты работаешь установи работу компиляеттора в стандарте ANSI.


4. программа, к-рая будет работать и запускаться:
Код

#include <iostream>
using namespace std;
bool accept()
{
    cout<< " Budete prodol - y(da) ili n(net)?\n ";
    char answer=0;
    cin>>answer;
    if (answer=='y')return true;
    return false;
}
// main - objazan byt' sozdan. ego vyzyvajut kogda zapuskajut programmu.
int main(){
         // main mog prosto vyzvat' accept(); no on 
         bool otvet=accept();
         cout << "vash otvet byl: ";
         if (false==otvet)
              cout << "NET";
         else 
               cout << "DA";
         cout << endl;
         return 0;
}


5. если тебе нужна среда обучения и разработки, взвесь использование свободной оперативной системы ( Linux или FreeBSD ). они тебе дают возможность понять как работает _ВСЁ_ в системе.
в отличии от Винды. кроме того, они законно бесплатны и взяв их ты не нарушаешь никаких законов. если-же ты хочешь изпользовать MS-Visual Studio, то приготовься заплатить несколько сот $. есссно можно достать и незаконную копию. но всего в системе оне тебе всё равно не покажет т.е. в отладчике kernel32.dll не отладишь.

Это сообщение отредактировал(а) bilbobagginz - 19.4.2005, 08:58


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Rodstvennik
Дата 19.4.2005, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

Описанные выше примеры действительно работают, но их описания я нашёл в конце книги, а именно как примечание, или дополнение, в главе(устранение ошибок). Вот почему я и задался вышеупомянутыми вопросами. Кто знал, что для решения первых примеров нужно прочесть последнюю главу книги, логически это както не укладывается в голове. Поэтому не будьте так строги к начинающему.

Ещё раз спасибо.

С уважением ко всем. Рустам.


PM MAIL   Вверх
bilbobagginz
Дата 20.4.2005, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

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



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

если хочешь изучать язык, и учиться программить, стоит воспользоваться онлайновыми источниками напр. различных универов и колледжей по комп. наукам. тогда и получишь теорию и попрактикуешься. ( материал многих курсов универов - открыт. нужно только полазить на гугле )

удачи

smile


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

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

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

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

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


 




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


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

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