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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема перехода с одного компилятора на другой 
:(
    Опции темы
N1ko
Дата 23.3.2008, 03:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Здравствуйте... У меня возникла проблема... Работал сначала в банальном turbo с++  и решил от него перейти к dev-c++. но в результате перехода, программы написанные на С++ 3 просто не компилятся на dev-c++.  Влзможно проблема в библиотеках? Как мне её решить?
PM MAIL ICQ   Вверх
archimed7592
Дата 23.3.2008, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(N1ko @  23.3.2008,  03:42 Найти цитируемый пост)
Влзможно проблема в библиотеках?

Основная проблема в доисторичности упомянутого компилятора(тот что турбо).


Цитата(N1ko @  23.3.2008,  03:42 Найти цитируемый пост)
Как мне её решить? 

Каждую конкретную проблему нужно решать по отдельности...


--------------------
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   Вверх
bsa
Дата 23.3.2008, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



N1ko, на данный момент можно посоветовать только одно - переписывай программу.
Если ты хотя бы ошибки показал, то можно было бы что-то другое посоветовать.
PM   Вверх
N1ko
Дата 23.3.2008, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну в общем действительно есть несколько конкретных проблем...

1)Меня интересует как вообще подключать библиотеки в этом компиляторе. Некоторые прописываются с ".h" некоторые без неё(например iostream)
   Можно ли сделать так, что бы подключать библиотеки по одному принципу? И обязательной ли является строка "using namespace std;"?

2) Не работает оператор Clrscr()... Как это исправить?
    Вот собственно как компилятор ругается C:\TC\DOC\1234.cpp `clrscr' undeclared (first use this function). То есть насколько я понял библиотека "conio.h" уже является не актуальной.  

3)Ну и третья проблема с графикой. Никак не смог подключить графику. Не могли бы вы дать пример простейшей программы с граффикой?(Ну например рисование круга или тп) И насколько я помню в турбо С++ нужно было прописывать пути к графике... Если та же ситуация и в dev-C++, расскажите пожалуйста  поподробнее как это сделать.

На данном этапе пока с другими проблемами не сталкивался. За ранее спасибо.
PM MAIL ICQ   Вверх
bsa
Дата 23.3.2008, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(N1ko @ 23.3.2008,  14:29)
1)Меня интересует как вообще подключать библиотеки в этом компиляторе. Некоторые прописываются с ".h" некоторые без неё(например iostream)
   Можно ли сделать так, что бы подключать библиотеки по одному принципу?
По стандарту С++ все стандартные заголовочные файлы подключаются без указания расширения (для си-шных еще нужно букву 'c' добавлять перед названием: #include <cstdio>). Если заголовочный файл ты создал сам, то можешь ему давать любой расширение (обычно, .h, .hpp, .hxx).
Цитата(N1ko @ 23.3.2008,  14:29)
И обязательной ли является строка "using namespace std;"?
Не только не обязательна, а нежелательна. Подобное можно использовать только в малюсеньких программах типа HelloWorld. В остальных программах крайне желательно указывать пространство имен для каждого класса/функции/объекта:
Код
#include <iostream>
#include <cmath> //почти тоже самое, что в Си math.h
int main()
{
    std::cout << "Hello, world" << '\n';
    std::cout << "sin PI/4 = " << std::sin(M_PI / 4) << std::endl;
    return 0;
}
Как вариант, можно делать так:
Код
#include <iostream>
#include <cmath> //почти тоже самое, что в Си math.h
int main()
{
    using std::cout; //в пределах функции cout будет интерпретироваться как std::cout
    cout << "Hello, world" << '\n';
    cout << "sin PI/4 = " << std::sin(M_PI / 4) << std::endl;
    return 0;
}

Цитата(N1ko @ 23.3.2008,  14:29)
2) Не работает оператор Clrscr()... Как это исправить?
    Вот собственно как компилятор ругается C:\TC\DOC\1234.cpp `clrscr' undeclared (first use this function). То есть насколько я понял библиотека "conio.h" уже является не актуальной.
conio.h является борландовским расширением и кроме как у нее нигде (или почти нигде) нет. Соответственно, функции clrscr() тоже нет. Если нужна особая работа с консолью, то поищи в гугле по словам: msdn console

Цитата(N1ko @ 23.3.2008,  14:29)
3)Ну и третья проблема с графикой. Никак не смог подключить графику. Не могли бы вы дать пример простейшей программы с граффикой?(Ну например рисование круга или тп) И насколько я помню в турбо С++ нужно было прописывать пути к графике... Если та же ситуация и в dev-C++, расскажите пожалуйста  поподробнее как это сделать.
Борландовской графики нигде, кроме борландовских компиляторов под DOS, нет. Если тебе нужна графика, то нужно использовать средства операционной системы (WinAPI, например) или кроссплатформенные библиотеки (QT, GTK, wxWidgets и пр.).
PM   Вверх
N1ko
Дата 23.3.2008, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



И ещё один вопрос... Чуть не забыл... Если в dev-c++ не существует clrscr() соответственно и не существует оператора getch()(поскольку библиотека для подключения одна и та же)... Чем его можно заменить?
PM MAIL ICQ   Вверх
bsa
Дата 23.3.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



N1ko, смотря для чего он тебе нужен. Если "дождаться нажатия клавиши", то подойдет что-то вроде std::cin.ignore(std::cin.gcount()).get() - ожидание ввода.
А вообще, я уже сказал как искать.
PM   Вверх
susanin
Дата 23.3.2008, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



чтобы не создавать тему ради одного вопроса спрошу здесь...

Цитата(bsa @  23.3.2008,  15:14 Найти цитируемый пост)
Не только не обязательна, а нежелательна

а почему так??? почему нежелательна?
PM MAIL   Вверх
JackYF
Дата 23.3.2008, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


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

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



Цитата(susanin @  23.3.2008,  16:27 Найти цитируемый пост)
почему нежелательна? 

Попробую ответить по аналогии: захочешь ли ты тащить в свой дом всё, что ты нашёл на улице, устраивая свалку? Или, ты занесёшь нужный тебе десяток вещей?
Так вот... using namespace <...> - этим ты говоришь компилятору: "А... когда-нибудь да пригодится. Тащи всё.". Чем усложняешь потом жизнь себе (в перспективе) и компилятору (именно он будет в n раз дольше разбираться в этой свалке).

Это сообщение отредактировал(а) JackYF - 23.3.2008, 17:49


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
archimed7592
Дата 23.3.2008, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



susanin, наслаждайся. Если попыхтеть, можно найти др. обсуждения на эту тему.


--------------------
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   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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