Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 15.06.2021
Сообщений: 174

Перешёл с Lafore на Стенли Б. Липпмана

21.06.2021, 20:07. Показов 1908. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И сразу же проблемы. Первое задание - создать функцию main (){return 0}.

Второе задание - main (){return -1}, мол, увидите, как компилятор реагирует на сообщение об ошибке.
А никак не реагирует. Я усложнил задачу, ввёл решение простого примера. Пример решает правильно, на сообщение об ошибке никакой видимой реакции.

Что я упустил? В чём урок?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.06.2021, 20:07
Ответы с готовыми решениями:

Выполняя задания из книги Стенли Липпмана допустил ошибку. Не могу понять где.
Выполняя задания из книги Стенли Липпмана не могу понять где ошибка в коде с оператором While /*#include<iostream> using...

Найти причины и способы исправления ошибки "C1083: Не удается открыть файл включение" (книга Стенли Липпмана)
скачал язык программирования с++ базовый курс 5 издание липман. куда устанавливать файлы которые я скачал с этого...

Где взять файл Sales_item.h для книги Стенли Липпмана "C++ для начинающих"
Всем привет! Изучая классы по книге Стенли Липпмана "с++ для начинающих", столкнулся с такой проблемой - где взят файл Sales_item.h? Там...

9
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13200 / 6835 / 1822
Регистрация: 18.10.2014
Сообщений: 17,293
21.06.2021, 20:28
Цитата Сообщение от Walex Посмотреть сообщение
Перешёл с Lafore на Стенли Б. Липпмана
О какой именно книге идет речь?

Цитата Сообщение от Walex Посмотреть сообщение
создать функцию main (){return 0}.
Это в книге Липпмана вы увидели объявление функции main без указания типа возвращаемого значения?

Цитата Сообщение от Walex Посмотреть сообщение
Второе задание - main (){return -1}, мол, увидите, как компилятор реагирует на сообщение об ошибке.
О каком месте в книге идет речь?

Цитата Сообщение от Walex Посмотреть сообщение
А никак не реагирует.
Без указания типа возвращаемого значения? Без ; в конце return-statement? Что это за компилятор такой?
0
0 / 0 / 0
Регистрация: 15.06.2021
Сообщений: 174
21.06.2021, 20:36  [ТС]
Липпман 5 переиздание от 2012 года.
стр 20.
Упражнение 1.2. Измените код программы так, чтобы функция
main() возвращала значение -1. Возвращение значения -1 зачастую
свидетельствует о сбое при выполнении программы. Перекомпилируйте и
повторно запустите программу, чтобы увидеть, как используемая
операционная система реагирует на свидетельство об отказе функции
main().

Разумеется, было написано: int main (){return 0;}.

Добавлено через 3 минуты
#include <iostream>
using namespace std;
int main()
{
int s = 1;
++s;
cout << s;
return -1;
}
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13200 / 6835 / 1822
Регистрация: 18.10.2014
Сообщений: 17,293
21.06.2021, 20:37
Цитата Сообщение от Walex Посмотреть сообщение
Липпман 5 переиздание от 2012 года.
Как книга называется???

Цитата Сообщение от Walex Посмотреть сообщение
Возвращение значения -1 зачастую
свидетельствует о сбое при выполнении программы. Перекомпилируйте и
повторно запустите программу, чтобы увидеть, как используемая
операционная система реагирует на свидетельство об отказе функции
main().
Не понял. Здесь написано: "как используемая операционная система реагирует...". В исходном сообщении вы нам рассказывали про "мол, увидите, как компилятор реагирует на сообщение об ошибке."

Почему в исходном сообщении вы нам рассказывали про реакцию компилятора, если в книге ясно написано про реакцию операционной системы?
1
0 / 0 / 0
Регистрация: 15.06.2021
Сообщений: 174
21.06.2021, 20:52  [ТС]
То, что ясно для вас, не ясно мне. Я только начал учить язык.
1) В чём разница между компилятором и операционной системой? Разве компилятор не часть её?
2) Хорошо, задам вопрос по другому: как операционная система должна была реагировать, и где я должен был увидеть это, как не в компиляторе?

Добавлено через 8 минут
Книга называется:" Пятое издание
Язык программирования C++
Базовый курс
Стенли Б. Липпман
Жози Лажойе
Барбара Э.Му"
0
 Аватар для ПерС
587 / 490 / 371
Регистрация: 05.11.2013
Сообщений: 1,271
Записей в блоге: 6
21.06.2021, 21:04
Цитата Сообщение от Walex Посмотреть сообщение
как используемая
операционная система реагирует на свидетельство об отказе функции
А как должна была? Вы проверяли, что возвращает main в ОС?
Вот, реагирует на скрине
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
21.06.2021, 21:27
Walex,
Цитата Сообщение от Walex Посмотреть сообщение
Разве компилятор не часть её?
Нет.

Цитата Сообщение от Walex Посмотреть сообщение
и где я должен был увидеть это, как не в компиляторе?
В командной строке, в данном случае. Вы же пишете консольное приложение. Вот в консоли и надо смотреть реакцию.

Каким компилятором вы пользуетесь?

Добавлено через 18 минут
Цитата Сообщение от Walex Посмотреть сообщение
Я только начал учить язык.
Тут как бы есть нюанс.
Обычно перед изучением языка программирования нужно пройти хотя бы минимальный курс информатики. Из чего состоит компьютер, что такое операционная система, как пользоваться командной строкой, что такое компилятор - это все в этом курсе.
Насколько знаю, это все в том или ином виде есть в школьной программе.
Если по какой-либо причине у вас этих знаний нет, или они неполные, перед началом чтения любого учебника по языку программирования, нужно хотя бы бегло ознакомиться с "нулевым" уровнем.

Думаю, можно найти учебник, в котором в первых главах есть нужные сведения, но поверьте, это закономерно сказывается на качестве материала. В тех книгах, где автор пытается охватить вообще все, вставляет туда и историю ЭВМ, и основы работы с ПК, и, например, работу в интернете, остается очень мало места для собственно языка программирования. В итоге материл дается по верхам (иначе книга получилась бы на 5000 страниц), что ничего хорошего для изучения не несет.
0
0 / 0 / 0
Регистрация: 15.06.2021
Сообщений: 174
21.06.2021, 21:54  [ТС]
Вероятно, да, нужно. Но командной строки я не вижу, так как выхожу в программу через Visual Studio. Поэтому я общаюсь непосредственно с компилятором.
Оценить необходимость тех или иных знаний (а их бесконечно много, утонуть можно), можно только упираясь в проблему.
Если можно, посоветуйте нужную книгу (а лучше - статью), где бы коротко и самую суть.
А пока что я вижу, что компилятор работает нормально. Он делает то, что мне нужно, даже если идёт возврат ошибки. Вы, покуда я не получил знаний по операционной системе, можете на пальцах объяснить, что даёт возврат в систему сообщения об ошибке?
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
21.06.2021, 23:42
Цитата Сообщение от Walex Посмотреть сообщение
через Visual Studio
Запускайте через F5. Увидите вот это:


Цитата Сообщение от Walex Посмотреть сообщение
что даёт возврат в систему сообщения об ошибке?
Другие программы могут его анализировать и как-то использовать.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
22.06.2021, 00:03
Лучший ответ Сообщение было отмечено Walex как решение

Решение

Цитата Сообщение от Walex Посмотреть сообщение
А пока что я вижу, что компилятор работает нормально
Компилятор отвечает только за компиляцию. Т.е. только за то, что относится к непосредственно языку.
А то, что смотрите вы, - это уже этап выполнения программы. За это отвечает среда исполнения. В данном случае эту среду контролирует IDE. IDE (Visual Sudio) - это не компилятор, компилятор - это только ее часть.

Цитата Сообщение от Walex Посмотреть сообщение
Он делает то, что мне нужно, даже если идёт возврат ошибки.
"Возврат ошибки" - это часть логики программы. Т.е. в данном случае важно то, что произойдет после того, как ваша программа отработает.
Допустим вы написали программу, которая копирует один файл. Ваша программа открывает файл по заданному пути и пытается скопировать его в указанный каталог. На протяжении этих действий могут возникнуть разнообразные ошибки. Например заданного файла может не оказаться на диске, путь некорректный или нет прав на чтение. Это - ошибки исполнения программы. Естественно, если эта ситуация произошла, то программа дальше работать не может. Что она может? Уведомить пользователя о том, что произошла ошибка соответствующим сообщением, а затем корректно завершить работу.
Допустим эта ваша программа копирования файлов участвует в скрипте командной строки (скрипт может быть написан вами или другим пользователем, который имеет в распоряжении вашу программу). Скрипт получает список файлов и затем для каждого из них выполняет копирование. Как скрипт узнает, что копирование выполнено успешно? Он может анализировать код возврата каждого из вызовов вашей программы и что-то с этим сделать. Для того, чтобы это стало возможным, вы можете написать программу копирования файлов так, что в случае возникновения ошибки, помимо вывода информационного сообщения, был также предусмотрен возврат соответствующего кода при завершении программы. Какие это будут коды, и сколько из них будут означать ошибку - определяете вы сами, и, например, указываете в справке к вашей программе. Т.е. это всего лишь соглашение, определение правил которого оставлено за вами.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.06.2021, 00:03
Помогаю со студенческими работами здесь

Тонкости из учебника Lafore
Вот задача из учебника (Ниже вопросов). Разъясните мне, пожалуйста, кто-нибудь следующие моменты: 1)в операции преобразования...

Учебник Lafore. Обыкновенные дроби
Привет всем! Учу c++ по книги Lafore, ( раньше учился по Липман, но здесь посоветовали Lafore, оказался намного проще) ну дак вот есть...

Ошибки компиляции примера из учебника Lafore
Перенёс решённую в учебнике задачу в компилятор, он мне выдаёт ошибки. И уже не в первый раз. Жалко бросать этот учебник(Lafore), но как...

Стенли Липман - С++ Класс Sales_item.h
сама программа #include &lt;iostream&gt; #include &quot;Sales_item.h&quot; using namespace std; int main() { Sales_item book; cin...

Стенли Липман, С++, файл Sales_item.h
Работаю в среде программирования Сode Blocks. Читая книгу Стенли Липмана, я наткнулся на упражнение в разделе 1.5.1. Там объяснялось про...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru