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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Остановка программы, Borland C++ 3.1 
:(
    Опции темы
InfMag
Дата 28.2.2005, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


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

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



Люди, я юзаю досовскую BC. Как мне остановить программу в конце, чтобы она сразу же не закрывалась...

И еще вопросик не в тему: smile
Расскажите в полной мере о работе с файлами...
PM   Вверх
_hunter
Дата 28.2.2005, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



поставь в конце getch()
+ что именно тебя интересует ( чего нет в справке ( и на форуме ) )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
InfMag
Дата 28.2.2005, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


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

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



_hunter
Неа, не останавливает...
Пишу:
Код

#include <c:\bc\inc\iostream.h>
int sum(int a, int b) {
   return a+b;
}
void main() {
    cout<<sum(3,5);
}
getch();

Добавлено @ 18:13
В инклуд че-нить нада писать?
PM   Вверх
_hunter
Дата 28.2.2005, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



Цитата
В инклуд че-нить нада писать?

это зависит от того, что тебе линкер говорит ( если говорит )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
InfMag
Дата 28.2.2005, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


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

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



В окошке Messages:
Compiling BLA.CPP
Linking BLA.EXE
Я не понимаю, что именно и где? smile
PM   Вверх
_hunter
Дата 28.2.2005, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



если ошибок нет -- все ок


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Fixin
Дата 28.2.2005, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

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



getch() - обычно в <conio.h>. А почему не останавливает? Попробуй два раза поставить. Может не перекомпилил по-новой?
PM MAIL ICQ   Вверх
Doc_d0s
Дата 28.2.2005, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Код

[quote]
#include <c:\bc\inc\iostream.h>
int sum(int a, int b) {
   return a+b;
}
void main() {
    cout<<sum(3,5);
}
getch();[/quote]

ты getch(); не туда вставил надо так:
Код

#include <iostream.h>
int sum(int a, int b) {
   return a+b;
}
void main() {
    cout<<sum(3,5);
    getch();
}
smile
--------------------
Админ- это вождь Apache'й :)
PM MAIL ICQ   Вверх
Fixin
Дата 28.2.2005, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

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



Да уж. Надо быть внимательнее.
PM MAIL ICQ   Вверх
InfMag
Дата 28.2.2005, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


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

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



Doc_d0s
Сенкс, помогло...
А что вобще означает void? Я разве не могу ниче писать без него. Это мол процесс программы по частям?
То-бишь как в паскале
begin и end. с точкой?
PM   Вверх
_hunter
Дата 28.2.2005, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



void обозначает что функция не ожидает / не возвращает значения ( при чем тут оно -- не понятно )

весь код выполняемый код должен находится в пределах функции MAIN. за ее пределами -- реализация функций


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
chipset
Дата 28.2.2005, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

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



Цитата(InfMag @ 28.2.2005, 08:18)
А что вобще означает void?

В переводе с английского "пустой". Т.е. как сказал _hunter, функция не должна и не может ничего вернуть вызывающей программе (в данном случае, ОС).
Вообще-то, gcc будет ругаться на обьявление "void main()", но это не очень важно smile
Цитата(InfMag @ 28.2.2005, 08:18)
Я разве не могу ниче писать без него. Это мол процесс программы по частям?
То-бишь как в паскале
begin и end. с точкой?

Операционная система, когда запускает программу вызывает стартовую функцию, т.н. "точку входа". В Си, если я не ошибаюсь, этой точкой входа по умолчанию является функция main.

Это сообщение отредактировал(а) chipset - 28.2.2005, 19:29


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
InfMag
Дата 28.2.2005, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


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

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



Теперь понял...
PM   Вверх
Neitron
Дата 9.11.2005, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



chipset
Гулял тут по рейтингам пользователей. Наткнулся на эту тему.
И не мог промолчать.
Абсалютно не согласен с этим
Цитата
Операционная система, когда запускает программу вызывает стартовую функцию, т.н. "точку входа". В Си, если я не ошибаюсь, этой точкой входа по умолчанию является функция main.

Вранье!
На самом деле входная функция операционной системой не вызывается Вместо этого происходит обращение к старювой функции из библиотеки С/С++ Она ини циализирует библиотеку С/С++, чтобы можно было вызывать такие функции, как malloc и free, а также обеспечивает корректное создание любых объявленных Вами глобальных и статических С++-объектов до того, как начнется выполнение Вашего кода В следующей таблице показано, в каких случаях реализуются те или иные вход ные функции.

Все стартовые функции из библиотеки С/С++ делают практически одно и то же. Разница лишь в том, какие строки они обрабатывают (в ANSI или Unicode) и какую входную функцию вызывают после инициализации библиотеки. Кстати, с Visual C++ поставляется исходный код этой библиотеки, и стартовые функции находятся в фай ле CRt0.c. А теперь рассмотрим, какие операции они выполняют:

считывают указатель на полную командную строку нового процесса;
считывают указатель на переменные окружения нового процесса;
инициализируют глобальные переменные из библиотеки С/С++, доступ к ко торым из Вашего кода обеспечивается включением файла StdLib.h. Список этих переменных приведен в таблице 4-1;
инициализируют кучу (динамически распределяемую область памяти), исполь зуемую С-функциями выделения памяти (т. с. malloc и calloc} и другими про цедурами низкоуровневого ввода-вывода;
вызывают конструкторы всех глобальных и статических объектов С++-классов.
Закончив эти операции, стартовая функция обращается к входной функции в Вашей программе. Если Вы написали ее в виде WinMain, то она вызывается так:
Код

GetStartupInfo(&StartupInfo); 

int nMainReLVal = WinMain(GetModuleHandle(NULL), NULL, pszCommandLineANSI, (StartupInfo.dwFlags & STARTF_USESHOWWINDOW) ? Startupinfo.wShowWindow , SW_SHOWDEFAULT); 

И, наконец, то же самое для функций main.
Код

 int nMainRetVal = main(_argc, __argv, _environ);

Когда Ваша входняя функция возвращает управление, стартовая обращается к функции exit библиотеки С/С++ и передает ей значение nMainRetVal.

Это сообщение отредактировал(а) Neitron - 9.11.2005, 15:16


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
Exekutor
Дата 10.11.2005, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Что-бы программа не закрывалась сразу я, обычно, ставил в конце cin << a к примеру; (в main)


--------------------
[color=blue][size=2]En taro addun, ma sol larinas[/size][/color]
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
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.0559 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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