Oksy
Гость
|
|
« : 15-03-2006 16:50 » |
|
Люди, подскажите как быть. Простейшая прога, написаная в Turbo C 3.0, не хочет работать в Dev-Cpp. При компиляции выдается куча ошибок, как например, функция main должна возвращать целое значение, clrscr() не распознается,... Можно ли как-то настроить компилятор Dev-Cpp на дружелюбное отношение к стандарту языка, используемого в Turbo C 3.0(не знаю как он называется)?
|
|
« Последнее редактирование: 15-03-2006 16:59 от Oksy »
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #1 : 15-03-2006 16:59 » |
|
компиляторы разные... надо все проблемы порешать, например, чтоб работало clsstr() надо подключить <conio.h>, в main поставить тип int и выходить при помощи return <код возврата>.
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
Oksy
Гость
|
|
« Ответ #2 : 15-03-2006 17:01 » |
|
Все это есть. Согласна, с возвратом значения int все сработало. Но вот при включенном conio.h clrscr(), все же, не распознается:(
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #3 : 15-03-2006 17:41 » |
|
код и список ошибок в студию!
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #4 : 15-03-2006 18:57 » |
|
А чем вообще мотивирован выбор этого Dev-Cpp? Какие цели преследовались?
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Oksy
Гость
|
|
« Ответ #5 : 16-03-2006 13:35 » |
|
dimka, это мотивировалось тем, что стоит W2000, а у него, как известно, проблемы с рускими шрифтами под DOS(даже с SP4). Я понимаю, что эта "проблема" и не проблема вовсе, если покапаться где надо, но все же... Это во-первых, а во-вторых, набирать код программы на старинном синем досовском экране - менее приятно, чем под Windows. И, если совсем откровенно, то просто понравился интерфейс Dev-Cpp:) PooH, код и список ошибок будет чуть позже - денег на инете нет, а мой "провайдер" из города смотался:( Надеюсь через недельку приедет.
|
|
|
Записан
|
|
|
|
Михалыч
|
|
« Ответ #6 : 16-03-2006 16:42 » |
|
Проблема решается "на раз". Берем не ТурбоС 3.0 (я так понял - он не понравился, интерфейс не тот и т.п. потому и Dev-Cpp) Берем Борланд С++ версии 5.02 (или 5), это была последняя по-моему версия этой ветки компиляторов. Там есть нормальная виндовая интегрированная среда (и нормально создаются как консольные приложения винды, так и приложения для ДОС). На мой взгляд - очень удобная. Я этим инструментом пользовался несколько лет, пока программировал под ДОС. Достать его абсолютно беспроблемно. По поводу установки и русских букв - вообще без проблем. Смотри мою статью вот тут http://www.cppwmeste.r2.ru/?razdel=bcpp&show=articles&id=2Этот сайт похоже умер давным давно, но в сети еще есть. Я там авторствовал несколько лет назад.
|
|
|
Записан
|
Поживем - увидим... Доживем - узнаем... Выживу - учту
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #7 : 16-03-2006 18:56 » |
|
dimka, это мотивировалось тем, что стоит W2000, а у него, как известно, проблемы с рускими шрифтами под DOS(даже с SP4). Я понимаю, что эта "проблема" и не проблема вовсе, если покапаться где надо, но все же... Это во-первых, а во-вторых, набирать код программы на старинном синем досовском экране - менее приятно, чем под Windows. И, если совсем откровенно, то просто понравился интерфейс Dev-Cpp:) Эксплуатировал разные версии Win2K (и клиентскую, и серверные), с разными SP, как русские, так и английские с 2000 по 2005 год - нигде не видел проблем с русскими буквами в DOS. Последняя ОС, где были проблемы с русскими буквами, это MS DOS 6.2, но в те времена усиленно ходили всякие keyrus и т.п. драйверы экрана и клавиатуры. Так что скорее всего остальные причины .
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Михалыч
|
|
« Ответ #8 : 17-03-2006 07:55 » |
|
Да нету там проблем с языком. Разве что проблема перекодировки ANSI-OEM и все...
|
|
|
Записан
|
Поживем - увидим... Доживем - узнаем... Выживу - учту
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #9 : 17-03-2006 12:42 » |
|
Разве что проблема перекодировки ANSI-OEM и все... И такой проблемы нет в Borland C++ 3.1 - в комплекте есть специальная утилитка для этой перекодировки fconvert.exe.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
nikedeforest
|
|
« Ответ #10 : 17-03-2006 13:02 » |
|
dimka, у меня, например, тоже были проблемы с ANSI-OEM, правда я их не решал, лень было .
|
|
|
Записан
|
ещё один вопрос ...
|
|
|
Михалыч
|
|
« Ответ #11 : 17-03-2006 16:35 » |
|
Разве что проблема перекодировки ANSI-OEM и все... И такой проблемы нет в Borland C++ 3.1 - в комплекте есть специальная утилитка для этой перекодировки fconvert.exe. Дык, и я о том же Это не проблема, утилита и в ВС++ 5 осталась. И с той же целью. Но ведь для решения "проблемы" ее применить надо
|
|
|
Записан
|
Поживем - увидим... Доживем - узнаем... Выживу - учту
|
|
|
LP
Помогающий
Offline
|
|
« Ответ #12 : 17-03-2006 19:25 » |
|
набирать код программы на старинном синем досовском экране - менее приятно, чем под Windows. И, если совсем откровенно, то просто понравился интерфейс Dev-Cpp:)
Oksy, если надоел синий досовский экран, то тогда и про clrscr() и тому подобное забудь. Если не ошибаюсь, компиляторы под windows такие функции не поддерживают. Используй такую функцию: #include <windows.h> #include <tchar.h>
DWORD fill_con(TCHAR c) { HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); DWORD dw; COORD coord = {0, 0}; FillConsoleOutputCharacter(hCon, c, 80*25, coord, &dw); return dw; }
DWORD clrscr() { return fill_con(_T(' ')); }
|
|
« Последнее редактирование: 20-12-2007 14:55 от Алексей1153++ »
|
Записан
|
Если эта надпись уменьшается, значит ваш монитор уносят
|
|
|
Oksy
Гость
|
|
« Ответ #13 : 18-03-2006 06:02 » |
|
Здравствуйте! Михалыч, спасибо за ссылку. LP, для того, чтобы что-то забыть, сначала нужно это что-то усвоить. Я понимаю, что Turbo C - это уже старомодно и малоэффективно, но раз уж начала изучать программирование с него, думаю, следует дойти в этом направлении до какого-либо логического конца, к тому же говорят, в семействе языков Си, Turbo C - самый простой способ для понимания принципов Си, если это понимание начинается с нуля. И еще, пробежалась слегка по литературе Г.Шилдта, поняля, что в Turbo C есть все необходимое для "создания программ мирового уровня, написанных на Си"(это я об исчезающих и иерархических меню). Всем. Что вы можете сказать о Шилдте, как об авторе лит-ры по программированию на Си? Помоему, это самый лучший вариант для тех, кто хочет изучить Си, используя на практике Turbo C от Borland.
|
|
|
Записан
|
|
|
|
Михалыч
|
|
« Ответ #14 : 18-03-2006 06:17 » |
|
Шилдт - это уже своего рода классика. Если собираешся изучать "чистый" С, а не С++, то Турбо С вполне подойдет. Хотя и староват. Я все же взял бы ВС++ 5 (только не Builder, не путай). А уж если С++ изучать будешь, тут Турбо С не помошник. вTurbo C есть все необходимое для "создания программ мирового уровня, написанных на Си"(это я об исчезающих и иерархических меню). Ну да, есть, и для того времени - мирового уровня. Хотя, тогда уж лучше взять Борлард С++ 3.1 - по интерфейсу один в один почти турбо С, но это уже С++, ну и библиотеку TurboVision (она в 3.1 есть) - тут тебе будут и меню и окошки и что хошь
|
|
|
Записан
|
Поживем - увидим... Доживем - узнаем... Выживу - учту
|
|
|
Oksy
Гость
|
|
« Ответ #15 : 18-03-2006 06:30 » |
|
Михалыч, для меня Си и Си++, пока что, два разных языка. Я согласна с тем, что нужно изучать второй, но время потеряно, начала изучать первый и даже 50% диплома на нем написала. Поэтому решила добить диплом на Си, а за одно и сам язык освоить до более или менее приемлемого уровня. Ну а после всего этого можно бутет приступить и к Си++:)
|
|
|
Записан
|
|
|
|
nikedeforest
|
|
« Ответ #16 : 18-03-2006 12:47 » |
|
LP, не знаю как в С++ Билдере, а на Visual С++ создавая консольное приложение вполне можно использовать clrscr(). К тому же там по сути можно использовать все то, что и в BC++3.1 использовалось. Это я клоню к тому, что Шилдта можно изучать, работая на современных компиляторах
|
|
« Последнее редактирование: 18-03-2006 12:54 от nikedeforest »
|
Записан
|
ещё один вопрос ...
|
|
|
Михалыч
|
|
« Ответ #17 : 18-03-2006 14:56 » |
|
Именно поэтому я и предложил ВС++ 5.02. Ничто не мешает изучать С используя его...
|
|
|
Записан
|
Поживем - увидим... Доживем - узнаем... Выживу - учту
|
|
|
LP
Помогающий
Offline
|
|
« Ответ #18 : 25-03-2006 16:59 » |
|
LP, не знаю как в С++ Билдере, а на Visual С++ создавая консольное приложение вполне можно использовать clrscr().
У меня не работает. Надо что-то подключить?
|
|
|
Записан
|
Если эта надпись уменьшается, значит ваш монитор уносят
|
|
|
nikedeforest
|
|
« Ответ #19 : 26-03-2006 09:15 » |
|
conio.h
|
|
|
Записан
|
ещё один вопрос ...
|
|
|
LP
Помогающий
Offline
|
|
« Ответ #20 : 26-03-2006 09:29 » |
|
)) Естественно я пробовал conio.h - не работает. VC 7.1
|
|
|
Записан
|
Если эта надпись уменьшается, значит ваш монитор уносят
|
|
|
nikedeforest
|
|
« Ответ #21 : 26-03-2006 11:06 » |
|
VC 7.0 у меня на работе (дома 6). Поэтому до завтра ничего сказать не могу. Хотя странно все это. Ты напиши хотя бы что не работает, какие ошибки и прочее.
|
|
|
Записан
|
ещё один вопрос ...
|
|
|
LP
Помогающий
Offline
|
|
« Ответ #22 : 26-03-2006 13:56 » |
|
Пишет, что не находит такую функцию. Открываю conio.h там нет ее объявления. Да и поиск слова clrscr по всем файлам в каталоге include ничего не дал.
|
|
|
Записан
|
Если эта надпись уменьшается, значит ваш монитор уносят
|
|
|
nikedeforest
|
|
« Ответ #23 : 26-03-2006 17:11 » |
|
Хм, надо думать. Завтра на работе попробую и напишу.
|
|
|
Записан
|
ещё один вопрос ...
|
|
|
nikedeforest
|
|
« Ответ #24 : 27-03-2006 13:07 » |
|
Ха, и в правду лажа какая-то. Вот маразм. Думал на днях студию поставить, а теперь не буду. Единственное может из-за МСДН поставлю, а писать один фиг буду на VC++ 6.0
|
|
|
Записан
|
ещё один вопрос ...
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #25 : 27-03-2006 19:27 » |
|
А что, без conio.h на C и писать нельзя? Стандартный ввод/вывод всегда есть. Имхо, больше и не нужно. На всё прочее есть GUI.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
nikedeforest
|
|
« Ответ #26 : 28-03-2006 14:50 » |
|
А как же старые добрые gets, getch, textcolor, textbackground и прочее? С ними приятней рботать с консолью, чем с АПИ функциями у которых по десятку параметров. Я понимаю, что это не серьезный довод, но по честности удобные функции , по крайней мере для меня. А на АПИ я еще толком не рабоатл с консолью .
|
|
|
Записан
|
ещё один вопрос ...
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #27 : 29-03-2006 10:35 » |
|
С ними приятней рботать с консолью, чем с АПИ функциями у которых по десятку параметров. Какой API? Я вообще о том, что раскрашивать экран как новогоднюю ёлку совершенно не нужно для многих задач.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
DaN(DR)
Гость
|
|
« Ответ #28 : 09-06-2006 09:17 » |
|
В Dev-C++ библиотека conio.h поддерживается только частично, поэтому с getch() и многими другими проблем нет, а вот вместо clrscr() приходиться использовать system("cls"). Eсть еще одна полезная функция system("pause").
|
|
|
Записан
|
|
|
|
|