Форум программистов, компьютерный форум CyberForum.ru

Возврат из функции int main() в С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обращение из своей проги к контролу в MSOffice http://www.cyberforum.ru/cpp-beginners/thread160028.html
Доброго времени суток, уважаемые гуру. У меня такая задача. Мне необходимо в окне Открытия/Сохранения файлов Excel обратится к полю "Имя файла" (на скриншоте обозначен цифрой 5), а именно присвоить ему текстовое значение и затем программно нажать на кнопку Открыть. Я нахожу этот диалог и потом получаю хендл каждого контрола командой FindWindowEx (их всего 6). Смотрю я утилитой Spy++...
C++ Алгоритм Дейкстры Написал программу, проверил код, в MVS6 С++ компилируется без ошибок. Но вот не задача, программа рушиться(не выполняется) при количестве точек больше 6. Задача реализует алгоритм Дейкстер, начиная с первой точки прокладывает самый кратчайший путь так что были задействованы все точки по одному разу. Массив С в результате содержит последовательность точек. #include <iostream.h> #include <math.h>... http://www.cyberforum.ru/cpp-beginners/thread159975.html
Добавление сортировки C++
дана задача, основное написанно но нет сортировки... Разработать программу формирования ведомости об успеваемости студентов. Каждая запись этой ведомости должна содержать: номер группы, Ф.И.О. сту-дента, оценки за последнюю сессию. Вывести списки студентов по группам. В каждой группе Ф.И.О. студентов должны быть расположены в порядке убыва-ния среднего балла.помогите плиз...подскажите.. ...
C++ решить для программистов очень простая!
Камни. Создать класс «Драгоценный камень». Подобрать камни для ожерелья. Посчитать общий вес (в каратах) и стоимость. ТРЕБОВАНИЯ. 1. Приложение должно быть написано на любом из языков: С++, С# или Java. 2. Использовать только стандартные компиляторы и библиотеки. 3. При кодировании должны быть использованы соглашения об оформлении кода для соответствующего языка – code convention....
C++ Максимальный элемент матрицы с использованием потоков http://www.cyberforum.ru/cpp-beginners/thread159769.html
#include "stdafx.h" #include <Windows.h> #include <iostream> #include <conio.h> using namespace std; int *Mas; struct ParamData{ int id;
C++ Последовательная запись массива в .gz архив Имеется спосок товаров ввиде массива. Элементы массива перебираю в цикле for и далее необходимо сразу записывать в gzip архив. Нашел вродебы подходящую функцию в библиотеке zlib, к сожалению в инете и здесь на форуме примеров вообще нет, есть только простое описание: int gzwrite (gzFile file, const voidp buf, unsigned len); Записывает переданное количество байт несжатых данных в компресованный... подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
19.08.2010, 12:49     Возврат из функции int main() в С++
Цитата Сообщение от Mr.X Посмотреть сообщение
Не вижу тут противоречия. Почему бы функции void main() втихаря от пользователя не вернуть системе этот ноль, если он ей так нужен. Мне кажется, что это будет меньшим издевательством над здравым смыслом, чем int main() без ретурна.
Это хорошо, когда программа удачно завершилась. А если при выполнении ошибка случилась? Файл не открылся, соединение с чем-нибудь не установилось, etc... Это для простоты мы тут в случае ошибки всегда 1 возвращаем. А если всё по-взрослому делать, так надо ещё и соответствующий код ошибки возвращать. В *NIX системах есть файл /usr/include/sysexits.h примерно такого содержания:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/*
 * Copyright (c) 1987, 1993
 *      The Regents of the University of California.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *      This product includes software developed by the University of
 *      California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 *      @(#)sysexits.h  8.1 (Berkeley) 6/2/93
 */
 
#ifndef _SYSEXITS_H_
#define _SYSEXITS_H_
 
/*
 *  SYSEXITS.H -- Exit status codes for system programs.
 *
 *      This include file attempts to categorize possible error
 *      exit statuses for system programs, notably delivermail
 *      and the Berkeley network.
 *
 *      Error numbers begin at EX__BASE to reduce the possibility of
 *      clashing with other exit statuses that random programs may
 *      already return.  The meaning of the codes is approximately
 *      as follows:
 *
 *      EX_USAGE -- The command was used incorrectly, e.g., with
 *              the wrong number of arguments, a bad flag, a bad
 *              syntax in a parameter, or whatever.
 *      EX_DATAERR -- The input data was incorrect in some way.
 *              This should only be used for user's data & not
 *              system files.
 *      EX_NOINPUT -- An input file (not a system file) did not
 *              exist or was not readable.  This could also include
 *              errors like "No message" to a mailer (if it cared
 *              to catch it).
 *      EX_NOUSER -- The user specified did not exist.  This might
 *              be used for mail addresses or remote logins.
 *      EX_NOHOST -- The host specified did not exist.  This is used
 *              in mail addresses or network requests.
 *      EX_UNAVAILABLE -- A service is unavailable.  This can occur
 *              if a support program or file does not exist.  This
 *              can also be used as a catchall message when something
 *              you wanted to do doesn't work, but you don't know
 *              why.
 *      EX_SOFTWARE -- An internal software error has been detected.
 *              This should be limited to non-operating system related
 *              errors as possible.
 *      EX_OSERR -- An operating system error has been detected.
 *              This is intended to be used for such things as "cannot
 *              fork", "cannot create pipe", or the like.  It includes
 *              things like getuid returning a user that does not
 *              exist in the passwd file.
 *      EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp,
 *              etc.) does not exist, cannot be opened, or has some
 *              sort of error (e.g., syntax error).
 *      EX_CANTCREAT -- A (user specified) output file cannot be
 *              created.
 *      EX_IOERR -- An error occurred while doing I/O on some file.
 *      EX_TEMPFAIL -- temporary failure, indicating something that
 *              is not really an error.  In sendmail, this means
 *              that a mailer (e.g.) could not create a connection,
 *              and the request should be reattempted later.
 *      EX_PROTOCOL -- the remote system returned something that
 *              was "not possible" during a protocol exchange.
 *      EX_NOPERM -- You did not have sufficient permission to
 *              perform the operation.  This is not intended for
 *              file system problems, which should use NOINPUT or
 *              CANTCREAT, but rather for higher level permissions.
 */
 
#define EX_OK           0       /* successful termination */
 
#define EX__BASE        64      /* base value for error messages */
 
#define EX_USAGE        64      /* command line usage error */
#define EX_DATAERR      65      /* data format error */
#define EX_NOINPUT      66      /* cannot open input */
#define EX_NOUSER       67      /* addressee unknown */
#define EX_NOHOST       68      /* host name unknown */
#define EX_UNAVAILABLE  69      /* service unavailable */
#define EX_SOFTWARE     70      /* internal software error */
#define EX_OSERR        71      /* system error (e.g., can't fork) */
#define EX_OSFILE       72      /* critical OS file missing */
#define EX_CANTCREAT    73      /* can't create (user) output file */
#define EX_IOERR        74      /* input/output error */
#define EX_TEMPFAIL     75      /* temp failure; user is invited to retry */
#define EX_PROTOCOL     76      /* remote error in protocol */
#define EX_NOPERM       77      /* permission denied */
#define EX_CONFIG       78      /* configuration error */
 
#define EX__MAX 78      /* maximum listed value */
 
#endif /* !_SYSEXITS_H_ */
В винде всё ещё запущеннее - в MSDN поищите про коды завершения программы...
И вот как всё это завернуть в программу, которая системе всегда 0 возвращает?
 
Текущее время: 01:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru