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

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

21.06.2021, 20:07. Показов 1841. Ответов 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
12925 / 6793 / 1819
Регистрация: 18.10.2014
Сообщений: 17,190
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
12925 / 6793 / 1819
Регистрация: 18.10.2014
Сообщений: 17,190
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
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
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
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
21.06.2021, 23:42
Цитата Сообщение от Walex Посмотреть сообщение
через Visual Studio
Запускайте через F5. Увидите вот это:


Цитата Сообщение от Walex Посмотреть сообщение
что даёт возврат в систему сообщения об ошибке?
Другие программы могут его анализировать и как-то использовать.
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru