Перейти к содержимому
Открыть в приложении

Лучший способ просмотра. Узнать больше.

АнимеФорум

Полноэкранное приложение на домашнем экране с push-уведомлениями, значками и другими функциями.

Чтобы установить это приложение на iOS и iPados
  1. Нажмите на иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите Добавить на домашний экран.
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите на меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на домашний экран или Установить приложение.
  3. Подтвердите, нажав Установить.

С, С++, Pascal, Basic, Assembler и другие языки программирования, hex-редакторы

мя очень надеется найти

 

Borland C++ версия 3.1

 

и будет оч-чень благодарна, если вы дадите ссылочку туда, где можно это скачать.

 

Понимаете, у мя она уже была на компе (тогда мя не качала из Сети, а брала у кого-то из друзей), но после переустановки винды часть прог и документов оказалась потеряна ^_^

 

так что граждане-форумчане!! помогите чем можете, не дайте загнуться студенту!!!

заранее спасибо!

Будущее уже наступило. Просто оно еще неравномерно распределено

Gendo Ikari is an anagram for "ignore a kid"

[Yuri][Общество любителей кошек][Дядьки]team

  • Ответы 232
  • Просмотры 43,2 тыс.
  • Создано
  • Последний ответ

Лучшие авторы в этой теме

Рекомендуемые ответы

*_* Как быстр... Слушай прекланяюсь перед ствоим гением... Спасибо огромнейшее... хотя прога не сработала даже с твоими советами... но главное компилируется... Прости еще один вопрос ты не знаешь литератру, которую я могу почитать, а то судя по той что я скачал -___- пример не работает. Нужна литература по VC++

 

 

Вот кстати ошибка : e:\program files\уроки\учимся3\учимся3\урок.cpp(4) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

 

оу честно не знаю что есть int но постави его перд функцией я заставил заработать програму... ток теперь как бы мне получить резульатт... т.е. все замечательно проверка сделана -___- а где мне посмотреть как оно работает.

 

 

Нашел где посмотреть ехе фаил... так но он выводит и сразу закрывается.... как остановить это. Ну т.е. что бы окно оставалось висеть с нужным тебе текстом

 

Ужас еще вопрос, как перейти на старый способ включения файлов ну <iostream.h>

Отредактировано от Nicholas D. Wolfwood (см. историю изменений)

[ACROSS]

[Кантри ритм] team

Повторяйте за мной... НАША ЗЕМЛЯ СОЗДАНА ИЗ ЛЮБВИ И МИРА ,V..

Какая сейчас есть обучающая литература по С++ не знаю, я очень давно с этим языком знакомился. В качестве "библии" в любом случае надо иметь - Бьерн Страуструп, "Язык С++", издание какое-нибудь из последних - но это скорее как справочник, а не как учебник.

 

Посмотри в магазинах учебники именно по С++, без привязки к какой-то определённой среде разработки. Если возникают сложности именно со Студией, то можно и по этой теме отдельную книжку купить, но как правило среду и без книжек постепенно осваиваешь по статьям из инета, по советам с форумов, там в общем то нет ничего сложного и даже методом "тык+хелп" можно освоить.

 

Вот тут - .

В разделе "Статьи/средства разработки/MS Visual Studio/Отладка" очень советую прочитать первые 4 статьи из подраздела "Использование отладчика в Visual C++". Можно даже не вникать поначалу, просто пробежаться, что бы уловить какие вообще возможности по отладке имеются.

Прямой линк на подраздел - [url="http://rsdn.ru/article/vcpp/vcdebug_.xml" target="_blank" rel="nofollow">http://rsdn.ru/article/vcpp/vcdebug_.xml .

 

---------------------------------

 

Что бы результат задержался на экране надо консоль чем-нибудь тормознуть, например ожиданием нажатия клавиши пользователем.

Для этого можно использовать метод getch().

 

Eсли видишь какой-нибудь незнакомый метод (например тот, что выше указан), то запускаешь MSDN, ищешь, выбираешь из найденного ту статью, которая соответствует твоему языку, читаешь статью и там всегда сказано в каком хидере находится данный метод. В данном случае надо подключить заголовочный файл conio.h.

 

Т.е. в итоге у тебя в программу добавится две строчки.

Перед main() - #include <conio.h>.

Перед 'return 0' появится строка - getch().

 

--------------------------------

 

Ужас еще вопрос, как перейти на старый способ включения файлов ну <iostream.h>

Такого файла в поставке Студии нет, есть просто 'iostream'.

Отредактировано от Рыб (см. историю изменений)

Спасибо за совет... во только понять не могу одно..

 

Вот деректива #Include вводит содержимое файла, что записано в треуголных скобках.

Почему iostream пишеться без h, а выше обозначеный conio с h ведь поидее это два файла и они должны одинаково вскрываться что то типа того.

 

Заранее благодарю

[ACROSS]

[Кантри ритм] team

Повторяйте за мной... НАША ЗЕМЛЯ СОЗДАНА ИЗ ЛЮБВИ И МИРА ,V..

Nicholas D. Wolfwood,

Для компилятора расширение файла не имеет ровным счётом никакого значения. Так сложилось исторически.

Странна, что же тогда такое iostream которому не нужно расширение и которое должно поидее быть файлом но им не является... почему в учебниках по С++ iosream записывается с расширением h.

 

И еще вопрос имеет ли смысл использовать тип данных int не заботясь о памяти или все же стоит все же пользоваться Short int и long int

Отредактировано от Nicholas D. Wolfwood (см. историю изменений)

[ACROSS]

[Кантри ритм] team

Повторяйте за мной... НАША ЗЕМЛЯ СОЗДАНА ИЗ ЛЮБВИ И МИРА ,V..

Странна, что же тогда такое iostream которому не нужно расширение и которое должно поидее быть файлом но им не является... почему в учебниках по С++ iosream записывается с расширением h.

Почему файлом не является? В каталоге установки студии лежит именно файл 'iostream'.

[url="http://www.progz.ru/forum/lofiversion/index.php/t28426.html" target="_blank" rel="nofollow">http://www.progz.ru/forum/lofiversion/index.php/t28426.html[/url]

Спойлер
По Стандарту C++ (ISO/IEC 14882, Standard for the C++ Programming Language) правильно использовать <iostream>. Тем не менее, большинство современных сред разработки всё же поддерживают <iostream.h>, который является deprecated (не рекомендованным).

 

Общая рекомендация проста: всегда используйте <iostream>, т.к. <iostream.h> официально не поддерживается и может пропасть в будущих версиях реализаций Standard C++ library. Более того, расширение .h для файлов Standard C++ library не используется уже почти 10 лет.

 

Вот основные отличия <iostream> от <iostream.h>:

1. <iostream> содержит щаблоны классы, которые поддерживают как обычные символы (char), так и "широкие" юникодные (wchar_t). <iostream.h> поддерживает только обычные символы.

2. Интерфейс <iostream> менялся с течением времени - в ходе естественного развития языка C++ и Standard C++ library. Интерфейс <iostream.h> остаётся неизменным уже давно.

3. Классы из <iostream> входят в пространство имён std, в то время как классы из <iostream.h> находятся в глобальном пространстве имён.

 

И еще вопрос имеет ли смысл использовать тип данных int не заботясь о памяти или все же стоит все же пользоваться Short int и long int

Вопрос непонятен ;).

Отредактировано от Рыб (см. историю изменений)

Эммм ну переменной можно задать тип данных int как я понял имеет 16 разрядов (-32 768 до 32 767 знаков) или 32(-2 147 483 до 2 147 483 647 знаков) и полностью повторяет

типы данных short int и long int, Но пишется короче и запутаться сложнее... так можно юзать только тип Int везде или к каждой переменной подходить нужно индивидуально продумывая ее размер.

[ACROSS]

[Кантри ритм] team

Повторяйте за мной... НАША ЗЕМЛЯ СОЗДАНА ИЗ ЛЮБВИ И МИРА ,V..

Nicholas D. Wolfwood, тип int зависит от системы и может иметь разный размер (int равен машинному слову). short int имеет 16 разрядов, long int 32 разряда, использовать short особого смысла обычно не имеет, ибо по умолчанию большинство компиляторов ради скорости выделяют под переменную машинное слово (32 бита для x86 и 64 для x86_64).

Отредактировано от niiro dzyaki (см. историю изменений)

[ Last Exile ] [ Моран жив! ] [ Fallout ] [ Админы ] [ Дядьки ] Teams [奇跡を信じて団 ]

Вопрос существует оператор приведения к типу static_cast

Хмм можете объяснить его значение в програмировании... я просто не совсем понимаю... зачем изменять тип переменных, когда он уже был допустим обозначен в функции

 

void FloatDiv(int x, int y)

{

float a = (float)x;

float b = static_cast<float>(y);

float c = a/b;

cout << "c: " << c << "\n";

}

[ACROSS]

[Кантри ритм] team

Повторяйте за мной... НАША ЗЕМЛЯ СОЗДАНА ИЗ ЛЮБВИ И МИРА ,V..

Приведение типов достаточно широко применяется. Например приведение указателя на базовый класс к указателю на производный и обратно. Операции с void*.

 

P.S.: столкнёшься на практике, станет очевидно.

Отредактировано от Рыб (см. историю изменений)

Nicholas D. Wolfwood,

Я, поскольку ответил на конкретный вопрос про расширение, - имел в виду только то, что если переименовать iostream в, скажем, xxx.nnn то хуже работать он от этого не станет, просто в программах придётся писать #include <xxx.nnn>. Переименовали его потому что им так захотелось в связи с развитием языка и появлением стандарта, в котором про просто iostream.h ничего не сказано. Поэтому в том же, например, VS.NET (до 2005) при попытке использовать "старый" iostream.h выдавалось предупреждение о том, что в последующих версиях его может и не быть, так что, мол, пишите сразу правильно. Потом они просто выполнили своё обещание.

 

Насчёт приведения типов... Я думаю лучше будет понятно, если посмотреть на другие языки. Например, на PHP с его нестрогой типизацией. В нём хотя в принципе есть разница между типами данных, но можно спокойно присваивать одной и той же переменной данные разных типов. Например, в C/C++ не получится написать $a = 'текст'; $a = 324234, а там это в порядке вещей. Мало того, с переменными можно делать всё что угодно независимо от их типов. Можно сложить, умножить, разделить текст на число, склеить их и наоборот. C++ же язык с более строгой типизацией. Поэтому если у нас есть две переменные разных типов, то даже если физически они представлены одним и тем же числом байт, - мы можем выполнять операции только между одинаковыми типами. Ну или в случае с перегруженными операторами - только с заданными нами. Более того, если мы складываем, скажем int с int'ом и int со float'ом, что всё же допустимо в языке, то на самом деле это две совершенно разных операции (там происходит неявное преобразование типа). Явное приведение типов нужно тогда, когда мы точно уверены, что нам нужно выполнить операцию над разными типами и это не ошибка. Или когда нас крайне сильно интересует, чтобы данные были преобразованы в нужный нам тип до какой-то операции.

В приведённом тобой примере функция получает на входе целочисленные переменные, а выводит результат деления чисел с плавающей запятой. Если бы мы просто написали int a = 3; int b = 2; float c = a / b, то на самом деле деление чисел a и b было бы целочисленным. Т.е. мы получили бы ответ вовсе не 1.5, а 1 из-за округления.

Для чего конкретно static_cast'ы не помню, не юзал.

  • 2 недель позже...

Небольшой вопрос по с++.

Очень часто встречающаяся задача - перегон строки в число. При этом требуется проверка, возможен ли такой перегон в принципе. Для проверки на соответствие int мну нарыл функцию atoi(char*), которая, ежели верить хелпам, возвращает 0 когда преобразование в int невозможно. Вставил, попробовал - затыкается на дробных значениях. Например, 3.6 в инт не переделать, но проверку atoi почему-то проходит. Это глюк, или так и должно быть?

Если долго всматриваться в бездну, можно неплохо провести время.

У меня преобразование при помощи atoi работает как и заявлено в документации.

atoi("3.6") = 3

atoi("-3.6") = 3

atoi("zzz") = 0

atoi("3") = 3

Отредактировано от Рыб (см. историю изменений)

Рыб, всё, уже разобрался, я и составители хелпа не поняли друг друга. Функция возвращает не ноль, если может хоть какой-то кусок в начале перегнать в инт. Я искал функцию, которая всю строку анализирует. Есть ли такая в стандартном наборе?

ЗЫ Кстати, у меня atoi("-3.6") = -3

Отредактировано от Shinsaku-To (см. историю изменений)

Если долго всматриваться в бездну, можно неплохо провести время.

Рыб, всё, уже разобрался, я и составители хелпа не поняли друг друга. Функция возвращает не ноль, если может хоть какой-то кусок в начале перегнать в инт. Я искал функцию, которая всю строку анализирует. Есть ли такая в стандартном наборе?

Не знаю, всегда больная тема с этими преобразованиями была. В особо критичных случаях реализовывал своими силами, особенно что касается перевода даты в строку и обратно в независимости от локали.

 

ЗЫ Кстати, у меня atoi("-3.6") = -3

Ага, опечатка ).

Рыб, спасибо, понятно. Ладно, напишу. Пора уже собственные прибамбасы про запас копить, можно и с такого начать =)

Если долго всматриваться в бездну, можно неплохо провести время.

Shinsaku-To, попробуйте еще копнуть strtol(), strtoul(), strtod() и подобные. Очень хорошие функции, много лучше семейства atoi(). Правда не знаю, обитают ли они в виндовых библиотеках

смертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмер

тьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсм

ертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмерть

смертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмер

  • 1 месяц позже...

Arion Telvanni, круто берёшь )) Без глубоких познаний в низкоуровневом программировании (или даже машинном коде), взаимодействии с системой, лексическом, синтаксическом анализе и прочих прелестей, имхо, никак. Хотя у самого у меня части таких знаний пока нету, возможно, всё проще, чем кажется.

А зачем тебе такое, если не секрет?

 

Вот пояндексил немножко и нашёл такое: [url="http://pascal.sources.ru/parsing/compl1.htm" target="_blank" rel="nofollow">http://pascal.sources.ru/parsing/compl1.htm[/url]

Отредактировано от Shinsaku-To (см. историю изменений)

Если долго всматриваться в бездну, можно неплохо провести время.

Небольшой вопрос.. кто-нить знает как писать компилятор? спс((
Для начала нужно определиться с тем, для какого языка компилятор. Накатать (или каким другим образом найти) документацию на него. Затем пишется фронтенд - странное нечто, которое преобразовывает принятый внутрь текст на данном языке программирования в некую структуру в памяти. В общем случае это граф. Затем этот граф может быть оптимизирован. И вот тут как раз без особенностей машинной архитектуры далеко не уедешь. Потом пишется бэкэнд - не менее странное нечто, перегоняющее полученную структуру в ассемблер для выбранной машины. Затем полученный ассемблерный код прогоняется через собственно ассемблер и получается (может быть) исполняемый (и исполнимый) файл.

 

На самом деле это не так уж и сложно, если не заниматься оптимизацией и не пытаться сразу реализовать кучу фич. Где-то на свежем мясе видел C-компилятор, написанный одним человеком. Он, конечно же, не полностью соответствует стандарту.

 

Вообще же при разработке языка сначала пишется транслятор, а не компилятор.

 

UPD И парочка мизерных C-компиляторов, для указания пути истинного

TCC -

NWCC - [url="http://nwcc.sourceforge.net/download.html" target="_blank" rel="nofollow">http://nwcc.sourceforge.net/download.html

Отредактировано от Le_0 (см. историю изменений)

смертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмер

тьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсм

ертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмерть

смертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмертьсмер

  • 4 месяцев позже...

Помогите нупке в Паскале: мне нужно, чтобы в текстовом режиме можно было подцепить обьект мышью и таскать его по экрану.

В паскале я стремлюсь к нулю, посему нашёл статью, в статье мышь расписана только для модуля Graph.

 

Собсно я в панике. Подскажите плз статью, где можно почитать об использовании мыши в текстовом режиме. Или, если не лень подскажите, как оно делается.

Some folks inherit star spangled eyes

Ooh, they send you down to war, Lord

And when you ask them, "How much should we give?"

Ooh, they only answer More! more! more! y'all

MuseHunter, в двух словах не расскажешь. Ищите в гугле доки по Turbo Vision или на callback int 33h свое вешайте (с этим тоже к гуглю, искать SetMouseHandler ).
[ Last Exile ] [ Моран жив! ] [ Fallout ] [ Админы ] [ Дядьки ] Teams [奇跡を信じて団 ]

Присоединяйтесь к обсуждению

Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, войдите сейчас, чтобы публиковать с вашего аккаунта.
Примечание: Ваш пост требует одобрения модератора перед публикацией.

Гость
Ответить на эту тему...

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу.

Важная информация

Аккаунт

Навигация

Поиск

Настроить push-уведомления в браузере

Chrome (Android)
  1. Нажмите на значок замка рядом с адресной строкой.
  2. Выберите Разрешения → Уведомления.
  3. Настройте предпочтения.
Chrome (Desktop)
  1. Нажмите на значок замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите пункт Уведомления и настройте параметры по своему усмотрению.